Le Logiciel Libre

Reynald Borer – IL 2007

EIVD – Mai 2005

Sommaire

1. Introduction	2

2. Historique	2

3. La philosophie du libre	4

Le mouvement « Open Source » (Open Source Initiative, OSI)	4

4. Les différentes licences	5

Domaine public	5

Licence Générale Publique (GPL v.2)	5

Licence Générale Publique Limitée (LGPL)	5

Licence de documentation libre (Free Documentation Licence, FDL)	5

Licence BSD	6

Licence publique de Mozilla (Mozilla Public License, MPL)	6

Les autres licences	6

5. Élargissement du libre dans d'autres domaines	6

6. Les formats de fichiers ouverts	7

7. Conclusion	7

8. Références	8

Copyright © 2005 Reynald Borer

Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation Licence, version 1.2 ou ultérieure, publiée par la Free Software Foundation. Ce document est disponible à l'adresse http://www.borer.name/reynald/

Une copie de la licence FDL est disponible sur http://www.fsf.org/licensing/licenses/fdl.txt

Introduction

Ces derniers temps, certains projets de « logiciels libres » ont beaucoup fait parler d'eux, comme par exemple le navigateur Internet Mozilla Firefox, ou bien encore la suite bureautique OpenOffice.org. Des articles ont été écrits sur ces logiciels, parlant de temps en temps du fait qu'il s'agissait de logiciels libres. Mais ce que la plupart des personnes ont finalement retenu, c'est que ces logiciels sont disponibles gratuitement sur Internet et semblent être supérieurs à leurs alternatives.

Mais le logiciel libre ne s'arrête pas là, car il ne s'agit pas de simples logiciels gratuits. Le Libre est un mouvement idéologique dans lequel un auteur (ou une société) choisit de faire don d'une oeuvre à l'humanité. Ce mouvement fait partie d'une certaine révolution dans le système social et économique actuel, car son principe et de se tourner vers les autres et de partager ses créations, tout en utilisant les créations des autres.

Afin de mieux comprendre ce mouvement ainsi que les motivations de ses fondateurs, il nous faut en premier lieu nous plonger dans l'historique de l'informatique afin de comprendre d'où cette idée a émergé. Nous étudierons aussi plus en détails ce qu'est un logiciel libre, ainsi que les diverses licences disponibles. Nous verrons aussi que les principes des logiciels libres sont appliqués à d'autres domaines. Nous verrons ensuite brièvement le problème des formats de fichiers, puis nous terminerons par une conclusion.

Historique

Afin de mieux comprendre le phénomène du logiciel libre, ils nous faut remonter dans les années 70. A cette époque, les ordinateurs coûtaient très cher et étaient surtout utilisés dans le monde scientifique et dans les universités. Ces ordinateurs (aussi appelés mainframes) n'avaient pas de véritables systèmes d'exploitations fournis par les constructeurs. Des communautés de scientifiques de l'informatique se créèrent dans certaines universités et laboratoires. Ces communautés échangeaient librement leurs logiciels et leur codes sources, partant du point de vue que n'importe qui pouvait les utiliser et les améliorer.

Le marché de l'informatique était à cette époque très restreint et seules quelques entreprises travaillaient sur des produits assez spécifiques. Néanmoins, certaines entreprises commençaient à voir le logiciel comme un produit de vente, et pas uniquement comme un produit à diffuser gratuitement.

C'est en 1971 qu'un personnage encore peu connu, Richard Matthew Stallman, alors étudiant en physique au MIT, commence à travailler dans le laboratoire d'intelligence artificielle de l'université. Il faisait partie du staff technique, et il pris part à l'une de ces communauté de partage de code source. Son travail était de s'occuper d'une machine Digital PDP-10 et d'améliorer le système d'exploitation écrit par ces prédécesseurs.

C'est à cette époque que le développement du système d'exploitation Unix commence. Trois personnes travaillant chez AT&T, Ken Thompson, Dennis Ritchie et J.F. Ossanna se lancent dans le projet de créer un système d'exploitation multi-tâches et multi-utilisateurs directement écrit en langage C, alors qu'à cette époque la plupart des systèmes d'exploitations étaient écrits en assembleur. Le projet prend très vite de l'ampleur et les versions se succèdent à un rythme impressionnant. Le prix d'acquisition est assez élevé, mais le système est fourni avec son code source, et des alternatives voient rapidement le jour.

L'une de ces alternatives voit le jour vers la fin 1979, issue de la communauté académique de l'université de Berkeley. Cette variante s'appellera Berkeley Software Distribution (BSD). La compétition entre BSD et Unix fit que les fonctionnalités évoluèrent rapidement, chacun des système incorporant les fonctionnalités de son concurrent. Cette alternative donnera vie par la suite à 3 projets de systèmes d'exploitation open source, FreeBSD (se concentrant sur la facilité d'installation sur PC), NetBSD (dédié au support de différentes architectures matérielles), et une variante de NetBSD, OpenBSD (spécialisé dans la sécurité).

Au début des années 80, la situation change complètement. Le serveur PDP-10 est devenu obsolète, et les nouveaux ordinateurs sont livrés avec leurs propres systèmes d'exploitations. Les logiciels développés pour le PDP-10 ne sont plus compatible. Mais le plus grave, c'est que les systèmes d'exploitations livrés avec les nouveaux ordinateurs demandent de signer des clauses de non-divulgation pour pouvoir les utiliser. Ils ne sont plus non plus livrés avec leur code source, car les entreprises les fournissant voulaient garder jalousement leurs innovations. Il n'est donc plus possible d'aider son voisin, et une communauté d'entraide n'est plus envisageable. De plus, la plupart des personnes compétentes dans le domaine ont quitté cette communauté d'entraide pour travailler dans des sociétés développant ces logiciels. C'est le début du logiciel dit « propriétaire ».

Avec cette communauté de partage dissoute, Richard Stallman décide de ne pas rejoindre les développeurs de logiciels propriétaires. Pour lui, la liberté d'aider son prochain et de lui transmettre son travail est une obligation morale. Il décide donc se lancer dans l'écriture d'un système d'exploitation complètement libre, afin de recréer une communauté autour. C'est ainsi qu'en 1984 il débute le projet GNU (acronyme récursif de Gnu's not Unix). Il décide de développer un système proche de Unix afin de faciliter la migration.

Il démissionna du MIT, de peur que celui-ci s'approprie son projet. Cependant, le directeur du laboratoire d'intelligence artificielle l'autorisa à utiliser les ordinateurs du laboratoire pour son projet. Le premier programme qu'il créa fut GNU Emacs, un logiciel de traitement de texte entièrement extensible et modulaire. Cet éditeur provoqua un grand enthousiasme chez les programmeurs, qui se rendirent compte que le projet GNU existait réellement. Afin d'officialiser son projet, Richard Stallman créa, en 1985, la Free Software Foundation (abrégé FSF plus loin dans ce document), puis il lança le principe de copyleft grâce à la Licence Publique Générale GNU (GPL). Cette licence fut mise en place afin de préserver les libertés des utilisateurs, tandis que la fondation permis à Richard Stallman de gagner un peu d'argent en vendant des copies de ces logiciels ainsi que des services.

Jusque dans les années 90, la FSF développa des alternatives aux logiciels disponibles sur Unix, mais en utilisant des machines tournant sous Unix. La plus grosse partie du système d'exploitation GNU manquait encore, le noyau. Sans cette partie, le projet d'avoir un système complètement libre tombait à l'eau. Mais en 1991 un étudiant finlandais, du nom de Linus Torvalds, envoya un message sur un forum de discussion en expliquant qu'il était en train de développer un petit noyau pour plateforme PC. Ce noyau, combiné avec les logiciels de la FSF, donna enfin vie au projet GNU. Mais la FSF continue de développer un autre noyau, appelé Hurd, espérant qu'un jour il pourra remplacer le noyau Linux.

La philosophie du libre

Les licences de la plupart des logiciels propriétaires sont prévues pour vous priver de la liberté de les échanger ou de les modifier.

A l'inverse, les licences des logiciels libres sont conçues pour garantir les libertés des utilisateurs. A cette fin, la FSF a développé 4 conditions:

la liberté d'exécuter le programme, pour tous les usages et par tous (liberté 0);

la liberté d'étudier le fonctionnement du programme, et de l'adapter à ses besoins (liberté 1);

la liberté de redistribuer des copies du logiciel comme de son code source, donc d'aider son voisin (liberté 2);

la liberté d'améliorer le programme et de publier ses améliorations, pour en faire profiter toute la communauté (liberté 3);

Pour que ces conditions soient satisfaites, l'accès au code source est bien évidemment nécessaire.

Afin d'appliquer ces principes, la FSF utilisa le principe du « copyright », qui permet de protéger l'auteur d'une oeuvre, et le transforma en « copyleft », afin de permettre ces libertés à tous les utilisateurs. Mais pour que ce copyleft soit véritablement utile, il fallait que les versions modifiées soient aussi sous copyleft, de cette manière les modifications et les améliorations sur des produits créés par la communauté étaient redonnées à cette communauté. Pour officialiser ceci, Richard Stallman créa une licence, la Licence Générale Publique (GPL), qui sera étudiée en détail plus loin. Cette licence est nécessaire afin de garantir les 4 conditions de liberté, car un produit sans copyright tombe dans le domaine public, ce qui permet à n'importe qui de l'utiliser pour en faire un produit propriétaire. Et ceci, Richard Stallman voulait bien évidemment l'éviter.

Beaucoup de personnes pensent qu'un logiciel libre est automatiquement disponible gratuitement. Ceci vient du terme anglais, « Free Software », qui veux autant dire libre que gratuit. Il faut être conscient qu'un logiciel libre n'est pas forcément gratuit, car le critère du prix n'entre pas dans les 4 conditions. Une société peut donc parfaitement développer un logiciel libre tout en le vendant, mais par la liberté numéro 2 (liberté de redistribuer des copies), il suffit qu'une personne ait acheté le logiciel pour qu'on puisse le trouver gratuitement (et légalement). Ce type de commerce n'est donc pas très rentable. C'est pourquoi dans la pratique de nombreux logiciels libres se trouvent gratuitement sur Internet. Des versions payantes existent, mais ce que l'on paie est souvent le support de stockage du logiciel, les coûts d'impression de la documentation, ou bien du support technique de la société vendant ce logiciel. Ce principe est par exemple appliqué aux distributions Linux. Elles sont disponibles gratuitement sur Internet, mais vous pouvez les acheter dans le commerce avec plusieurs CDs, un mode d'emploi et une assistance technique.

Le mouvement « Open Source » (Open Source Initiative, OSI)

En 1998, un groupe de personnes intéressées par le système d'exploitation Linux ainsi que les logiciels libres, mais avec une vision moins idéologique que Richard Stallman, décidèrent de lancer le mouvement « Open Source ». Ce mouvement se focalise plus sur le marketing des logiciels ainsi que le côté technique, laissant de côté la philosophie propre à la FSF. Ils approuvèrent des licences « compatibles open source », mais qui étaient moins strictes concernant les 4 conditions définies par Richard Stallman. Le code source de ces logiciels pouvait par exemple être utilisé dans des logiciels propriétaires.

Les différentes licences

Dans le monde du logiciel libre, il existe une multitude de licences, certaines approuvées par la FSF, d'autre par le mouvement OSI. Voici une liste des licences les plus utilisées, avec leurs spécificités:

Domaine public

Le domaine public n'est pas à proprement parlé une licence, mais c'est le principe qui s'applique à une oeuvre sans droits d'auteurs. Après un délai qui varie selon les lois et les pays (ou avant, si l'auteur le veut), une oeuvre du domaine public est librement modifiable et distribuable (y compris commercialement) sans contrepartie. C'est le cas «libre de droits».

Licence Générale Publique (GPL v.2)

La licence GPL est la plus utilisée dans le logiciel libre, car elle a été écrite par Richard Stallman lors de la création de la FSF et respecte entièrement les 4 libertés du logiciel libre. Dernièrement, certains personnages connus de l'informatique propriétaire ont commencé à traiter cette licence de véritable virus. En effet, lorsque vous modifiez un logiciel sous licence GPL et que vous distribuez ces modifications, vous êtes tenus de distribuer le code source de vos modifications, le tout sous licence GPL. Ainsi, aucun produit propriétaire ne peux dériver d'un logiciel sous licence GPL, et cette licence peut dans certains cas empêcher l'interopérabilité avec des logiciels sous d'autres licences. Mais c'est ce principe même qui fait la force des logiciels libres.

Licence Générale Publique Limitée (LGPL)

La licence LGPL est une licence libre basée sur la GPL, mais moins stricte. La LGPL permet de lier un programme tiers non GPL à une bibliothèque LGPL, sans pour autant révoquer la licence. Ainsi, il devient possible à un programmeur désireux de faire un logiciel propriétaire d'utiliser certains outils du libre (par exemple, la bibliothèque de compression zlib est utilisée dans certains systèmes d'exploitations propriétaires). Cette licence est de moins en moins recommandée par la FSF.

Licence de documentation libre (Free Documentation Licence, FDL)

Cette licence ne touche pas à proprement parler le logiciel car elle s'applique à de la documentation. Elle a été créée afin de répondre aux besoins des utilisateurs de disposer de documentation libre sur les logiciels libres. En effet, si une personne modifie un logiciel, il est important qu'elle puisse aussi modifier la documentation relative. Par conséquent cette licence applique les même principes que la licence GPL, mais à des documents.

Licence BSD

La licence BSD est une licence libre utilisée principalement dans les systèmes BSD libres (FreeBSD, OpenBSD, NetBSD). Il existe une version modifiée de cette licence qui est compatible avec la licence GPL. La particularité de cette licence est qu'elle autorise toute personne à réutiliser le code comme bon lui semble et sans restrictions. La version originale de la licence BSD permet à un logiciel propriétaire d'incorporer du code source libre contrairement à la licence GPL. C'est une licence libre fort simple et proche du domaine public.

Licence publique de Mozilla (Mozilla Public License, MPL)

La licence MPL a été créée en 1998 par Netscape lors de la libération du code source de ce qui devait devenir Netscape Communicator 5. Celui-ci formera la base du projet Mozilla, qui utilise toujours la MPL aujourd'hui. Cette licence a été accueillie plutôt froidement par la FSF lors de son apparition à cause d'incompatibilités remarquées avec la GPL. Pour pallier cela, la licence MPL a été revue et permet dans sa version 1.1 de publier un logiciel à la fois sous licence MPL et sous une ou plusieurs autres licences, telles que la GPL. Enfin, le contrôle des évolutions futures de la licence, qui appartenait à AOL depuis son rachat de Netscape, a en outre été transmis à la Fondation Mozilla en juillet 2003.

La grande différence avec la licence GPL se situe au niveau de la redistribution des modifications du code source. Dans le cas de la licence MPL, si les modifications d'un fichier sous MPL doivent être rendues publiques, ce n'est pas forcément le cas des autres fichiers adjoints au programme. On peut ainsi combiner des fichiers sous licence MPL et sous une autre licence (propriétaire ou non) dans un même logiciel, et seules les modifications apportées aux fichiers sous licence MPL doivent être publiées sous cette licence.

Les autres licences

Il existe une multitude d'autres licences, certaines étant compatibles avec la GPL, d'autres ratifiées par le mouvement Open Source. Une liste non-exhaustive est disponible sur le site du projet GNU .

Élargissement du libre dans d'autres domaines

L'un des domaines dans lequel le libre a percé assez vite est le monde de l'électronique. En effet, dans les années 1990, les premières puces programmables font leur apparition. Le développement en électronique et en informatique étant similaire, c'est donc naturellement que le monde de l'électronique se tourne vers le libre.

De plus, le monde de la recherche est en général assez sensible au libre. En effet, les chercheurs ont l'habitude de publier leurs recherches dans des magazines spécialisés. Ainsi, leurs confrères peuvent reproduire eux-mêmes le mode opératoire d'une expérience. Ce mode de fonctionnement ressemble beaucoup à celui du libre.

Au fur et à mesure que les concepts du libre se propageaient sur Internet, certaines personnes pensèrent que ces concepts pourraient être appliqués dans le domaine dans lequel eux-mêmes travaillaient, des domaines non-scientifiques.

Ainsi, de nombreux artistes commencèrent à appliquer le concept du libre à leurs créations. Des outils plus adaptés aux oeuvres artistiques se mirent en place, comme par exemple la licence art libre ou les licences Creative Common . Ces licences concernent la littérature, la musique, le dessin, la vidéo. Le plus souvent, il faut que le support soit numérique afin d'assurer la reproduction exacte et une bonne diffusion.

Les formats de fichiers ouverts

Une des préoccupations actuelles de la communauté du logiciel libre concerne les formats de fichiers. En effet, la plupart des logiciels propriétaires sauvent leurs documents dans des formats de fichiers propriétaires. Il n'y a pas à proprement parler de problème lorsque vous utilisez pour vous-même un format de fichier propriétaire, mais plusieurs problèmes se posent lorsque vous voulez transmettre ces documents. Le premier point à remarquer est qu'afin de relire les fichiers en question, il faut avoir le logiciel (donc bien souvent l'acheter, même si le piratage peut sembler être une solution). Ensuite, il existe un risque non négligeable de transmettre des données confidentielles (Microsoft Word par exemple a la fâcheuse tendance à prendre des données en mémoire vive pour les intégrer dans un document .doc). Il existe aussi un risque de transmettre des virus par l'intermédiaire de ces fichiers (les macros de Microsoft Office en sont un bel exemple). Et dernier point, en utilisant un format propriétaire vous renforcez le monopole du logiciel de l'éditeur. En effet, vous forcez (de manière non volontaire) vos contacts à utiliser le même logiciel que vous.

Pour résoudre ces problèmes, une initiative, « Open Formats » a été lancée. Elle fait la promotion des formats ouverts en expliquant de manière simple le problème. Les formats ouverts permettent entre autre de garantir l'accessibilité et la pérennité des informations, fournissent une transparence concernant les données échangées, limitent la diffusion de virus et font de la promotion sur la diversité et l'interopérabilité dans le domaine de l'informatique personnelle.

Afin de bien comprendre le problème, je vous invite à lire une petite histoire écrite dans le magasine informatique de l'EPFL, le Flash Informatique.

Conclusion

Actuellement, le principe du logiciel libre semble pour beaucoup de monde nouveau et plutôt étrange par rapport à la société de consommation dans laquelle nous vivons. Mais ce principe existe depuis fort longtemps, et nous l'appliquons aussi tous les jours dans une multitude de domaines. Pensez simplement aux recettes de cuisine: aucune restrictions sur ces recettes, vous pouvez les transmettre librement à vos amis, essayer de deviner ce qu'un plat contient, et essayer de l'améliorer. Finalement, l'humanité tout entière fonctionne sur le principe du partage des connaissances et de l'entraide, alors pourquoi cela devrait-il être différent dans le domaine du logiciel ?

Références

Linus Torvalds et David Diamond .- Il était une fois Linux, l'extraordinaire histoire d'une révolution accidentelle .- Osman Eyrolles Multimedia, 2001, 300p.

FSF – The Free Software Foundation .- http://www.fsf.org/

GNU – Homepage of the GNU projet .- http://www.gnu.org/

A brief history of computing .- http://www.ox.compsoc.net/~swhite/history/timeline.html

Unix history .- http://www.levenez.com/unix/

Logiciel Libre .- Wikipédia .- http://fr.wikipedia.org/wiki/Logiciel_libre

Free Software – Wikipedia .- http://en.wikipedia.org/wiki/Free_software

Richard Stallman – Wikipédia .- http://fr.wikipedia.org/wiki/RMS

Unix – Wikipedia .- http://en.wikipedia.org/wiki/Unix

Présentation succincte des principales licences du logiciel libre, leurs objets, leurs différences, leur esprit, leur contexte .- http://www.idealx.org/dossier/oss/Licences_libres.en.html

Pourquoi utiliser des formats ouverts? :: openformats.org .- http://www.openformats.org/fr

Pouvez-vous faire confiance à votre ordinateur ? .- http://www.gnu.org/philosophy/can-you-trust.fr.html

Livret du Libre .- http://www.livretdulibre.org

Film: Revolution OS .- http://www.revolution-os.com/

http://www.gnu.org/licenses/license-list.html

http://artlibre.org/

http://creativecommons.org/

http://ditwww.epfl.ch/publications-spip/article.php3?id_article=749

Le Logiciel Libre

Reynald Borer	Page 8	20.05.2005

Reynald Borer

2005-05-07T13:32:24

Reynald Borer