Les logiciels libres

Nous maintenons cette définition du logiciel libre pour décrire clairement les conditions à remplir pour qu’un logiciel soit considéré comme libre

L’expression « Logiciel libre » fait référence à la liberté et non pas au prix. Pour comprendre le 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 les utilisateurs ont les quatre libertés essentielles :

  • La liberté d’exécuter le programme, pour tous les usages (liberté 0).
  • La liberté d’étudier le fonctionnement du programme, et de l’adapter à vos besoins (liberté 1). Pour ceci l’accès au code source est une condition requise.
  • La liberté de redistribuer des copies, donc d’aider votre voisin, (liberté 2).
  • La liberté d’améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté liberté 3). Pour ceci l’accès au code source est une condition requise.

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 autre) 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 de 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 pour 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 tout autre entité spécifique. Dans cette liberté, il est question de l’utilisateur, pas du développeur ; en tant qu’utilisateur, vous êtes libre d’exécuter un programme comme bon vous semble et si vous le redistribuer à 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) à la fois pour les versions modifiées ou non modifiées du programme. (Diffuser des programmes sous une forme exécutable est nécessaire pour une installation commode des systémes d’exploitation libres). Il y a une exception s’il n’y a pas moyen de produire une version binaire ou exécutable (puisque certains langages ne supportent pas cette caractéristique), mais le public doit avoir la liberté de distribuer de telles formes s’ils ont un moyen d’en produire.

Pour avoir la liberté d’effectuer des modifications et de publier des versions améliorées, vous devez avoir l’accès au code source du programme. Par conséquent, l’accessibilité du code source est une condition requise pour un logiciel libre.

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 qui refuse d’exécuter les vôtres — une pratique connue sous le nom de « tivoïsation » ou (au moyen de listes noires) comme le « secure boot » — la liberté 1 devient une fiction théorique plutôt qu’une pratique de la liberté. 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é complilés l’est.

Un moyen important de modifier un programme est de le fusionner avec des modules ou des sous-programmes disponibles libres. Si la licence du programme indique que vous ne pouvez pas le fusionner dans un module existant, telle que la nécessité que vous soyez le détenteur du copyright de tout code que vous ajoutez, alors la licence est trop restrictive pour être qualifiée de libre.

Pour que ces libertés soient réelles, 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étro-activement ses termes, sans que vous n’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 les programmes, vous ne pouvez ajouter de restrictions pour retirer les libertés fondamentales au public. Cette règle ne rentre 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 être disponible pour un usage commercial, pour 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’êtesprocuré, vous avez toujours la liberté de copier et de modifier un logiciel et même d’en vendre des copies.

Qu’un changement constitue une amélioration ou pas est subjectif. Si vos modifications sont limitées, en substance, aux changements que quelqu’un d’autre consiédère comme une amélioration, ce n’est pas la liberté.

Les règles sur la manière d’empaqueter une version modifiée sont acceptables si elles n’entravent pas votre liberté de la publier, ou votre liberté de faire et d’utiliser pour votre usage personnel des versions modifiées. Les règles disant « si vous publiez le programme par ce moyen, vous devez le faire par ce moyen aussi » sont acceptables aux mêmes conditions (notez que de telles règles doivent vous laisser le choix de publier ou non le programme). Les règles qui nécessitent que le code source soit publié pour les utilisateurs pour les versions que vous rendez publiques sont aussi acceptables. Il est également acceptable que la licence l’exige, si vous avez distribué une version modifiée et qu’un développeur précédent vous en demande une copie, vous devez lui envoyer, ou que vous indiquiez vos modifications.