Logiciel libre

https://www.gnu.org/philosophy/free-sw.html

Qu'est-ce que le logiciel libre ?

Vous avez une question sur les licences de logiciel libre qui ne trouve pas de réponse ici ?

Consultez nos autres ressources sur les licences et au besoin contactez le Labo des licences et de la conformité de la FSF à licensing@fsf.org. Définition du logiciel libre La définition du logiciel libre décrit les conditions à remplir pour qu'un logiciel soit considéré comme libre. Nous la révisons de temps à autre pour apporter des clarifications ou résoudre des questions portant sur des points difficiles. Si vous souhaitez avoir un aperçu de ces changements, veuillez consulter la section Historiqueci-dessous. « Logiciel libre » [free software] désigne des logiciels qui respectent la liberté des utilisateurs. En gros, cela veut dire que les utilisateurs ont la liberté d'exécuter, copier, distribuer, étudier, modifier et améliorer ces logiciels. Ainsi, « logiciel libre » fait référence à la liberté, pas au prix1 (pour comprendre ce concept, vous devez penser à « liberté d'expression », pas à « entrée libre »). Pour bien montrer qu'il ne s'agit pas de gratuité, nous utilisons quelquefois en anglais l'expression libre software, qui emprunte au français ou à l'espagnol. Nous faisons campagne pour ces libertés parce que chacun les mérite. Avec ces libertés, les utilisateurs (à la fois individuellement et collectivement) contrôlent le programme et ce qu'il fait pour eux. Quand les utilisateurs ne contrôlent pas le programme, nous qualifions ce dernier de « non libre », ou « privateur ».2 Ce programme non libre contrôle les utilisateurs et son développeur le contrôle. Le programme devient donc l'instrument d'un pouvoir injuste. Les quatre libertés essentielles Un programme est un logiciel libre si vous, en tant qu'utilisateur de ce programme, avez les quatre libertés essentielles :  la liberté d'exécuter le programme comme vous voulez, pour n'importe quel usage (liberté 0) ;  la liberté d'étudier le fonctionnement du programme, et de le modifier pour qu'il effectue vos tâches informatiques comme vous le souhaitez (liberté 1) ; l'accès au code source est une condition nécessaire ;  la liberté de redistribuer des copies, donc d'aider votre voisin (liberté 2) ;  la liberté de distribuer aux autres des copies de vos versions modifiées (liberté 3) ; en faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements ; l'accès au code source est une condition nécessaire. Un programme est un logiciel libre s'il donne toutes ces libertés aux utilisateurs de manière adéquate. Dans le cas contraire, il est non libre. Bien que nous puissions faire une distinction entre différents schémas de distribution non libres, en quantifiant ce qui leur manque pour être libres, nous les considérons tous comme équivalents dans leur manque d'éthique. Dans chacun des scénarios, ces libertés doivent s'appliquer quel que soit le code que nous envisageons d'utiliser ou de pousser d'autres personnes à utiliser. Prenez par exemple un programme A qui lance automatiquement un programme B afin de gérer certaines situations. Si nous souhaitons distribuer A tel quel, cela implique que les utilisateurs auront besoin de B ; il nous appartient donc de juger si A et B sont tous deux libres. Cependant, si nous projetons de modifier A de telle sorte qu'il n'utilise pas B, alors seul A doit être libre ; B n'est pas pertinent dans ce cas. « Logiciel libre » ne signifie pas « non commercial ». Un logiciel libre doit permettre l'usage commercial, le développement commercial et la distribution commerciale. Le développement commercial de logiciel libre n'est plus l'exception ; de tels logiciels libres commerciaux sont très importants. Vous pouvez avoir payé pour obtenir une copie d'un logiciel libre ou vous pouvez l'avoir obtenu gratuitement. Mais quelle que soit la manière dont vous vous l'êtes procuré, vous avez toujours la liberté de copier et de modifier le logiciel et même d'en vendre des copies. La suite de cette page s'attache à clarifier certains détails sur ce qui fait que des libertés particulières sont adéquates ou non. La liberté d'exécuter le programme comme vous le souhaitez La liberté d'utiliser un programme est la liberté pour n'importe qui ou n'importe quelle organisation de l'utiliser sur n'importe quel système informatique, pour n'importe quelle tâche et sans être obligé de communiquer à ce sujet avec le développeur ou toute autre entité particulière. Dans cette liberté, ce qui compte est ce que veut faire l'utilisateur, pas le développeur ; en tant qu'utilisateur, vous êtes libre d'exécuter un programme comme bon vous semble et, si vous le redistribuez à quelqu'un d'autre, cette personne est libre de l'exécuter comme bon lui semble, mais vous n'êtes pas autorisé à lui imposer vos conditions. Que vous soyez libre d'exécuter le programme comme vous le souhaitez signifie que personne ne vous interdit ou ne vous empêche de le faire fonctionner. Cela n'a rien à voir avec telle ou telle fonctionnalité que possède le programme, ou avec le fait qu'il soit, ou non, techniquement capable de fonctionner dans un environnement donné ou utile à une activité informatique particulière. La liberté d'étudier le code source et de le modifier Afin que les libertés 1 et 3 (la liberté de faire des modifications et la liberté de publier les versions modifiées) aient un sens, vous devez avoir accès au code source. Ainsi, l'accès au code source est une condition nécessaire pour qu'un logiciel soit libre. Du code source rendu illisible [obfuscated] n'est pas du vrai code source et ne compte pas comme code source. La liberté 1 inclut la liberté d'utiliser votre version modifiée à la place de l'original. Si le programme est livré dans un produit conçu pour exécuter les versions modifiées de quelqu'un d'autre, mais pour refuser d'exécuter les vôtres – une pratique connue sous le nom de « tivoïsation », de « verrouillage » ou (dans la terminologie pernicieuse de ses partisans) de secure boot3 – la liberté 1 devient un simulacre vide de sens plutôt qu'une liberté concrète. Ces binaires ne sont pas libres, même si le code source à partir duquel ils ont été compilés l'est. Un moyen important de modifier un programme est de lui incorporer des modules ou des sous-programmes libres disponibles. Si la licence du programme indique que vous ne pouvez pas lui incorporer un module existant régi par une licence appropriée, par exemple si elle impose que vous soyez titulaire du copyright4 sur tout code que vous ajoutez, alors la licence est trop restrictive pour être qualifiée de libre. Qu'un changement constitue une amélioration ou non est subjectif. Si votre droit de faire des modifications se limite, en substance, aux changements que quelqu'un d'autre considère comme une amélioration, ce n'est pas un programme libre. La liberté de redistribuer si vous le souhaitez : exigences de base Avoir la liberté de distribution (libertés 2 et 3) signifie que vous êtes libre de redistribuer des copies, avec ou sans modification, gratuitement ou non, à tout le monde, partout. Être libre de faire tout cela signifie (entre autres) que vous n'avez pas à demander ni à payer pour en avoir la permission. Vous devez aussi avoir la liberté de faire des modifications et de les utiliser à titre privé dans votre travail ou vos loisirs, sans en mentionner l'existence. Si vous publiez vos modifications, vous n'êtes pas obligé de prévenir quelqu'un en particulier ou de le faire d'une manière particulière. La liberté 3 inclut la liberté de distribuer vos versions modifiées en tant que logiciel libre. Une licence libre peut également permettre de les distribuer sous d'autres formes ; en d'autres termes, elle n'a pas à être un copyleft5. Cependant, une licence qui impose que les versions modifiées soient non libres ne peut pas être qualifiée de licence libre. La liberté de redistribuer des copies doit inclure les formes binaires ou exécutables du programme, tout comme le code source, que ce soit pour les versions modifiées ou non modifiées du programme (diffuser des programmes sous une forme exécutable est nécessaire pour installer commodément les systèmes d'exploitation libres). Il y a une exception s'il n'existe aucun moyen de produire de version binaire ou exécutable pour un programme déterminé (puisque certains langages ne le permettent pas), mais vous devez avoir la liberté de distribuer des versions de ce type si vous trouvez ou si vous concevez un moyen d'en produire. Copyleft Certains types de règles sur la manière de distribuer le logiciel libre sont acceptables tant que ces règles ne rentrent pas en conflit avec les libertés fondamentales. Par exemple, le copyleft (pour résumer très simplement) est une règle qui établit que, lorsque vous redistribuez le programme, vous ne pouvez pas ajouter de restriction qui nie les libertés fondamentales des autres. Cette règle n'entre pas en conflit avec les libertés fondamentales ; en fait, elle les protège. Au projet GNU, nous utilisons le copyleft pour protéger juridiquement les quatre libertés de manière que chacun en bénéficie. Nous croyons qu'il y a de bonnes raisons de préférer le copyleft. Cependant, les logiciels libres non copyleftés sont éthiques également (consultez les catégories de logiciels libres pour une discussion des relations entre « logiciel libre », « logiciel copylefté », et encore d'autres catégories de logiciel). Règles concernant l'empaquetage et les détails de distribution Les règles concernant l'empaquetage des versions modifiées sont acceptables si elles ne limitent pas de manière substantielle votre liberté de les publier, ou votre liberté de créer et d'utiliser des versions modifiées pour votre usage privé. Il est ainsi acceptable que la licence vous impose de changer le nom de la version modifiée, d'enlever un logo, ou de marquer vos modifications comme étant de votre fait. Aussi longtemps qu'en pratique le poids de ces contraintes ne vous empêche pas de distribuer vos changements, elles sont acceptables. Vous avez déjà fait d'autres changements dans le programme, alors vous n'aurez pas de mal à en faire quelques-uns de plus. Une règle spécifiant que « si vous rendez votre version disponible comme ceci, vous devez aussi la rendre disponible comme cela » peut aussi être acceptable, sous les mêmes conditions. Serait par exemple acceptable une règle stipulant que, si vous avez distribué une version modifiée et qu'un ancien développeur en demande une copie, vous devez la lui envoyer (notez qu'une telle règle vous laisse néanmoins le choix de distribuer votre version ou non). Les règles qui exigent la fourniture du code source aux utilisateurs pour les versions que vous mettez à la disposition du public sont également acceptables. Un problème particulier apparaît lorsqu'une licence exige qu'on change le nom sous lequel le programme sera invoqué par d'autres programmes. C'est effectivement gênant pour publier une version modifiée de manière qu'elle puisse remplacer l'original quand il est invoqué par ces autres programmes. Ce type d'exigence n'est acceptable que s'il existe une possibilité de spécifier le nom du programme original comme alias de la version modifiée. Contrôle de l'exportation Parfois les règles du contrôle des exportations, ou bien des sanctions économiques, peuvent restreindre votre liberté de distribuer des copies de programmes à l'étranger. Les développeurs de logiciels n'ont pas le pouvoir d'éliminer ou de passer outre ces restrictions, mais ce qu'ils peuvent et doivent faire, c'est refuser de les imposer comme conditions à l'utilisation du programme. De cette manière, les restrictions n'affecteront pas les activités et les personnes se trouvant hors de la juridiction des gouvernements concernés. Ainsi, les licences de logiciel libre ne doivent pas imposer d'obéir à un règlement sur l'exportation comme préalable à l'une des libertés essentielles, quelle qu'elle soit, dans la mesure où ce règlement a une incidence pratique. Il est acceptable de mentionner simplement l'existence du règlement sur l'exportation sans en faire une clause de la licence elle-même, car cela n'impose pas de restriction aux utilisateurs. Si de fait une règle d'exportation est sans incidence sur le logiciel libre, l'intégrer à une clause n'est pas un véritable problème ; toutefois, c'est un problème potentiel car une future modification du droit de l'exportation pourrait faire que cette exigence ait des conséquences pratiques et donc rende le logiciel non libre. Considérations juridiques Pour que ces libertés soient effectives, elles doivent être permanentes et irrévocables tant que vous n'avez rien fait de mal ; si le développeur du logiciel a le droit de révoquer la licence ou de lui ajouter rétroactivement des clauses restrictives, sans que vous ayez fait quoi que ce soit de mal pour le justifier, le logiciel n'est pas libre. Une licence libre ne peut pas exiger qu'on se conforme à la licence d'un programme non libre. Ainsi par exemple, si une licence exige le respect des licences de « tous les programmes que vous utilisez », et que l'utilisateur exécute des programmes non libres, cela l'obligerait à respecter les licences de ces programmes non libres, et rendrait par conséquent la licence non libre. Il est acceptable qu'une licence libre précise la juridiction dont le droit s'applique, la cour compétente pour régler les litiges, ou bien les deux. Licences basées sur des contrats La plupart des licences de logiciel libre sont basées sur le copyright, or les types d'exigences que le copyright peut imposer ont des limites. Si une licence basée sur le copyright respecte la liberté de la manière décrite plus haut, il est peu probable qu'elle pose un problème d'un genre totalement imprévu (bien que cela arrive parfois). Cependant, certaines licences de logiciel libre sont basées sur le droit du contrat, et les contrats peuvent imposer un éventail bien plus large de restrictions. Cela signifie qu'il y a de nombreuses possibilités pour qu'une licence de ce type puisse restreindre de manière inacceptable la liberté des utilisateurs et ainsi devenir non libre. Nous ne pouvons pas passer en revue tout ce qui pourrait se passer. Si une licence basée sur un contrat restreint l'utilisateur d'une manière inhabituelle à laquelle les licences basées sur le copyright ne peuvent pas se conformer, et qui n'est pas mentionnée ici comme légitime, nous devrons y réfléchir et nous conclurons probablement qu'elle n'est pas libre. Utilisez les mots justes pour parler du logiciel libre Quand vous parlez de logiciel libre, il est préférable de ne pas utiliser de termes comme « donner » ou « gratuit », car ils laissent supposer que la finalité du logiciel libre est le prix et non la liberté. Certains termes répandus comme « piratage » comportent des idées auxquelles nous espérons que vous n'adhérerez pas. Lisez « Termes prêtant à confusion, que vous devriez éviter », un essai sur l'utilisation de ces termes. Nous avons aussi une liste de traductions correctes de free software dans de nombreuses langues. Comment nous interprétons ces critères Enfin, notez que des critères comme ceux qui sont développés dans la présente définition du logiciel libre demandent une réflexion sérieuse quant à leur interprétation. Pour décider si une licence de logiciel particulière peut être qualifiée de libre, nous la jugeons sur ces critères pour déterminer si elle convient à leur esprit tout comme à leur formulation précise. Si une licence inclut des restrictions inacceptables, nous la rejetons même si nous n'avons pas anticipé le problème dans ces critères. Quelquefois les exigences d'une licence soulèvent un problème qui nécessite des réflexions intenses, y compris des discussions avec un juriste, avant que nous puissions décider si l'exigence est acceptable. Quand nous arrivons à une conclusion concernant un nouveau problème, il est fréquent que nous mettions à jour ces critères pour qu'on sache plus facilement pourquoi telle licence s'y conforme, ou non. Où trouver de l'aide au sujet des licences libres Si vous voulez savoir si une licence particulière peut être qualifiée de « libre », reportez-vous à notre liste de licences. Si la licence qui vous intéresse ne fait pas partie de la liste, vous pouvez nous demander des précisions en envoyant un courriel à . Si vous envisagez d'écrire une nouvelle licence, veuillez auparavant contacter la Free Software Foundation, en écrivant à l'adresse ci-dessus. La prolifération de licences de logiciel libre différentes les unes des autres implique un surcroît de travail pour les utilisateurs voulant comprendre ces licences ; nous pouvons vous aider à trouver une licence de logiciel libre existante qui réponde à vos besoins. Si ce n'est pas possible, si vous avez vraiment besoin d'une nouvelle licence, avec notre aide vous pouvez faire en sorte que cette licence soit vraiment une licence de logiciel libre, et éviter divers problèmes pratiques. Au-delà du logiciel Les manuels des logiciels doivent être libres, pour les mêmes raisons que les logiciels doivent être libres, et parce que les manuels font en fait partie des logiciels. Les mêmes arguments peuvent aussi s'appliquer à d'autres types d'œuvres à finalité pratique, c'est-à-dire des œuvres qui intègrent de la connaissance utile, tels que le matériel pédagogique et les ouvrages de référence. Wikipedia en est l'exemple le plus connu. Tout type d'œuvre peut être libre : la définition du logiciel libre a été étendue à la définition des œuvres culturelles libres, applicable à tout type d'œuvre. Open Source ? Un autre groupe utilise le terme « open source » pour exprimer quelque chose de proche, mais pas identique au « logiciel libre ». Nous préférons le terme « logiciel libre ». En effet, une fois qu'on a compris que ce terme se rapporte à la liberté plutôt qu'au prix, il appelle la notion de liberté. Le mot « open » ne renvoie jamais à la liberté. Historique De temps à autre, nous révisons la définition du logiciel libre pour la clarifier. Voici une liste de ces modifications de fond, ainsi que les liens, pour montrer exactement ce qui a changé.  Version 1.153: préciser que la liberté d'exécuter le programme signifie que rien ne vous empêche de le faire fonctionner.  Version 1.141 : précise quel code doit être libre.  Version 1.135: Répéter chaque fois que la liberté 0 est la liberté d'exécuter le programme comme on veut.  Version 1.134: La liberté 0 ne fait pas intervenir la fonctionnalité du programme.  Version 1.131: Une licence libre ne peut pas exiger qu'on se conforme à une licence non libre d'un autre programme.  Version 1.129 : énonce explicitement qu'il est permis de choisir le droit applicable et de spécifier la cour compétente (cela a toujours été notre politique).  Version 1.122 : un réglement sur l'exportation est un véritable problème s'il tire à conséquence ; autrement, ce n'est qu'un problème potentiel.  Version 1.118 : Clarification. Il s'agit des limites à votre droit de modifier, et non de la nature de ces modifications. Et les modifications ne se limitent pas à des « améliorations ».  Version 1.111 : précise la version 1.77 en disant que seules les restrictions rétroactives sont inacceptables. Les titulaires du copyright peuvent toujours concéder des permissions supplémentaires pour les utilisations de ce travail en le publiant d'une autre manière en parallèle.  Version 1.105 : élabore sur un point déjà indiqué dans la version 1.80, à savoir que le court énoncé de la liberté 1 implique d'utiliser effectivement votre version modifiée pour votre travail informatique.  Version 1.92 : précise que le code rendu illisible [obfuscated] n'est pas considéré comme du code source.  Version 1.90 : précise que la liberté 3 implique le droit de redistribuer des copies de votre propre version modifiée ou améliorée, et non le droit de participer au développement d'un projet tiers.  Version 1.89 : la liberté 3 inclut le droit de distribuer des versions modifiées en tant que logiciel libre.  Version 1.80 : la liberté 1 doit être concrète, pas seulement théorique ; autrement dit, pas de tivoïsation.  Version 1.77 : précise que tout changement rétroactif de la licence est inacceptable, même si ce n'est pas décrit comme un remplacement complet.  Version 1.74 : clarification de quatre points insuffisamment explicites, ou bien mentionnés en divers endroits mais pas pris en compte partout : o « améliorations » ne signifie pas que la licence peut de façon substantielle limiter le type de versions modifiées que vous pouvez publier ; la liberté 3 comprend la distribution des versions modifiées, pas seulement des changements ; o le droit d'incorporer des modules existants se réfère à ceux qui sont sous une licence appropriée ; o énonce explicitement la conclusion du point se rapportant au contrôle des exportations ; o imposer un changement de licence constitue une révocation de l'ancienne licence.  Version 1.57 : ajout de la section « Au-delà du logiciel ».  Version 1.46 : précise de quelle personne l'objectif doit être pris en compte, dans « la liberté d'exécuter le programme, pour tous les usages ».  Version 1.41 : précise la formulation relative aux licences basées sur des contrats.  Version 1.40 : explique qu'une licence libre doit vous autoriser à utiliser d'autres logiciels libres disponibles pour créer vos modifications.  Version 1.39 : signale qu'il est acceptable qu'une licence vous oblige à fournir les sources des versions logicielles que vous mettez à disposition du public.  Version 1.31 : signale qu'il est acceptable qu'une licence vous oblige à vous identifier en tant qu'auteur de modifications. Ce texte apporte d'autres précisions mineures.  Version 1.23 : s'intéresse aux problèmes potentiels relatifs aux licences basées sur des contrats.  Version 1.16 : explique pourquoi la distribution de binaires est importante.  Version 1.11 : signale qu'une licence libre peut vous obliger à envoyer une copie des versions que vous distribuez aux développeurs précédents, sur demande. Il y a des sauts dans les numéros de versions indiqués ci-dessus car il y a eu beaucoup d'autres changements qui n'affectent pas l'essence de la définition ni ses interprétations. Par exemple, cette liste ne signale pas les changements concernant les à-côtés, le formatage, l'orthographe ou d'autres parties de la page. Si vous voulez consulter la liste intégrale des changements, vous pouvez le faire sur l'interface cvsweb. ________________________________________ Notes de traduction 1. Free veut dire « libre », mais aussi « gratuit ». ↑ 2. Autre traduction de proprietary : propriétaire. ↑ 3. Informatique de confiance. ↑ 4. L'équivalent français du copyright est le droit d'auteur, mais comme comme il y a des différences significatives entre les deux, nous ne traduisons pas copyright dans cet article. ↑ 5. Traduction possible : gauche d'auteur. ↑