http://www.april.org

Introduction
aux
Logiciels Libres

L'objet de ce document est de présenter la notion de "logiciel libre" afin de permettre de mieux en comprendre les tenants et aboutissants.

Ce document résume les textes de la philosophie GNU qui se trouvent sur le serveur Web d'APRIL (traductions des textes originaux que l'on peut trouver sur le site de GNU : http://www.gnu.org).

Qu'est-ce que le Logiciel Libre ?

Le mot "libre" dans l'expression ``logiciel libre'' fait référence à la liberté, et non au prix du logiciel.

Le ``logiciel libre'' se rapporte à la liberté des utilisateurs d'exécuter, de copier, de distribuer, d'étudier, de changer et d'améliorer le logiciel. Plus précisément, cela réfère à trois niveaux de liberté :

Vous pouvez avoir payé pour obtenir des copies d'un tel logiciel, ou vous pouvez avoir obtenu ces copies sans frais. Mais quelque soit la façon dont vous avez obtenu vos copies, vous avez toujours la liberté de copier et de modifier le logiciel.

La notion de "logiciel libre" est souvent mal interprétée. L'ambiguïté provenant de l'expression d'origine free software, puisqu'en anglais free signifie aussi bien libre que gratuit. Mais dans le cas des "logiciels libres", l'important est la liberté. Un "logiciel libre" possède les propriétés suivantes : redistribution libre, disponibilité du code source, modification possible, pas de discrimination (commerciale ou autre).

La Free Software Foundation et le projet GNU

L'initiateur du mouvement du "logiciel libre" s'appelle Richard Stallman, membre du laboratoire d'intelligence artificielle du MIT. Il est le fondateur de la Free Software Foundation, fondation dédiée à l'abolition des restrictions sur la copie, la redistribution, la compréhension et la modification des programmes informatiques. Pour cela, la FSF fait la promotion du développement et de l'utilisation du "logiciel libre" à tous les niveaux d'utilisation de l'ordinateur.

Les autres organisations distribuent tous les logiciels "libres" pour peu qu'ils soient disponibles. Au contraire, la "Free Software Foundation" se concentre sur le développement de nouveaux logiciels "libres" travaillant vers un système cohérent afin d'éliminer le recours obligatoire à des logiciels propriétaires.

De manière spécifique, la FSF a lancé le projet le plus ambitieux du monde du logiciel libre qui est sans conteste le projet GNU. Ce projet consiste a développer un système complet de logiciels libres nommé ``GNU'' (GNU's Not Unix) qui est hautement compatible avec Unix. . Le projet GNU a été conçu en 1983 comme une manière de rétablir l'esprit coopératif qui prévalait dans la communauté informatique aux premiers jours, en supprimant les barrières à la coopération imposées par les possesseurs de logiciels propriétaires.

En 1971, quand Richard Stallman démarra sa carrière au MIT, il travaillait dans un groupe qui utilisait exclusivement des logiciels libres. Même des compagnies informatiques distribuaient des logiciels libres. Les programmeurs étaient libres de coopérer entre eux, et ils le faisaient souvent.

Au début des années 80, presque tous les logiciels étaient des logiciels propriétaires, ce qui signifie que les propriétaires de logiciels interdisaient et empêchaient la coopération entre utilisateurs. Ceci rendit le projet GNU nécessaire.

Chaque utilisateur d'ordinateur a besoin d'un système d'exploitation; s'il n'y a pas de système d'exploitation libre, alors vous ne pouvez même pas commencer à utiliser un ordinateur sans avoir recours au logiciel propriétaire. Ainsi la première question à l'ordre du jour du logiciel libre est un système d'exploitation libre.

Un système d'exploitation n'est pas seulement un noyau; cela inclut également des compilateurs, des éditeurs, des formateurs de texte, un logiciel de courrier, et bien d'autres choses. Ainsi, l'écriture d'un système d'exploitation complet est un travail important. Cela a pris de nombreuses années.

Les responsables du projet ont décidé de rendre le système d'exploitation compatible avec Unix parce que le concept d'ensemble a déjà fait ses preuves et est portable, et parce que la compatibilité rend plus facile pour les utilisateurs d'Unix de passer de Unix à GNU.

Le but initial d'un système d'exploitation libre a été atteint. Au début des années 90, les composants majeurs avaient été trouvés ou écrits , excepté un--le noyau. Puis le noyau Linux fut développé. La combinaison du noyau Linux avec le système à peu près complet GNU a pour résultat un système d'exploitation complet : un système GNU basé-sur-Linux. On estime que des centaines de milliers de personnes utilisent maintenant des systèmes GNU basé-sur-Linux, incluant Slackware, Debian, Red Hat et d'autres.

Cependant, le projet GNU n'est pas limité aux systèmes d'exploitation. Il aspire à fournir tout l'éventail du logiciel, tout ce que de nombreux utilisateurs veulent avoir. Ceci inclut des logiciels applicatifs. Il est également prévu de fournir des logiciels pour les utilisateurs qui ne sont pas des experts en ordinateurs. Les membres du projet GNU travaillent maintenant sur une interface de présentation à base d'icônes gérables en tiré-laché pour aider les débutants à utiliser le système GNU.

Jusqu'où le logiciel libre peut-il aller ? Il n'y a pas de limites, excepté quand les lois régissant la propriété intellectuelle (brevets par exemple) interdisent complètement le logiciel libre. Le but ultime est de fournir le logiciel libre pour permettre aux utilisateurs d'exploiter leur ordinateur comme ils l'entendent--et de cette manière rendre obsolète le logiciel propriétaire

Dans le cadre du projet GNU, le concept de ``copyleft'' est utilisé pour protéger légalement les libertés pour tout le monde.

Qu'est-ce que le copyleft ?

La plus simple façon de rendre un programme libre est de le distribuer dans le domaine public, sans copyright. Cela autorise les gens à partager le programme et leurs améliorations si le coeur leur en dit. Mais cela autorise aussi des personnes indélicates à faire du programme un logiciel déposé. Ils peuvent très bien y effectuer des changements et distribuer le résultat comme un produit déposé. Les gens qui recevront le programme dans sa forme modifiée n'ont pas la liberté que l'auteur original a donné; l'intermédiaire les a fait disparaître.

Dans le projet GNU, le but est de donner à tous les utilisateurs la liberté de redistribuer et de changer les logiciels GNU. Si des revendeurs pouvaient enlever cette liberté, il y aurait beaucoup d'utilisateurs, mais ces utilisateurs n'auraient aucune liberté. Alors, au lieu de mettre les logiciels GNU dans le domaine public, ils sont mis sous "copyleft". Le copyleft indique que quiconque les redistribue, avec ou sans modifications, doit aussi faire passer la liberté de les copier et de les modifier. Le copyleft la garantit pour tous les utilisateurs.

Le copyleft a d'autres avantages. Ceux qui écrivent des améliorations dans des logiciels libres travaillent souvent pour des entreprises ou des universités qui feraient presque tout pour de l'argent. Un programmeur pourrait vouloir faire profiter la communauté de ses modifications, mais son employeur pourrait "voir rouge" et faire pression pour transformer le travail du programmeur en un produit commercial.

Quand on explique à l'employeur qu'il est illégal de distribuer la version améliorée autrement que comme logiciel libre, l'employeur décide habituellement de le distribuer comme logiciel libre plutôt que de le laisser tomber.

Pour mettre un logiciel sous copyleft, il faut d'abord le mettre sous copyright, puis ajouter les conditions de distribution, qui sont un outil légal donnant à chacun le droit d'utiliser, de modifier, et de redistribuer le code du programme, ou tous les programmes qui en sont dérivés, mais à condition que les conditions de distributions soient inchangées. Ainsi, le code et les libertés sont légalement indissociables.

Les développeurs de logiciels déposés utilisent le copyright pour restreindre la liberté des utilisateurs; dans le cadre du projet GNU le copyleft est utilisé pour garantir la liberté. C'est pourquoi ce système est appelé copyleft par opposition à copyright.

Le copyleft est un terme général, il y a beaucoup de manières différentes de rentrer dans les détails. Dans le projet GNU, les conditions de distribution spécifiques utilisées sont contenues dans la General Public License GNU (GNU GPL), ou en français, la licence publique générale. Une variante, la Library General Public License GNU (GNU LGPL), s'applique à quelques bibliothèques GNU (mais pas à toutes). La LGPL permet de les utiliser pour lier des exécutables déposés sous certaines conditions.

La license appropriée est incluse dans beaucoup de manuels et dans chaque distribution de code source GNU (habituellement dans des fichiers appelés COPYING et COPYING.LIB).

La GPL GNU est conçue de façon à ce que vous pouviez l'appliquer à votre propre programme si vous êtes le propriétaire du copyright. Vous n'avez pas à modifier la GPL GNU pour le faire, juste à ajouter des notes à votre programme qui se réfèrent convenablemet à la GPL GNU.

Si vous voulez mettre votre programme sous copyleft avec la GPL GNU, lisez les instructions à la fin du texte de la GPL. Si vous voulez mettre votre bibliothèque sous copyleft avec la LGPL GNU, lisez les instructions à la fin du texte de la LGPL (notez que vous pouvez aussi utiliser la GPL pour vos bibliothèques).

Utiliser les mêmes conditions de distribution pour plusieurs programmes différents rend la copie de code plus facile entre les différents programmes. S'ils ont les mêmes conditions de distribution, il n'y a pas besoin de réfléchir si les conditions sont compatibles. La LGPL contient une clause qui vous autorise à modifier les conditions de distribution de la GPL ordinaire, ainsi vous pouvez copier du code dans un autre programme couvert par la GPL.

Le Logiciel Libre est plus Fiable !

Les partisants du logiciel propriétaire aiment dire, ``le logiciel libre est un beau rêve, mais nous savons tous que seul un système propriétaire peut produire des produits fiables. Un groupe de hackers ne peut faire la même chose.''

Cependant, l'évidence empirique ne concorde pas, des tests scientifiques ont montré que le logiciel libre est plus fiable qu'un logiciel propriétaire comparable.

Barton P. Miller et ses collègues ont testé la fiabilité des programmes utilitaires Unix en 1990 et 1995. Chaque fois, les utilitaires GNU arrivèrent en tête de façon considérable. Ils testèrent sept systèmes Unix commerciaux ainsi que le système GNU. En leur soumettant un flux d'entrées aléatoires, ils ont pu ``planter (avec un core dump) ou bloquer (boucle infinie) plus de 40% (dans le pire des cas) des programmes utilitaires de base ...''

Ces chercheurs trouvèrent que les systèmes Unix commerciaux avaient un taux d'échec de 15% à 43%. Par contraste, le taux d'échec pour le système GNU était seulement de 7%.

Miller disait également : ``les trois systèmes commerciaux que nous avons comparés, à la fois en 1990 et en 1995, se sont améliorés sensiblement en fiabilité, mais ils ont toujours des taux d'échec significatifs (les utilitaires de base de GNU/Linux étaient toujours sensiblement meilleurs que les utilitaires des systèmes commerciaux)''.

Pour les détails, voir leur document (disponible sur le site ftp suivant : ftp://grilled.cs.wisc.edu/technical_papers/fuzz-revisited.ps") : Fuzz Revisited: A Re-examination of the Reliability of Unix Utilities and Services par Barton P. Miller

Vendre des logiciels libres

Beaucoup de personnes croient que l'esprit du projet GNU est de ne pas faire payer la distribution de copies de logiciels, ou alors le moins possible: juste assez pour couvrir les frais.

En fait, la FSF encourage ceux qui distribuent des logiciels libres à les faire payer le prix qu'ils veulent ou peuvent.

Le mot anglais "free" (libre) a deux sens, il peut aussi bien faire référence au prix qu'à la liberté. Quand nous parlons de "free software" (logiciel libre) nous parlons de la liberté, pas du prix. Plus particulièrement, il signifie qu'un utilisateur est libre d'utiliser un programme, de le modifier, et de le redistribuer, avec ou sans modifications.

Les logiciels libres sont parfois distribués gratuitement, et parfois contre rémunération. Un même programme est souvent disponible de ces deux façons à partir de sources différentes. Le programme est libre en dépit de son prix, car les utilisateurs ont toute liberté dans son utilisation.

Les logiciels propriétaires sont souvent vendus à un prix élevé mais, parfois, un revendeur peut vous en donner une copie gratuite. Cela n'en fait pas pour autant un logiciel libre. Qu'il soit gratuit ou payant, le programme n'est pas libre car les utilisateurs n'ont aucune liberté.

Puisque le prix n'a pas d'importance lorsque nous parlons de logiciel libre, un prix bas ne rend pas un logiciel plus "libre". Ainsi, si vous redistribuez des copies de logiciels libres, vous pouvez aussi bien fixer un prix élevé que "rentrer dans vos frais". La redistribution de logiciels libres est une activité honorable et totalement légale; si vous l'exercez, vous pouvez très bien en tirer du profit.

Le logiciel libre est le projet de toute une communauté, et tous ceux qui en dépendent devraient chercher des moyens de contribuer à soutenir la communauté. Pour un distributeur, la manière d'y contribuer est de donner une part de ses bénéfices à la FSF ou à un autre projet de développement de logiciels libres. En créant des équipes de développement, vous faites avancer le logiciel libre.

La distribution de logiciels libres est une chance de rassembler des fonds pour le développement. Ne la laissez pas passer !

La liberté est la question, la seule, et l'unique.

Exemples de logiciels libres

Quelques exemples significatifs de logiciels libres, pour certains largement utilisés dans le monde industriel: