La préhistoire du logiciel libre

Dans les années 1960 sont nés les premiers systèmes d’exploitation à temps partagé. On comptera parmis eux Multics, Unics, et enfin Unix, tous fonctionnant sur des ordinateurs de taille conséquente (et plus particulièrement la famille des PDPs de chez DEC). A cette époque, le logiciel n’a pas l’importance que l’on peut lui attacher aujourd’hui.
Des communautés d’échange de codes informatiques se mettent en place dans les différentes universités américaines impliquées dans des activités de recherche en informatique théorique (Massachussets Instistute of Technology, University of California – Berkeley…). Aucun cadre formel n’encadre ces échanges, mais les principaux acteurs de l’informatique étant des scientifiques et des académiques, il paraissait naturel de partager les codes sources comme on le faisait pour les publications – en respect de la notion de partage fortement ancrée dans la méthode scientifique. Les codes sources des systèmes d’exploitation eux mêmes étaient distribués aux communautés d’utilisateurs, ceux cis devenant de-facto des contributeurs majeurs.
L’arrivée d’UUCP (premier réseau global) et d’USENET (groupes de discussions) en 1980 a catalysé les communications entre développeurs et a fortiori le développement communautaire global de ces systèmes d’exploitation et autres programmes de l’époque.
Le projet Gnu et la création de la Free Software Foundation

En 1983, Richard Stallman, alors académique et hacker au MIT, décida de créer le projet GNU (acronyme récursif signifiant “GNU’s Not Unix”). L’objectif du projet est de créer un système d’exploitation compatible et similaire à UNIX, indépendant de corporations comme AT&T, le créateur original d’UNIX. Certaines companies commencent à se rendre compte de l’importance du code source et commencent à clamer leur propriété sur certains des codes les plus valuables. Aujourd’hui, le projet GNU reste très qu’actif, regroupant divers logiciels tels qu’un compilateur C (le fameux GCC), des utilitaires unix aujourd’hui présents dans toutes les distributions de Linux, et même un noyau de système d’exploitation appelé HURD.
C’est le même Richard Stallman, qui, juste après le début du projet GNU, créa le concept de “Free Software” (traduit en francais Logiciel Libre), puis en 1985, la Free Software Fundation, fondation pour la promotion du logiciel libre. En 1989, la première version de la GNU General Public Licence est publiée en version 1. Il faudra attendre 1991 pour la version 2.
L’avènement de Linux

En 1991, le projet GNU est mature, le compilateur C est fonctionnel, les différents utilitaires permettant d’utiliser un système d’exploitation tous là. Une seule pièce, mais de taille, manque au puzzle : un noyau stable et fonctionnel.
C’est à ce moment ci que Linus Torvalds, alors étudiant à l’université d’helsinki, crée la première version de Linux. Celui ci utilise Usenet pour l’annoncer, et la communauté hacker s’empare du projet à une vitesse foudroyante. Le projet murit très vite, et Torvalds décide de publier son noyau sous licence GPL en version 2. D’autres hackers comme Patrick Volderking ou encore Ian Murdock vont s’emparer du noyau et du projet GNU pour créer le concept de distribution GNU/Linux. C’est ainsi que naitront les projets Slackware et Debian respectivement, pour ne citer qu’eux. Une étude européenne récente a montré que le cout de développement de la réécriture du noyau Linux couterait, dans l’état du noyau tel qu’il était en 2006, plus de 882 millions d’euros[1]. Les contributeurs au projet se comptent aujourd’hui en milliers.
De l’importance des standards
Pour comprendre aujourd’hui le succès du logiciel libre, il est important d’approcher le concept de standard et de format ouvert. En effet, sans ces standards, aucune interropérabilité, ni aucune communication entre différents logiciels libres possible. La loi n° 2004-575 du 21 juin 2004 pour « la confiance dans l’économie numérique » définit ainsi l’ouverture des formats :
« On entend par standard ouvert tout protocole de communication, d’interconnexion ou d’échange et tout format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre.»
On trouvera par exemple les standards de l’internet fournis par le W3 consortium (définissant les formats ouverts comme HTML) ou encore Xiph (Formats, codecs, et conteneurs multimédias comme Ogg, Vorbis, Théora).
Il est important de noter l’existence d’une grande quantité d’organisations à but non lucratif comme l’IETF, l’ICANN, l’IEEE sans qui les standards de l’internet n’existeraient pas aujourd’hui.
Copyleft fort, copyleft doux, absence de copyleft
Une pléthore de licence est aujourd’hui disponible dans le monde du logiciel libre. Pour ne pas s perdre dans les méandres juridiques et appréhender rapidement les différences entre les licences, il est important de discerner trois grandes familles de licences libres. Aujourd’hui encore, les débats (aussi appelés “trolls” dans les communautés hackers) vont bon train au sein de la communauté du logiciel libre sur les différences subtiles de ces trois licences. Les subtilités peuvent paraitre minimes mais peuvent avoir un grand impact sur la diffusion des codes sources et leur adoption dans diverses communautés ou secteurs économiques.
Les points communs à ces trois familles de licences sont l’accès au code source, le droit de redistribution, et le droit d’éxécuter le code généré par ce code source.
Licences à copyleft fort
Ce type de licence empêche toute relation avec du logiciel propriétaire. Les créateurs, hackers créant du code basé sur une licence à copyleft fort auront l’obligation de diffuser les modifications faites au code source, ne pourront pas mélanger leur code à une licence n’ayant pas de copyleft fort en le redistribuant. La licence la plus connue à ce jour est bien sur la GPL (GNU Public License).
Licences à copyleft léger
Ces licences sont plus permissives. Elles permettent de créer des bibliothèques logicielles qui pourront être liées à des logiciels propriétaires. Elles garantissent en quelques sortes que le code sera redistribué si modifié, mais autorisent une interopérabilité avec des logiciels propriétaires. Cette famille contient par exemple la licence LGPL, mais aussi la licence Mozilla etc.
Licences sans copyleft
Ces licences sont les plus permissives. Elles sont très proches du domaine publique, et autorisent pratiquement n’importe qui à faire n’importe quoi avec le code source. Ce dernier peut être incorporé dans du code propriétaire sans consentement préalable des précédents auteurs. On remarquera parfois qu’elles demandent seulement à ce que les auteurs originaux soient cités dans les crédits des applications utilisant ce code source. On trouvera dans cette famille énormément de licences différentes, entre autres la licence BSD, apache, ou encore MIT.
On a ici à faire à un combat idéologique qui dure depuis plusieurs dizaines d’années entre une partie de la communauté qui pense que le logiciel propriétaire et le logiciel libre ne doivent coexister en aucune manière, et une autre partie de cette même communauté qui pense généralement que le code doit être partagé pour tous, même si cela implique à des gens qui ne difuseront pas les modifications qu’ils ont appliquées à ce code.
Les modèles économiques liés au logiciel libre
Dans les années 90, suite au succès du logiciel libre, quelques entreprises se sont formées sur un nouveau modèle économique basé sur le Logiciel Libre. Les fondements de ce dernier sont basés sur l’offre d’un service accompagnant du logiciel libre à destination des professionels. En effet, les professionels commencant à s’emparer du logiciel libre (entre autres systèmes d’exploitations, mais aussi bases de données comme MySQL, ou langage de programmation comme PHP) ces dernier sont prêts à payer pour un support technique et/ou de la formation sur les différents produits open source. C’est ainsi que Red Hat, par exemple, avec un revenu de plus de 650 Millions de dollars et ses 2800 employés a fait son apparition au NASDAQ en 2005[1].
D’autres compagnies, plus récentes, comme par exemple Mozilla Corporation (créée en 2005), sont nées suite à la mise en place de fondations (Mozilla Foundation en 2003 dans le cas de Mozilla) en vue de gérer et d’être taxable sur les bénéfices de celles ci. Dans le cas particulier de mozilla, la majeure partie des revenus vient de partenariats avec d’autres compagnies (en l’occurence Google qui fournit 85% des revenus de Mozilla Corp dans l’échange de promotion de Google par le navigateur Firefox).
Enfin, un des derniers modèles économiques liés à l’open source et que l’on voit fleurir aujourd’hui, consiste à fournir les logiciels sous double licence. Une partie du logiciel sera fournie sous licence libre, et l’autre sous un autre type de licence. Les techniques habituellement utilisées dans ces cas là sont de cibler les parties logicielles utilisées uniquement par les professionels, et de fermer le code correspondant. D’autres professionels adopteront les systèmes de double licence pour permettre à des tiers d’incorporer le code dans des programmes propriétaires tiers. Un très bon exemple d’une compagnie fonctionnant sur ce modèle est MySQL-AB, (récemment racheté par Sun Microsystems, lui même racheté très récemment par Oracle). La base de données MySQL est disponible sous licence open source, et MySQL-AB peut fournir des parties du codes sous d’autres licences moyennant finances. Une partie des revenus de MySQL venant aussi du support payant et de formations diverses.
Mythes et réalités associés au lociel libre
Une des plus grandes idées recues du grand public liée au logiciel libre est que l’anarchie reste maitresse dans l’organisation des projets. Ceci est très loin de la réalité. C’est en fait le milieu associé, comme définit par Simondon, qui permet au logiciel libre de s’organiser. Ce sont les outils tels que les systèmes de gestion des sources (CVS, SVN, git…), USENET, les systèmes de listes de diffusions, mais surtout le réseau Internet, permettant de connecter et de partager les travaux des différents amateurs du logiciel libre. Ce sont donc toutes ces rétentions tertiaires qui vont premettre la mise en place du cadre du logiciel libre. La prise de décision finale quant à l’introduction d’un modification d’une tierce personne (souvent appelée “patch” reviendra au créateur du projet. Il se peut que cette tierce personne ne veuille délibérément pas intégrer ce patch pour des raisons techniques, personnelles ou autres. Dans certains cas, le logiciel libre le permettant, certaines personnes créeront une nouvelle branche du projet suite généralement à une frustration liée à la facon dont est gérée la branche principale. On parle alors de “fork” (bifurcation, branchement). On aura donc à faire à une véritable crise au sens étymologique tu terme : c’est le moment ou la communauté d’amateurs aura à prendre une décision. Autant utilisateurs que développeurs de logiciels libres.
Les deux branche pourront donc dans ce cas soit coexister – on assiste dans ce cas à une véritable cission de la communauté, soit l’une d’entre elles mourra peu à peu. Des exemples marquants de ce processus sont les différents. Il est intéressant qu’il s’agit d’un cas ou le marketing au sens classique du terme (analyse des attitudes des consommateurs en vue de motiver le choix) n’est pas effectif. En effet les contributeurs au projet porteront leur choix sur les décisions techniques et les combats d’idées des deux potentiels leaders.
Si par prolétarisation, on entend processus qui conduit à la perte de conaissance critique et de savoir faire, on a réellement à faire ici à une économie de la contribution dans le sens ici ou les amateurs du logiciel libre sont par définition les principaux acteurs d’une déprolétarisation massive du secteur de l’informatique.
Bibliographie
http://www.gnu.org/philosophy/open-source-misses-the-point.html
http://www.linuxtoday.com/news_story.php3?ltsn=2000-09-05-001-21-OP-LF-KE
http://eu.conecta.it/paper/brief_history_open_source.html
http://www.gnu.org/gnu/gnu-history.html
1 http://www.redhat.com/about/companyprofile/history/
2 http://ec.europa.eu/enterprise/ict/policy/doc/2006-11-20-flossimpact.pdf
This entry was posted
on Tuesday, July 7th, 2009 at 1:27 am and is filed under Uncategorized.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
Excellent article!
Intéressante dernière partie, ou tu reprends les fondamentaux d’Ars Industrialis. Ce serait passionnant aussi de faire un parallèle avec les CVS, et l’impact d’un gestionnaire de version de code distribué comme Mercurial ou Git sur l’organisation interne des commauntautés de développeurs ( cf. article du LinuxMag de ce mois… ). Et donc si je comprends bien, les rétentions tertiaires ayant elles aussi leurs dispositifs techniques, il conviendrait de les (re)mettre au centre du mileu associé, pour ne plus considérer ces communautés comme non-organisées.
ça doit être intéressant de mettre en relation ce que ta dissertation avec les travaux de Moulier-Boutang sur le capitalisme cognitif.
Excellent article,
surtout la partie qui décrit les 3 types de licences copyleft.
J’étais un peu embrouillé sur les différences.
Merci!
Ps : J’aime bien ton nouveau thème
Merci pour ce petit rappel de l’histoire, il me manquais quelques brides, ben vi j’ai pas 1010000 ans
Chia les loulou, Maureen