Philosophie du logiciel libre

Le logiciel libre[1] désigne un logiciel respectant la liberté de l'utilisateur. Un logiciel libre n'est pas forcément gratuit.
Un programme est un logiciel libre si l'utilisateur de ce programme possède les quatre libertés suivantes:

  • Liberté 0: la liberté de faire fonctionner le programme comme tu l'entends, pour n'importe quel usage
  • Liberté 1: la liberté d'étudier le fonctionnement du programme, et de le modifier pour qu'il effectue des tâches informatiques comme tu le souhaites; l'accès au code source en est une condition nécessaire
  • Liberté 2: la liberté de redistribuer des copies, donc d'aider les autres
  • Liberté 3: la liberté de distribuer aux autres des copies de vos versions modifiées; en faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements; l'accès au code source en est une condition nécessaire.

Historique

L'initiateur du mouvement s'appelle Richard Stallman[2].

Photo de Richard Stallman

En 1971, alors étudiant en physique et mathématiques à Harvard, il devient hacker au département de recherche en IA au MIT. Il y découvre l'éthique des hackers (partage des connaissances, refus de l’autorité et perfectionnisme).

Après l'obtention de son diplôme à Harvard, il débute un doctorat en physique au MIT. Il finit par y renoncer pour se concentrer sur son travail au département IA.

Il constate un délitement de l'esprit hacker, avec des sociétés cachant de plus en plus leur code source ou utilisant des licences fermées, ayant pour conséquence le vote du "Copyright Act of 1976".

En 1980, une nouvelle imprimante est installée au département IA. Richard et ses collègues tentent alors de reproduire les modifications apportées à la précédente (Xerographic Printer): Un message était envoyé à l'utilisateur une fois que son impression était terminée et tous les utilisateurs connectés étaient prévenus si l'imprimante se trouvait bloquée. Mais ils n'eurent pas le droit d'accéder au code source, ce qui était problématique car l'imprimante n'était pas au même étage que les utilisateurs.

Photo d'une imprimante Xerox 9700

Il lance en 1983 le projet GNU, à la fois un système d'exploitation (Operating System) et une licence logiciel (connue aussi sous le nom de GPL).
En 1985, il crée la Free Software Foundation (association à but non lucratif - 501(c)(3)[3]), qui permet la promotion du logiciel libre et l'embauche de programmeurs du logiciel libre. C'est cette fondation qui publie les 4 règles régissant le logiciel libre.
Il publie également la même année le manifeste GNU[4].

GNU est un acronyme récursif, signifiant: GNU's not Unix[5].

GNU possédait de nombreux outils, tels Emacs (éditeur de texte), GCC (un compilateur) et Make (automatisation de tâches). Ces outils sont toujours utilisés et mis à jour.
Il manquait par contre un noyau.

Linux

Linux est un projet issu de la thèse de master en informatique de Linus Torvald[6].
"Linux: A Portable Operating System".

Le prototype du noyau Linux est publié en 1991 en tant que logiciel propriétaire, puis republié en 1992 sous licence GPL 2.
Linus Torvald crée également le logiciel de version, Git, en 2005 (toujours sur licence GPL 2).

En 2003, il entre aux Open Source Development Labs pour se consacrer entièrement à la maintenance du noyau Linux (laboratoires désormais intégrés à la Linux Foundation[7], consortium composé de Fujitsu, Hitachi, HP, IBM, Intel, AMD, NEC, Novell, Oracle, LG Group, Yahoo!, Samsung, Twitter, Valve, Microsoft et d'autres).

Contrairement à Stallman, il se moque de la liberté de Linux, se rapprochant davantage de l'Open source.
Il dirige son équipe de développeurs en "dictateur bienveillant". Si les contributions linux sont nombreuses, il se comporte de manière intransigeante et ses sorties sur la "qualité" des contributions sont légion.

Linux possède sa mascotte, appelée Tux[8] (représentant un pingouin).

Tux

Linux is a tough competitor. There's no company called Linux, there's barely a Linux road map. Yet Linux sort of springs organically from the earth. And it had, you know, the characteristics of communism that people love so very, very much about it. That is, it's free.
Déclaration de Steve Ballmer[9], ancien CEO de Microsoft

En 2018, Microsoft est un des plus gros contributeurs au noyau Linux.

"Open Source"?

Les licences open source sont le fruit de l’OSI[10], née à la suite de divergences philosophiques avec la Free Sofware Foundation.

L’OSI souhaitait proposer une licence plus lisible aux professionnels et entreprises qui avaient tendance à repousser les licences libres pour de nombreuses raisons, parmi lesquelles le problème de compréhension entre « libre » et « gratuit ».

L'OSI définit l'Open source selon 10 critères:

  • Condition 1: la libre distribution logicielle: la licence ne peut, par exemple, faire l’objet d’une redevance supplémentaire;
  • Condition 2: le code source doit être fourni ou accessible. Un patch peut être fourni en tant que package indépendant, ce qui n’est pas possible avec un logiciel libre ou il faut obligatoirement fournir toute le code même pour l’ajout d’un seul correctif;
  • Condition 3: les dérivés des œuvres doivent être permis;
  • Condition 4: l’intégrité du code source doit être préservée, la licence ne peut restreindre l’accès au code source;
  • Condition 5: pas de discrimination entre les groupes et les personnes: toute personne détentrice du logiciel bénéficie des termes de la licence tant qu’elle s’y conforme elle-même;
  • Condition 6: pas de discrimination entre les domaines d’application: la licence se limite à la propriété intellectuelle: elle ne peut en aucun cas réguler d’autres domaines politiques;
  • Condition 7: la licence s’applique sans dépendre d’autres contrats: on ne peut par exemple ajouter d’accord de confidentialité (« NDA » ou Non Disclosure Agreement) lors de la cession du logiciel;
  • Condition 8: la licence ne doit pas être propre à un produit, elle est attachée au code source et non à un logiciel particulier: une brique logicielle peut donc être ré-utilisée dans un logiciel différent, voir concurrent;
  • Condition 9: la licence d’un logiciel ne doit pas s’étendre à un autre;
  • Condition 10: la licence doit être neutre technologiquement, c’est-à-dire la qu’elle ne concerne que le code et pas les technologies et applications qui en découlent;

Il est possible de citer deux différences majeures entre le libre et l'open source:

  • L'open source est pragmatique et apolitique
  • Un logiciel open source est compatible avec des briques privées, perdant la liberté de fait de modifier et distribuer l'ensemble, ce qui est obligatoire avec le logiciel libre.

L'Open source est davantage missible dans le capitalisme que le libre, puisque le but est d'abord l'interopérabilité entre différentes briques logicielles.

Un extrait d'une interview[11] de Stallman où il parle du mouvement Open Source:

Rob Lucas: You’ve argued that this foregrounding of freedom radically differentiates your movement from so-called ‘open source’, which started later.

Richard Stallman: Open source is an amoral, depoliticized substitute for the free-software movement. It was explicitly started with that intent. It was a reaction campaign, set up in 1998 by Eric Raymond—he’d written ‘The Cathedral and the Bazaar’—and others, to counter the support we were getting for software freedom. When it started, Eric Raymond called me to tell me about this new term and asked if I wanted to use it. I said, I’ll have to think about it. By the next day I had realized it would be a disaster for us. It meant disconnecting free software from the idea that users deserve freedom. So I rejected it.

Rob Lucas: It’s one of the ironies of the history of free software that its moment of greatest fame was associated with this term, open source, which you reject.

Richard Stallman: Because it’s not the name of a philosophy—it refers to the software, but not to the users. You’ll find lots of cautious, timid organizations that do things that are useful, but they don’t dare say: users deserve freedom. Like Creative Commons, which does useful, practical work—namely, preparing licences that respect the freedom to share. But Creative Commons doesn’t say that users are entitled to the freedom to share; it doesn’t say that it’s wrong to deny people the freedom to share. It doesn’t actively uphold that principle. Of course, it’s much easier to be a supporter of open source, because it doesn’t commit you to anything. You could spend ten minutes a week doing things that help advance open source, or just say you’re a supporter—and you’re not a hypocrite, because you can’t violate your principles if you haven’t stated any. What’s significant is that, in their attempt to separate our software from our ideas, they’ve reduced our ability to win people over by showing what those ideas have achieved. People who don’t agree with us—people who think what matters is what’s convenient—have a right to present their views. But they did it in a way that misrepresents us, too. And that, I think, is unfair.

La propriété intellectuelle (Culture du brevet VS copyleft)

La propriété intellectuelle régit l'ensemble des procédés juridiques encadrant la propriété d'une création culturelle (musique, littérature, art, création industrielle par le biais du brevet, labelisation et droit des marques).

Celle-ci s'oppose au domaine public, donnant accès gratuitement à l'ensemble des savoirs humains détachés de propriété.

Le copyleft[12] permet à un auteur, pour un travail régi par la propriété intellectuelle, d'en autoriser la copie, la modification et la distribution. La personne ou l'organisation redistribuant le travail, avec ou sans modification devra transmettre cette même liberté. Le copyleft est un système viral.

Le problème du domaine public, selon Stallman, était la capacité d'une entreprise à accaparer un savoir et le rendre privé, faussant la liberté définie dans le manifeste GNU.

Licences

GNU-General-Public-License

  • GNU General Public Licence (actuellement en version 3)

  • GNU Lesser General Public Licence (actuellement en version 3)
    C'est la dernière version de la licence publique générale GNU amoindrie (GNU LGPL) : une licence de logiciel libre, mais qui n'est pas un copyleft fort, car elle permet de lier des modules non libres.

  • GNU All permissive
    C'est une licence de logiciel libre permissive compatible avec la GNU GPL. Elle n'est donc pas associée au copyleft.

Il y a d'autres licences étendues en dehors du domaine du logiciel libre comme les licences de documentation et les licences culturelles (comme Creative Commons).

Tu trouveras la liste des licences libres ici: https://vvlibri.org/fr/licences.

Des exemples de logiciels libres

Linux, Firefox, VLC, Inkscape, Blender

Les associations du libre en France

https://framasoft.org/fr/
https://aful.org/
https://www.april.org/
https://www.laquadrature.net/
https://vvlibri.org/fr


En complèment, tu trouveras une émission récente (07/11/2018, 58'54'') sur le sujet:
https://www.franceculture.fr/emissions/la-methode-scientifique/la-methode-scientifique-du-mercredi-07-novembre-2018

Vincent Strubel[13] y évoque Clip OS[14], un OS sécurisé, basé sur le noyau linux.


Ci-joint le "Hacking manifesto", écrit en 1986 par "The mentor" (Loyd Blankenship). Je n'ai pas trouvé de traduction, donc voici la mienne:

The Hacker Manifesto (texte originel: http://www.mithral.com/~beberg/manifesto.html)

by
+++The Mentor+++
Written January 8, 1986

Un de plus était arrêté aujourd'hui, c'est dans tous les journaux. "Un adolescent arrêté pour un crime informatique", "Un hacker arrêté après une manipulation bancaire"...

Foutus enfants. Tous les mêmes.

Mais avez-vous, dans votre psychologie étriquée et votre pensée arriérée, jamais essayé de vous mettre à la place du hacker? Qu'est-ce qui le pousse à faire ça?

Je suis un hacker, entrez dans mon monde...

Le mien a commencé à l'école. Je suis plus intelligent que la plupart des enfants présents, leur enseignement m'ennuie.

Foutus médiocres. Tous les mêmes.

Je suis à l'école. J'ai écouté les profs expliquer pour la 15ème fois comment résoudre une fraction. J'ai compris. "Non, Madame smith, je ne l'ai pas écrit, je l'ai résolu de tête".

Foutu gosse. Il a probablement triché. Tous les mêmes.

J'ai fait une découverte aujourd'hui, un ordinateur. Eh mais, c'est cool. Ca fait ce que je veux. Si ça se trompe, c'est que j'ai déconné, pas parce que ça ne m'aime pas... Ou se sent menacé par moi.. Ou pense que je suis un monsieur-je-sais-tout.. Ou n'aime pas m'enseigner, pensant que je ne devrais pas être là...

Foutu gosse. Il passe son temps à jouer. Tous les mêmes.

Et c'est arrivé... une porte ouverte sur le monde... circulant par la ligne téléphonique comme l'héroine dans les veines d'un drogué, une fréquence électronique circule, la recherche d'un refuge face aux demeurés... un lieu est trouvé. "C'est ça, c'est ici que je suis chez moi" Je connais tout le monde ici... même si je ne les ai jamais rencontré, ou même parlé avec eux... Je vous connais tous...

Foutu gosse. Occupant encore la ligne téléphonique. Tous les mêmes...

Vous estimez que nous sommes tous les mêmes. Nous avons été nourris comme des bébés à l'école quand nous voulions des steaks. Vous ne nous laissiez que des miettes prémâchées et sans goût. Nous avons été dominés par des sadiques ou ignorés par des apathiques. Certains avaient des choses à nous apprendre, mais ils sont une goûte d'eau dans l'océan.

C'est notre monde maintenant... le monde de l'électron et du switch, la beauté du baud[15]. Nous utilisons un service existant sans payer ce qui devrait être donné si ce n'était pas tenu par des gloutons, et vous nous appelez criminels. Nous explorons et vous nous appelez criminels. Nous cherchons à apprendre et vous nous appelez criminels. Nous existons en dehors de toute couleur de peau, de nationalité, de religion. Vous construisez des bombes atomiques, provoquez des guerres, vous tuez, trichez et nous mentez et vous essayez de nous faire croire que c'est pour notre bien, mais nous sommes les criminels.

Oui, je suis un criminel. Mon crime est d'être curieux. Mon crime est de juger les gens sur ce qu'ils disent ou pensent, non sur leur apparence. Mon crime est de vous surpasser, chose que vous ne me pardonnerez jamais.

Je suis un hacker et ceci est mon manifeste. Vous pouvez me stopper, mais vous ne pouvez pas tous nous stopper. Après tout, nous sommes tous les mêmes.


  1. http://www.gnu.org ↩︎

  2. https://fr.wikipedia.org/wiki/Richard_Stallman ↩︎

  3. https://en.wikipedia.org/wiki/501(c)(3)_organization ↩︎

  4. https://www.gnu.org/gnu/manifesto.html ↩︎

  5. https://fr.wikipedia.org/wiki/Unix ↩︎

  6. https://en.wikipedia.org/wiki/Linus_Torvalds ↩︎

  7. https://wiki.linuxfoundation.org/ ↩︎

  8. https://en.wikipedia.org/wiki/Tux_(mascot) ↩︎

  9. https://www.theregister.co.uk/2000/07/31/ms_ballmer_linux_is_communism/ ↩︎

  10. http://opensource.org/ ↩︎

  11. https://newleftreview.org/II/113/richard-stallman-talking-to-the-mailman ↩︎

  12. https://www.gnu.org/copyleft/copyleft.fr.html ↩︎

  13. https://www.ssi.gouv.fr/agence/organisation/les-sous-directions/ ↩︎

  14. https://www.ssi.gouv.fr/actualite/clip-une-approche-pragmatique-pour-la-conception-dun-os-securise/ ↩︎

  15. https://fr.wikipedia.org/wiki/Baud_(mesure) ↩︎