Histoire du logiciel libre

évolution du mouvement des logiciels libres et open source

L'histoire du logiciel libre est intimement imbriquée avec celle de l'informatique et celle du génie logiciel. Elle ne commence en tant que telle qu'à partir du moment où est apparu le besoin de distinguer le logiciel libre du logiciel propriétaire, selon le principe énoncé pour Le Cru et le Cuit.

Ces prémices datant de la fin du XXe siècle, il ne peut s'agir d'une discipline académique. L'histoire du logiciel libre est donc présentée ici de façon informelle.

Prémices

modifier
Manipulation des nombres sur un boulier.

Historique

modifier

Le logiciel libre trouve ses sources dans le rapport au savoir et à la connaissance générale propres à l'informatique. Le terme « informatique » est à prendre ici dans son sens premier de mécanisme d'information automatique, comparable aux formes les plus archaïques comme le boulier, compréhensible et réutilisable par n'importe qui.

L'ENIAC, la première machine brevetée comme ordinateur, mais pas forcément le premier ordinateur.

Plus récemment, certaines de ces logiques élaborées en intelligence artificielle empruntent des principes aux mathématiques et aux neurosciences entre autres, toujours sans restrictions liées à des notions de propriété intellectuelle.

Parmi les nombreux précurseurs qui ont effectué la transition entre un paradigme de connaissances multiples et un paradigme logiciel, on peut citer John von Neumann et Julian Bigelow avec la machine ENIAC de 1948. Celle-ci fut brevetée comme le premier ordinateur numérique, mais un procès en 1973 jugea qu'elle avait repris les idées de l'ordinateur ABC. C'est peut-être le premier conflit de propriété sur la paternité des logiques liées à l'informatique.

Période universitaire

modifier

Jusque dans les années 1970, les logiciels étaient plus ou moins libres d'être étudiés, utilisés, modifiés, du moins à l'intérieur du cadre universitaire, suivant ainsi la logique des sciences en général. Ce n'était pas forcément lié aux lois en vigueur, mais aucun intérêt commercial ne s'y opposait puisque seules de grosses compagnies pouvaient acheter des ordinateurs et les logiciels associés. Elles avaient tout intérêt à permettre la création de communautés de développeurs pour favoriser l'amélioration du logiciel (qui était donc leur propriété).

Autrement dit, le peu de personnes compétentes et la structure du marché pour lequel était utilisé le logiciel le rendait plus ou moins libre dans les faits.

La protection des logiciels

modifier

Les communautés de développeurs réalisent des avancées techniques importantes en travaillant sur de nouveaux programmes informatiques. Le système d’exploitation UNIX et l’éditeur de texte TECO (qui servira de base à Emacs) sont par exemple plusieurs fois améliorés par des universitaires américain de Yale, Purdue ou encore Berkeley[1].

Ces progrès techniques de plus en plus important soulignent l’importance que pourrait prendre les logiciels dans la société à l'avenir. Certains développeurs prennent conscience du potentiel commercial de leurs créations et de l’intérêt de les protéger. Bill Gates, créateur de Microsoft en 1975, est de ceux-là. En 1976, il envoie au groupe d’informatique dont il fait partie la lettre An Open Letter to Hobbyists pour dénoncer le manque de moyen dont les développeurs disposent pour protéger leurs créations

En octobre de la même année, la loi du copyright act, qui fixe les bases du droit d’auteur aux États-Unis, est adoptée. Les logiciels sont désormais protégés par le droit d’auteur américain. Selon la loi, pour copier un programme, il faut désormais demander l’autorisation à l’auteur de ce programme[2]. Il faut savoir qu’à l’époque, hackers, programmeurs et développeurs avaient tendance à piocher dans le code source de n’importe quel logiciel sans se soucier des éventuels droits d'auteur.

La tendance législative s’amorce donc en faveur d’une protection plus forte du code informatique, ce qui va progressivement impliquer pour un utilisateur de devoir acheter une licence pour utiliser des logiciels, sans pour autant pouvoir en modifier le code. La majorité des logiciels deviennent alors des produits commerciaux.

La loi sur le copyright marque un tournant et amorce le début d’une division entre les partisans du logiciel libre et les partisans du logiciel propriétaire.

Transition

modifier

C'est dans ce contexte, dans les années 1980, qu'un programmeur de système d'exploitation au Massachusetts Institute of Technology (MIT), un certain Richard Stallman, commence à constater des restrictions des possibilités d'utilisation. Il se trouve face au problème éthique de devoir développer des logiciels dont l'utilisation sera restreinte, qui ne pourront pas être partagés en raison des droits du propriétaire du logiciel (souvent distinct du créateur). Stallman commença à constater ces restrictions en présence de programmes sur lesquels il ne pouvait intervenir, un pilote d'imprimante notamment[3]. Bob Sproull (en) aurait refusé de lui fournir le code source en raison d'un contrat de non divulgation que Xerox avait passé avec lui, pratique encore peu courante à l'époque[4].

Bien qu'anecdotique, cette petite histoire est souvent prise comme étant le point de départ de l'informatique libre, puisque c'est à partir de là semble-t-il que ce Richard Stallman consacrera son énergie à résoudre ce problème de conscience, ce qui fera de lui le premier et le plus emblématique des ambassadeurs du logiciel libre.

Le mouvement du logiciel libre

modifier

Un mouvement social s'est petit à petit constitué pour faire évoluer les droits que les utilisateurs ont sur le logiciel afin d'accéder à la libre circulation des informations dans ce domaine.

Les idées

modifier

Exposition des problèmes

modifier

Richard Stallman explique dans Pourquoi les logiciels ne doivent pas avoir de propriétaire une « analogie abusive avec les objets matériels[5]. ». Pour expliquer ce qui sera repris dans la notion de biens rivaux il y utilise la métaphore culinaire (qu'il reprendra régulièrement[6]) pour dissocier le plat qui, s'il est pris par quelqu'un d'autre peut entraîner un manque, et la recette de cuisine. Partager la recette selon lui ne peut être que bénéfique, puisque cela ne crée pas de manque, et qu'au contraire peut profiter à celui qui la donne s'il peut profiter à son tour des améliorations apportées.

Il précise dans le "manifeste GNU" que

« Extraire de l'argent des utilisateurs d'un programme en restreignant leur utilisation du programme est destructif parce que, au bout du compte, cela réduit la quantité de richesse que l'humanité tire du programme. {…} C'est la morale kantienne, ou règle d'or. Puisque je n'aime pas la situation qui résulte d'une rétention générale de l'information, il me revient de considérer comme immoral d'agir ainsi[7]. »

Le problème n'était donc pas seulement de permettre la réutilisation du code source, mais de faire en sorte que l'information qu'il contient reste en libre circulation, et que les avantages qu'il procure restent librement utilisables.

Stallman précise les raisons de cette différenciation[8] : de son point de vue, ramenés à quelques concepts élémentaires les logiciels sont des idées, et on peut les découper en logiques simples dont le nombre devient alors limité.

De ce point de vue une partie de code réutilisable peut se trouver en situation de ne pouvoir fonctionner qu'associé à des éléments propriétaire. Dans ce cas, son utilisation dans un contexte fonctionnel est donc soumis aux limites de copyright des éléments propriétaires indissociables.

Solution utilisée

modifier
Levitating Gnu par Nevrax Design Team

Considérant que le système d'exploitation est un élément stratégique indispensable, il entreprit en 1983 la conception d'un système d'exploitation libre, GNU, auquel il se consacra entièrement à partir de 1984 après avoir démissionné du MIT.

Pour mettre en place son projet GNU, il dut préciser les principes du logiciel libre décomposés en quatre libertés fondamentales : celle d'utiliser, d'étudier, de modifier et de redistribuer des versions modifiées.

Le copyleft

modifier
Logo du copyleft.

Les principes énoncés pour le logiciel libre étaient déjà existant dans le cadre universitaire par exemple, mais pour développer GNU, les contributeurs intéressés par le projet (et Richard Stallman lui-même) voulaient être certain que leurs apports resteraient libres.

L'idée d'interdire d'interdire sera alors exprimée par le copyleft (ou gauche d'auteur[9]) dont la finalité est clairement exposée dans le manifeste GNU :

« L'idée centrale du gauche d'auteur est de donner à quiconque la permission d'exécuter le programme, de le copier, de le modifier, et d'en distribuer des versions modifiées - mais pas la permission d'ajouter des restrictions de son cru. C'est ainsi que les libertés cruciales qui définissent le « logiciel libre » sont garanties pour quiconque en possède une copie; elles deviennent des droits inaliénables[10]. »

Ce copyleft va au-delà des principes du logiciel libre en les imposant définitivement à tout ce qui est créé à partir d'éléments copyleftés. Il a alors été qualifié viral et la question de savoir si appliquer le copyleft rend le logiciel plus libre ou moins libre est l'un des débats sans fin les plus courants (voir troll).

Les licences GNU

modifier

Ce principe de copyleft dut s'inscrire dans le cadre légal pour être utilisable. C'est avec Eben Moglen que sont mises au point les licences qui précisent sur le principe du droit d'auteur les conditions d'utilisation que celui-ci impose aux utilisateurs, en l'occurrence la pérennité des principes du logiciel libre.

Les licences GNU font leur apparition avec la licence GNU Emacs de 1985. Mais cette licence manque de formalisme juridique, ne s'applique qu'au logiciel GNU Emacs, et exige l'envoi de toute modification du code au projet GNU, ce qui crée une hiérarchisation de fait entre programmeurs. Stallman s'attache donc rapidement à élaborer une licence mieux rédigée, plus égalitaire et d'un objet plus général, la GPL. Celle-ci va évoluer sur plusieurs années, jusqu'à la version 1.0 de 1989. La GNU General Public License sera rapidement accompagné de versions adaptées à des cas particulier, la LGPL (GNU Lesser General Public License et la GFDL (GNU Free Documentation License).

Les groupes

modifier

La Free Software Foundation

modifier
Logo de la Free Software Foundation, organisation à but non lucratif dont la mission est la promotion du logiciel libre et la défense des utilisateurs.

La mise au point du système GNU exigeait la réunion de personnes, la création d'une communauté, autour du projet. La création de la Free Software Foundation (FSF) en 1985 avait ce rôle, rôle que l'on peut retrouver sous diverses formes d'associations liées aux développement de tous les grands logiciels libres.

Mais en tant que mouvement précurseur, la FSF a aussi un rôle plus imbriqué avec la défense du logiciel libre en général, avec des intentions plus sociales et politiques. On peut citer sa présence indirecte dans des domaines comme les brevets logiciels, ou les systèmes de gestion des droits des utilisateurs (DRM).

Le mouvement open source

modifier
Logo Open Source Initiative, organisation dévouée à la promotion des logiciels open source.

Les principes du logiciel libre ne se limitent pourtant pas à ceux du mouvement initial associé au projet GNU, souvent jugé radical, et parfois anti-commercial[Par qui ?][réf. nécessaire]. Parmi les mouvements émergents il y a celui de l'open source né en 1998.

La figure emblématique de ce mouvement est Eric Raymond qui a analysé les avantages de ce mode de fonctionnement et les a exposé dans son livre La Cathédrale et le Bazar. Il est également le fondateur avec Bruce Perens de l'Open Source Initiative qui se veut plus proche des problèmes techniques et économiques. La définition de l'open source aurait été faite par ce dernier à partir des principes du logiciel libre selon Debian[11].

Pour les uns, et notamment ses créateurs, cette institution défend le logiciel libre mais sous une forme plus présentable et moins ambigüe. Pour les autres, dont Stallman, même à travers une pratique technique identique, ce mouvement tend à perdre la motivation première de défense des libertés.

C'est également une question à l'origine de débats accentuant les discordes, bien qu'il existe des mouvements qui tendent à réunir les deux camps, comme à travers le terme FLOSS, et que la différence soit souvent purement syntaxique dans l'esprit de ceux qui les emploient[12].

Le logiciel libre est également défendu par des réseaux militants alternatifs comme Samizdat. Samizdat est ainsi à l'origine de l'organisation des Zelig Conferences.

L'évolution du logiciel libre

modifier
Arbre généalogique des systèmes Unix, les versions libres commencent à partir de BSD et GNU

Il existait avant le projet GNU de nombreux logiciels libres, principalement les travaux issus des grandes universités; on peut citer le système de fenêtrage X Window repris dans le projet GNU, mais ils ont toujours ou très majoritairement été inclus ou associés à des structures dites propriétaires dans le cadre de leur utilisation.

Les distributions

modifier

Historiquement il existait déjà très tôt des systèmes d'exploitation libres qui n'imposent pas de par leur licence de droits inaliénables de l'utilisateur à la façon copyleft. Ils sont souvent défendus comme étant donc plus libres. Le plus emblématique est le système BSD, une autre architecture de type Unix dont la première version date de 1977 et que l'on retrouve sous de nombreuses déclinaisons, y compris dans des systèmes d'exploitation dit propriétaires qui peuvent en utiliser des parties, comme NeXTSTEP puis Mac OS X.

C'est le premier système d'exploitation libre, car il répond aux qualifications de logiciel libres qui seront établies plus tard. Si le mouvement du logiciel libre ne l'a pas adopté pour autant, c'est que ces licences accordent des droits proches du domaine public, ce qui était jugé trop permissif pour aboutir à des systèmes préservant les libertés de l'utilisateur. Cette idée est source de polémique et ne peut de toute façon pas stigmatiser le mouvement BSD comme le prouve le développeur Theo de Raadt.

Les distributions GNU/Linux issues du mouvement des logiciels libres.

Le premier système d'exploitation libre à la sauce copyleft donc issu du projet GNU n'est apparu qu'en 1992 avec la première réunion des éléments de GNU en développement depuis 1984 et du Noyau Linux. Ce dernier a été créé par Linus Torvalds en s'inspirant partiellement de Minix, et diffusé sous licence GPL en 1991. Il a ensuite été sans cesse amélioré par de très nombreux autres programmeurs de par le monde (dont Alan Cox) pour devenir un des noyaux de système d'exploitation de référence.

C'est sur cette base dite GNU/Linux mais plus couramment appelée Linux que se sont constituées les premières Distribution Linux, qui ont le plus souvent servi de base de conception aux plus récentes. Parmi les plus emblématiques on peut citer Slackware, Debian et Red Hat, dont la distinction à l'origine se fit par leurs philosophies respectives: l'excellence technique, l'universalité défendue par la FSF (à travers la personnalité de Ian Murdock), et l'ajustement aux besoins commerciaux.

Les logiciels associés

modifier

Les serveurs

modifier

Une des premières utilités répandues de ces systèmes d'exploitation libre est la distribution de données, on parle de serveur informatique. Un logiciel distribuant ces données "sur le Web" serveurs Web est le serveur http Apache qui a joué un grand rôle dans la démonstration des capacités (encore peu reconnues) des logiciels libres. Il est associé comme la plupart des grands acteurs du logiciel libre à une organisation, la fondation Apache, et à un type de licence particulier répondant à des besoins précis, la licence Apache.

Créé en 1995 à partir d'un logiciel du domaine public, il est étroitement lié au couple PHP/MySQL, qui réunit le langage de programmation de pages web dynamiques PHP créé en 1994 par Rasmus Lerdorf, et le gestionnaire de base de données associé MySQL créé en 1995 et passé sous licence GPL en 2000.

Les interfaces graphiques

modifier
KDE 1.0
KDE 4.0
GNOME 2.20

En parallèle de cette envolée, dans les années 1995, les mécanismes techniques de l'interface graphique étaient déjà en développement depuis longtemps. Un des personnages centraux de ce travail est Keith Packard, et un ensemble de logiciels utilisant presque systématiquement la lettre X (X11 X.org…). Pourtant les interfaces "homme/machine" n'étaient pas très évoluées ni intuitives, et les systèmes à base de logiciels libres étaient réputés pour être réservés aux informaticiens.

Une des révolutions vient de l'inclusion à ces systèmes de l'interface graphique KDE, un environnement de bureau puissant, mais fondé sur une bibliothèque d'éléments alors propriétaires. La réaction de la part des défenseurs du tout libre fut la création du projet concurrent GNOME et de bibliothèques libres compatibles, Harmony. Les bibliothèques Qt en question furent mises sous licence GPL, mettant fin au projet Harmony, mais pas au projet GNOME. Les deux interfaces graphiques ont continué à se développer parallèlement et parfois dans un profond dénigrement réciproque, alimenté entre autres par une figure de proue du système GNOME, Miguel de Icaza. La tendance générale est pourtant au rapprochement en particulier autour de l'initiative freedesktop.

Là encore, au-delà du simple logiciel ce sont de véritables organisations qui se sont constituées autour de principes clairement annoncés[13].

Les langages de programmation

modifier

À l'opposé de l'interface graphique, c'est-à-dire hors de portée de ce qui est visible par l'utilisateur final, une des bases du logiciel est le langage de programmation.

Certaines structures sociales autour de ces langages sont de type logiciel libre. Le langage Perl a été créé en 1987 par Larry Wall et édité lui directement sous licence GPL puis sous sa propre licence, Artistic License, le tout maintenu par un organisme à but non lucratif, The Perl Foundation.

De la même manière, le langage python, créé en 1990 par Guido van Rossum, est géré par la Python Software Foundation et édité sous la Python Software Foundation License.

Les logiciels multiplate-forme

modifier

C'est une autre orientation du développement que l'on peut dire transversale qui voit un logiciel particulier tendre à devenir la référence pour une tâche donnée, tous systèmes confondus. Cette orientation multiplate-forme n'est pas toujours très appréciée par ceux qui cherchent à obtenir un système complètement libre, plutôt qu'une fonctionnalité libérée dans un environnement qui ne l'est pas forcément.

On peut citer différents exemples de logiciels type suivant la part de conception dans un contexte du logiciel libre.

  • Type GNU, l'exemple Gimp

Logiciel historique du projet GNU, il s'est répandu de par ces qualités à d'autres environnements que celui prévu à l'origine. Cette conception d'abord exclusive l'a en partie limité dans cette extension (le type de fenêtrage, ou la bibliothèque GTK+ le rendent parfois plus efficace dans son cadre habituel).

Issus de la libération d'un logiciel propriétaire, ici Netscape, et repris par une organisation à but non lucratif, ici la Fondation Mozilla. Il est considéré comme une réussite incontestable dans le domaine du logiciel libre, de par la forte diffusion de son produit phare, le navigateur web Firefox, mais aussi par la façon dont il s'est structuré face à une forte concurrence commerciale qui diffuse le plus souvent elle aussi ses navigateurs gratuitement.

C'est un autre exemple de réussite de logiciel libre indépendant des plates-formes, mais son mode de fonctionnement est très différent. C'est l'entreprise Sun Microsystems (aujourd'hui Oracle Corporation) qui a choisi d'utiliser la licence GPL pour distribuer sa suite bureautique. Elle continue à payer des salariés pour son développement, en partie pour promouvoir le Java.

  • Type libre hors contexte, l'exemple VLC

Ce sont des logiciels de conception libre dès l'origine attachés à une tâche bien précise (ici la lecture de flux) qui ont utilisé la licence libre pour des raisons logiques, ici un développement universitaire. Sur des bases qui ne sont pas toujours celles des principes originaux, nombre de logiciels de ce genre ont profité des avantages logiques que peut apporter ce type de licence pour connaitre dans le cas de VLC une évolution rapide dans un domaine pourtant très concurrentiel.

L'utilisation des principes au-delà du logiciel

modifier

Une des formes les plus inattendues des licences et des principes issue du mouvement du logiciel libre est certainement celui du principe de culture libre[pas clair]. Il en découle en grande partie, dans la façon d'aborder le principe de propriété culturelle notamment, mais il s'en distingue très largement.

Les zones d'information

modifier

L'échange lié au logiciel libre pour se tenir au courant des nouveautés, des problèmes, et aussi pour débattre s'est en partie mis en place à travers des organisations autonomes comme Slashdot. Elle ne se limite pas au logiciel libre, mais ces concepts y sont repris et très présents.

Les annuaires

modifier

Une des formes les plus proches du logiciel est celle qui consiste à recenser les logiciels libres (sur internet), comme le fait Framasoft. On peut constater que le site s'est étoffé en ajoutant une partie dite expression libre et une dite culture libre. Ce type de référencement libre peut aussi être imagé par l'annuaire dmoz.

Les licences artistiques

modifier

Une autre évolution plus indirecte mais toujours très liée sur le plan culturel est celle de la création de licences particulières permettant de stipuler des autorisations de réutilisation. La première, rédigée en juillet 2000 à l'initiative de l'artiste Antoine Moreau, est la Licence Art Libre. La plus connue est Creative Commons, fondé par Lawrence Lessig, qui tente de faciliter pour l'auteur d'une œuvre le choix de ce qu'il souhaite partager ou non.

La création mise en commun

modifier
Richard Stallman lors de Wikimania en 2005

C'est également sur les bases historiques du mouvement du logiciel libre qu'ont pu se mettre en place des structures comme Wikipédia. La base logicielle MediaWiki est de type logiciel libre, et un soin particulier est mis sur la possibilité de redistribution, donc sur l'identification du type de licence utilisée pour les fichiers ajoutés comme les images.

Historiquement, il y eut certainement une émulation d'idée avec le projet GNUPedia[14].

Notes et références

modifier
  1. « Origins and History of Unix, 1969-1995 », sur homepage.cs.uri.edu (consulté le )
  2. Richard M. Stallman, Sam Williams et Christophe Masutti, Richard Stallman et la révolution du logiciel libre : Une biographie autorisée, Eyrolles, , 338 p. (ISBN 978-2-212-19254-4, lire en ligne)
  3. « J'avais déjà eu l'expérience douloureuse des accords de non-divulgation, quand quelqu'un m'avait refusé, ainsi qu'au laboratoire d'IA du MIT, l'accès au code source du programme de contrôle de notre imprimante (l'absence de certaines fonctionnalités dans ce programme rendait l'utilisation de l'imprimante très frustrante). Aussi ne pouvais-je pas me dire que les accords de non divulgation étaient bénins. J'avais été très fâché du refus de cette personne de partager avec nous ; je ne pouvais pas, moi aussi, me comporter d'une telle manière à l'égard de mon prochain. »(source)
  4. Cette information est issue du document Libre comme Liberté (traduit de l'anglais Free as in Freedom), par Sam Williams, chapitre 1, disponible sur Wikisource.
  5. Pourquoi les logiciels ne doivent pas avoir de propriétaire
  6. Il l'utilisera par exemple devant la caméra dans le documentaire Nom de code Linux diffusé sur arte
  7. Le manifeste GNU
  8. Lors d'une conférence à l'Assemblée Nationale (en France) à propos des brevets logiciels (source général source audio direct), ou de façon proche dans une lettre ouverte au parlement italien où il écrit Contrairement au droit d’auteur [NDT : "copyright"], qui protège les détails d’un programme dans son ensemble mais pas les idées qu’il met en jeu, un brevet logiciel impose un monopole d’état sur l’utilisation d’une technique. Or un logiciel complexe utilise des milliers de techniques de ce genre. source
  9. Cette appellation est basée sur un double jeu de mots opposant deux sens distincts des mots right et left, le premier opposant littéralement « droite » et « gauche », le second opposant « le droit » et « l'abandon », signifiant ainsi que l'auteur renonce à ses droits d'auteur sur son travail.
  10. Le manifeste GNU sur wikisource
  11. On peut lire « Plus tard, Bruce Perens retira toute référence au projet Debian des DFSG pour en faire la Définition de l'open source » ici.
  12. On peut voir sur cette vidéo Bruce Perens expliquer que « quand [il dit] open source [il entend] la même chose que quand Richard dit logiciel libre. »
  13. Par exemple dans le manifeste KDE et la présentation de la fondation gnome
  14. The Free Universal Encyclopedia and Learning Resource - GNU Project - Free Software Foundation (FSF)

Voir aussi

modifier

Bibliographie

modifier
  • Camille Paloque-Berges (dir.) et Christophe Masutti (dir.), Histoires et cultures du Libre : Des logiciels partagés aux licences échangées, Paris/Rocquencourt, Framasoft, coll. « Framabook », , 580 p. (ISBN 978-2-9539187-9-3, présentation en ligne)

Articles connexes

modifier

Liens externes

modifier