Cette définition du logiciel libre a pour but de décrire clairement les conditions à remplir pour qu'un logiciel soit considéré comme libre. De temps à autre, nous la modifions afin de la clarifier. Si vous souhaitez avoir un aperçu des changements que nous y avons apportés, veuillez consulter la section Historique ci-dessous pour plus d'informations.
L'expression « logiciel libre » fait référence à la liberté et non pas au prix. Pour comprendre ce concept, vous devez penser à la « liberté d'expression », pas à « l'entrée libre ».
L'expression « logiciel libre » fait référence à la liberté pour les utilisateurs d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Plus précisément, cela signifie que vous, l'utilisateur, avez les quatre libertés essentielles :
Un programme est un logiciel libre si les utilisateurs ont toutes ces libertés. Ainsi, vous êtes libre de redistribuer des copies, avec ou sans modification, gratuitement ou non, à tout le monde, partout. Être libre de faire ceci signifie (entre autres) que vous n'avez pas à demander ou à 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é d'utiliser un programme est la liberté pour tout type de personne ou d'organisation de l'utiliser sur tout type de système informatique, pour tout type de tâche et sans être obligé de communiquer à ce sujet avec le développeur ou toute autre entité particulière. Dans cette liberté, il est question de 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.
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 (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.
Afin que les libertés 1 et 3 (la liberté de faire des changements et la liberté de publier les versions amélioré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 boot1 - la liberté 1 devient une fiction théorique plutôt qu'une liberté pratique. Ceci n'est pas suffisant. En d'autres termes, 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 le fusionner avec des modules ou des sous-programmes libres disponibles. Si la licence du programme indique que vous ne pouvez pas le fusionner dans un module existant, par exemple si elle impose que vous soyez titulaire du copyright2 sur tout code que vous ajoutez, alors la licence est trop restrictive pour être qualifiée de libre.
La liberté 3 inclut la liberté de distribuer vos versions modifiées en tant que logiciels libres. Une licence libre peut également permettre de les distribuer sous d'autres formes ; en d'autres termes, elle n'a pas à être un copyleft3. Cependant, une licence qui impose que les versions modifiées soient non libres ne peut pas être qualifiée de licence libre.
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 changer rétroactivement ses termes, sans que vous ayez fait quoi que ce soit de mal pour le justifier, le logiciel n'est pas libre.
Cependant, 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 ajouter de restrictions pour retirer les libertés fondamentales au public. Cette règle n'entre pas en conflit avec les libertés fondamentales ; en fait, elle les protège.
« 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 indifféremment de 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.
Qu'un changement constitue une amélioration ou non est subjectif. Si vos modifications sont limitées, en substance, aux changements que quelqu'un d'autre considère comme une amélioration, ce n'est pas la liberté.
Cependant, des règles qui régissent la manière dont une version peut être modifiée sont acceptables si elles ne limitent pas de manière substantielle votre liberté de produire des versions modifiées, ou votre liberté de créer et d'utiliser des versions modifiées pour votre usage privé. Ainsi, il est 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. Tant que ces contraintes ne sont pas si lourdes qu'elles vous empêchent en pratique de distribuer vos changements, elles sont acceptables. Vous avez déjà fait d'autres changements dans le programme, alors quelques-uns de plus ne sont pas gênants.
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 nécessitent la fourniture du code source aux utilisateurs pour les versions que vous mettez à la disposition du public sont également acceptables.
Dans le projet GNU, nous utilisons le copyleft pour protéger ces libertés. Mais des logiciels libres non copyleftés existent aussi. Nous croyons qu'il y a de bonnes raisons de préférer le copyleft, mais si votre programme est libre et non copylefté, il est néanmoins fondamentalement éthique (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).
Parfois les règles du contrôle des exportations, ou bien des sanctions économiques, peuvent vous priver de la 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 d'imposer eux-mêmes des conditions à l'utilisation des programmes. De cette manière, les restrictions n'affecteront pas les activités et les personnes se trouvant hors de la juridiction de leurs gouvernements. Ainsi, les licences du logiciel libre ne doivent pas imposer d'obéir à un quelconque règlement d'exportation comme préalable à l'une des libertés essentielles, quelle qu'elle soit.
La plupart des licences de logiciels 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 logiciels sont basées sur le droit du contrat, et les contrats impliquent un champ 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 lister 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.
Quand vous parlez des logiciels libres, il est préférable de ne pas utiliser de termes comme « donner » ou « gratuit », car ils laissent supposer que la finalité des logiciels libres 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 pour un essai sur l'utilisation de ces termes. Nous avons aussi une liste de traductions de « free software » dans de nombreuses langues.
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 conditions 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 la condition 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.
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 n'y est pas listée, vous pouvez nous demander des précisions en envoyant un courriel à <licensing@gnu.org>.
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 logiciels libres 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 vous assurer que la licence est vraiment une licence de logiciel libre et éviter divers problèmes pratiques.
Les manuels des logiciels doivent être libres, pour les mêmes raisons que les logiciels doivent être libres, et parce que les manuels font effectivement partie des logiciels.
Les mêmes arguments peuvent aussi s'appliquer à d'autres types de travaux à usage pratique, c'est-à-dire des travaux qui intègrent de la connaissance utile, tels que les ouvrages éducatifs 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.
Un autre groupe a commencé à utiliser 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 réfère à la liberté plutôt qu'au prix, il appelle la notion de liberté. Le mot « open » ne renvoie jamais à la liberté.
De temps en temps, nous révisons la définition du logiciel libre pour la clarifier. Voici une liste de ces modifications ainsi que les liens, pour montrer exactement ce qui a changé, de sorte que chacun puisse les examiner s'il le désire.
Il y a des sauts dans les numéros de versions car il y a eu beaucoup d'autres changements qui n'affectent pas du tout l'essence de la définition. Ils corrigent plutôt des liens, ajoutent des traductions, etc. Si vous voulez consulter la liste intégrale des changements, vous pouvez le faire sur l'interface cvsweb.