Licence MITvignette La licence MIT est une licence de logiciel pour logiciels libres et open source, provenant de l'Institut de technologie du Massachusetts (MIT) à la fin des années 1980. Cette licence de logiciel permissive implique très peu de limitations sur la réutilisation du code et elle est ainsi compatible avec de nombreuses autres licences. Le terme « licence MIT » est ambigu, puisque le MIT a utilisé des licences différentes, et le texte exact peut varier selon les publications (Free Software Foundation, Open Source Initiative).
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Formule propositionnelleEn logique mathématique une proposition, ou formule propositionnelle, ou expression propositionnelle est une expression construite à partir de connecteurs et de variables propositionnelles. En logique propositionnelle classique, une formule propositionnelle, ou expression propositionnelle, est une formule bien formée qui possède une valeur de vérité. Si les valeurs de toutes les variables propositionnelles dans une formule propositionnelle sont données, une unique valeur de vérité peut être déterminée.
Calcul des propositionsLe calcul des propositions ou calcul propositionnel, (ou encore logique des propositions) fait partie de la logique mathématique. Il a pour objet l'étude des relations logiques entre « propositions » et définit les lois formelles selon lesquelles les propositions complexes sont formées en assemblant des propositions simples au moyen des connecteurs logiques et celles-ci sont enchaînées pour produire des raisonnements valides. Il est un des systèmes formels, piliers de la logique mathématique dont il aide à la formulation des concepts.
X.OrgX.Org est un serveur X libre issu d'un fork de XFree86 en à la suite d'un désaccord sur le changement de licence de XFree86. Il fonctionne avec la plupart des systèmes d'exploitation de type UNIX (GNU/Linux, dérivés de BSD, Solaris, etc.), mais aussi avec Microsoft Windows via Cygwin. Du fait de sa licence, il connaît une grande popularité au sein de la communauté du logiciel libre où il a remplacé XFree86. La gouvernance du projet est assurée par la fondation X.
OpenOffice.orgOpenOffice.org (surnommé « projet OOo ») est un projet né le à l'initiative de Sun Microsystems en vue de produire une suite bureautique libre et gratuite fondée sur StarOffice. Le produit résultant est diffusé sous le même nom et sous plusieurs licences (la LGPL et, jusqu’à la version 2.0 beta 2 incluse, la SISSL), et fonctionne sur plusieurs plateformes dont Windows, de nombreux Unix (Linux, Solaris), ou Apple Mac OS X. La première version d'OpenOffice est lancée le 1er mai 2002.
Logique de HoareLa logique de Hoare, parfois appelée logique de Floyd-Hoare, est une méthode formelle définie par le chercheur en informatique britannique Tony Hoare dans un article de 1969 intitulé An Axiomatic Basis for Computer Programming. La méthode de Hoare met en place un formalisme logique permettant de raisonner sur la correction des programmes informatiques. Elle est fondée sur la syntaxe en ce sens que la correction d'un programme est décrite et démontrée par induction (récurrence) sur la structure du programme : à chaque règle syntaxique de construction d'un programme correspond une règle de la logique de Hoare.
Licence publique générale GNULa licence publique générale GNU, ou GNU General Public License (son seul nom officiel en anglais, communément abrégé GNU GPL, voire simplement « GPL »), est une licence qui fixe les conditions légales de distribution d'un logiciel libre du projet GNU. Richard Stallman, président et fondateur de la Free Software Foundation en est l'auteur. Sa dernière version est la « GNU GPL version 3 » publiée le avec le concours juridique d'Eben Moglen.
Vérification formelleIn the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
C (langage)C est un langage de programmation impératif, généraliste et de bas niveau. Inventé au début des années 1970 pour réécrire Unix, C est devenu un des langages les plus utilisés, encore de nos jours. De nombreux langages plus modernes comme C++, C#, Java et PHP ou JavaScript ont repris une syntaxe similaire au C et reprennent en partie sa logique. C offre au développeur une marge de contrôle importante sur la machine (notamment sur la gestion de la mémoire) et est de ce fait utilisé pour réaliser les « fondations » (compilateurs, interpréteurs.
Array (data type)In computer science, array is a data type that represents a collection of elements (values or variables), each selected by one or more indices (identifying keys) that can be computed at run time during program execution. Such a collection is usually called an array variable or array value. By analogy with the mathematical concepts vector and matrix, array types with one and two indices are often called vector type and matrix type, respectively. More generally, a multidimensional array type can be called a tensor type, by analogy with the physical concept, tensor.
Connecteur logiqueEn logique, un connecteur logique est un opérateur booléen utilisé dans le calcul des propositions. Comme dans toute approche logique, il faut distinguer un aspect syntaxique et un aspect sémantique. D'un point de vue syntaxique, les connecteurs sont des opérateurs dans un langage formel pour lesquels un certain nombre de règles définissent leur usage, au besoin complétées par une sémantique. Si l'on se place dans la logique classique, l'interprétation des variables se fait dans les booléens ou dans une extension multivalente de ceux-ci.
Liste de licences libresCet article est une liste de licences libres. Les quatre libertés mentionnées dans le tableau sont : La liberté d'utiliser le logiciel ; La liberté d'étudier le logiciel ; La liberté de copier le logiciel ; La liberté de modifier le logiciel et de redistribuer les versions modifiées. Parmi les différents types de licences de logiciel libre, certaines permettent la modification et la redistribution du logiciel sans contrainte, et autorisent notamment des dérivés propriétaires, par exemple sans mise à disposition du code source.
Combinational logicIn automata theory, combinational logic (also referred to as time-independent logic or combinatorial logic ) is a type of digital logic which is implemented by Boolean circuits, where the output is a pure function of the present input only. This is in contrast to sequential logic, in which the output depends not only on the present input but also on the history of the input. In other words, sequential logic has memory while combinational logic does not.
XFree86XFree86 est une implémentation libre du système graphique X Window System. XFree86 fonctionne sur la plupart des systèmes d'exploitation de type Unix et également sur Windows en utilisant Cygwin (il s'agit alors de Cygwin/X). Il a été pendant plusieurs années le système graphique utilisé par la plupart des distributions Linux et systèmes BSD, jusqu'au fork de X.Org en 2004. Le projet a commencé en 1991 lorsque David Wexelblat, Glenn Lai, David Dawes et Jim Tsillas ont joint leurs forces pour corriger les différents bugs de l'implémentation libre X11 X386 (développé par Thomas Roell).
Correction d'un algorithmeUn algorithme est correct s'il fait ce qu'on attend de lui. Plus précisément, rappelons qu'un algorithme est décrit par une spécification des données sur lesquelles l'algorithme va démarrer son calcul et une spécification du résultat produit par l'algorithme. Démontrer la correction de l'algorithme consiste à démontrer que l'algorithme retourne, quand il calcule en partant des données, un objet qui est un des résultats escomptés et qui satisfait la spécification du résultat comme énoncé dans la description de l'algorithme.
Type dépendantEn Informatique et en Logique, un type dépendant est un type qui peut dépendre d'une valeur définie dans le langage typé. Les langages Agda et Gallina (de l'assistant de preuve Coq) sont des exemples de langages à type dépendant. Les types dépendants permettent par exemple de définir le type des listes à n éléments. Voici un exemple en Coq. Inductive Vect (A: Type): nat -> Type := | nil: Vect A 0 | cons (n: nat) (x: A) (t: Vect A n): Vect A (S n).
Algèbre des parties d'un ensembleEn théorie des ensembles, l'ensemble des parties d'un ensemble, muni des opérations d'intersection, de réunion, et de passage au complémentaire, possède une structure d'algèbre de Boole. D'autres opérations s'en déduisent, comme la différence ensembliste et la différence symétrique. L'algèbre des parties d'un ensemble étudie l'arithmétique de ces opérations (voir l'article « Opération ensembliste » pour des opérations qui ne laissent pas stable l'ensemble des parties d'un ensemble).
Pointeur (programmation)En programmation informatique, un pointeur est un objet qui contient l'adresse mémoire d'une donnée ou d'une fonction. C'est l'outil fondamental de l'adressage dit « indirect ». La notion de pointeur reflète l'utilisation différente que l'on peut faire d'un entier naturel, à savoir indiquer une adresse mémoire. Cette utilisation est très différente d'une utilisation arithmétique, d'où la création de registres de processeurs spécifiques (les registres d'adresse) et d'un type de donnée spécifique dans les langages de programmations.
Algèbre de Boole (logique)Lalgèbre de Boole, ou calcul booléen, est la partie des mathématiques qui s'intéresse à une approche algébrique de la logique, vue en termes de variables, d'opérateurs et de fonctions sur les variables logiques, ce qui permet d'utiliser des techniques algébriques pour traiter les expressions à deux valeurs du calcul des propositions. Elle fut lancée en 1854 par le mathématicien britannique George Boole. L'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.