Un pavé dans l’ (open) source – 1ère partie

Numérique Responsable

Depuis que je suis chez Nuageo, et donc depuis que je me forme au numérique responsable, je lis un peu partout que numérique responsable rime à avec open source.

J’ai beau lire et réfléchir et je ne vois pas de lien évident, que ce soit sous l’angle environnemental ou sociétal. J’ai donc décidé d’exposer mon point de vue, forcément personnel, qui n’engage pas Nuageo. 

Ce point de vue est en 2 parties : 

  • Présentation de l’open source (cet article) avec en préambule un rappel de la définition du numérique responsable
  • L’argumentaire développé dans un deuxième article

Qu’est-ce que le numérique responsable ?

Le site numerique.gouv.fr donne cette définition, datée du 29/4/21.

Le numérique responsable est une démarche d’amélioration continue qui vise à améliorer l’empreinte écologique et sociale du numérique, dans un mesure où la transformation numérique affecte nos sociétés. 

Cette démarche comprend plusieurs volets :

  • la réduction de l’impact environnemental
  • l’amélioration de l’impact social que ce soit les conditions de travail liées à l’extraction des minerais et la fabrication des équipements
  • l’amélioration de l’inclusion sociale c’est à dire permettre l’usage du numérique par des personnes peu à l’aise avec ces outils ou bien en situation de handicap
  • Une économie financière car elle peut générer des économies financières en prolongeant la durée de vie des équipements et en rationalisant l’utilisation des ressources informatiques
  • favoriser l’innovation car elle encourage à faire mieux avec moins
  • Enfin l’engagement des collaborateurs pour répondre à une quête de sens en réponse à l’actualité marquée par des évènements climatiques de plus en plus violents

Même s’il y a de petites différences entre les différentes sources, cette définition servira de référence dans les deux articles. 

Qu’est ce que l’open source ?

En discutant avec plusieurs personnes, au sein de Nuageo et à l’extérieur, j’ai constaté que peu de gens avaient une vision claire du sujet et que pour la grande majorité, le terme open source était assez vague. Pour beaucoup d’entre nous, un logiciel open source est un logiciel dont on peut lire le code … source. Ce n’est pas faux mais c’est loin d’être suffisant car trop souvent open source est synonyme de gratuité et partageable, sans restriction. Donc avant de continuer, nous allons revenir à la base.

Prenons l’exemple d’un livre. Vous pouvez le lire sans aucun problème, que ce soit un livre que vous achetez ou que vous trouvez par terre. Mais ce qui est important c’est la licence qui est associée. Dans le cas d’un livre, sauf mention explicite, vous ne pouvez pas copier, modifier ou republier un livre à votre nom, vous avez juste le droit de le lire, de la même manière que vous avez simplement un droit d’usage d’un logiciel propriétaire (il est à noter, d’ailleurs, qu’en droit français, c’est le même droit d’auteur qui s’applique pour les oeuvres littéraires, artistiques et … pour les logiciels).

Le raisonnement est identique pour le logiciel. Ce qui est important, c’est la licence associée au logiciel open source et cette licence définit vos droits d’usage. Du coup intéressons-nous aux licences.

Mais avant de rentrer dans le vif du sujet, il est nécessaire de s’intéresser un tout petit peu à la définition d’un logiciel car tout le monde n’est peut être pas familier avec le sujet.

Un logiciel est un programme informatique. Un programme informatique est un ensemble d’instructions et d’opérations destinées à être exécutées par un ordinateur. Ça peut bien entendu être un programme utilisable directement comme un traitement de texte ou bien un “morceau” appelé librairie qui contient un certain nombre de fonctionnalités. Cette librairie peut être intégrée dans un programme informatique, qui peut être lui-même une librairie (donc une librairie contient d’autres librairies, comme des poupées russes) ou bien un programme utilisable directement, comme un tableur, un serveur HTTP, un programme de traitement d’image, …

Pour illustrer le propos, prenons un exemple : FFmpeg. FFmpeg est un logiciel gratuit et open source composé d’une suite de programmes mais aussi de librairies permettant de gérer des fichiers et flux vidéo, audio et flux multimédias.

Les différentes licences

Domaine public

L’auteur d’un logiciel du domaine public indique explicitement qu’il est possible de faire ce qu’on veut avec son œuvre. Le copier, le modifier, se l’approprier… tout est possible. Parfois même, il n’y a pas d’auteur connu.

Licences permissives

Ces licences donnent une grande liberté aux utilisateurs. Par utilisateur, on entend souvent des développeurs qui intègrent des librairies dans leur logiciel. Le logiciel résultant peut être open source lui-même même s’il faut faire attention au mélange des licences qui ne sont pas toutes compatibles entre elles ou bien être un logiciel propriétaire (de nombreux logiciels propriétaires qui ne partagent pas leur code source incluent des librairies open source avec une licence permissive).

Basiquement, les seules obligations qui s’imposent à celui qui les utilise sont 1) d’indiquer que la librairie sous licence est incluse dans le logiciel et 2) de citer l’auteur de la librairie. Des licences très connues sont par exemple BSD, MIT, Apache… Bien entendu, il y a des subtilités entre toutes ces licences mais nous ne les couvrons pas dans cet article.

Licences copyleft (ou logiciel libre)

Ce principe de licence a été créé dans les années 80 par Richard Stallman, créateur de GNU OS. Le logiciel libre est présenté de la façon suivante sur le site de la Free Software Foundation :

Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free. To use free software is to make a political and ethical choice asserting the right to learn, and share what we learn with others.

The Free Software Foundation

L’accent est mis sur la connaissance et le partage de connaissance, ainsi que la possibilité de modifier le logiciel. Si les valeurs sont intéressantes, elles n’ont que peu de rapport avec la définition du Numérique Responsable rappelée en début d’article.

Une licence copyleft est fondamentalement et philosophiquement différente d’une licence permissive : le but principalement est de garantir la liberté de l’utilisateur de pouvoir modifier, dupliquer, installer, faire tourner un logiciel sur n’importe quelle machine. Les défenseurs du libre dont la maxime célèbre est “Free speech, not free beer” sont en opposition avec les défenseurs des licences permissives. Cette liberté d’installation et de distribution va de pair avec l’obligation que toute modification soit couverte par une licence compatible copyleft.

Pour bien appréhender la différence entre le logiciel libre et licences permissives, je vous conseille la lecture de ce texte écrit par Richard Stallman. Pour les impatients, j’ai fait un petit résumé en français, sachant que par open source, Richard Stallman implique “licences permissives” :

Richard Stallman soutient que même si « logiciel libre » et « open source » ont des similarités, ils incarnent des valeurs fondamentalement différentes. Le mouvement du logiciel libre, initié en 1983 avec le système d'exploitation GNU, met l'accent sur la liberté des utilisateurs : exécuter, étudier, modifier et partager des logiciels. En revanche, l’open source se concentre sur les avantages pratiques sans prôner ces principes éthiques et la liberté. Richard Stallman met en lumière des malentendus autour de ces termes et défend le fait que le logiciel libre est crucial pour la liberté, la solidarité et l'autonomie numérique. Il critique le mouvement open source pour avoir négligé ces dimensions éthiques plus profondes, ramenant potentiellement les utilisateurs vers des logiciels propriétaires, et encourage toute action en faveur de la liberté pour promouvoir et protéger les droits des utilisateurs dans le domaine numérique.

Les défenseurs du logiciel libre ont une intime conviction et ne sont pas prêts à transiger : ils préfèrent ne pas utiliser un logiciel s’il n’est pas libre. 

Il est important également de comprendre qu’à l’origine, les licences libres ne s’appliquaient qu’aux logiciels distribués. C’est-à-dire que vous pouviez modifier comme bon vous semble un logiciel libre tant qu’il était utilisé par vous même et qu’il n’était pas distribué. Si vous le distribuiez, ou si vous intégriez une librairie “libre” dans n’importe quel logiciel, vous étiez obligé de rendre les sources publiques sous licence “libre”. C’est d’ailleurs pourquoi Steve Ballmer, CEO de Microsoft, avait déclaré que Linux était un cancer.

Le principe est toujours vrai mais parfois avec des subtilités de licence. En effet, avec l’arrivée d’internet, les choses se sont compliquées car les fournisseurs de solutions ont pu utiliser sans contrainte les logiciels libres comme Linux, les modifier et les utiliser car ils n’étaient pas distribués. C’est pourquoi il y a des tentatives d’évolution dans les licences libres dont nous ne parlerons pas dans cet article (mais pour les plus curieux, vous pouvez vous penchez sur la licence GNU Affero General Public License par exemple).

Il existe beaucoup de licences copyleft. Les plus connues sont GNU General Public License (GPL en plus court), Mozilla Public License (MPL) connue pour son navigateur et Eclipse Public License connue pour son IDE Eclipse.

Synthèse

Nous avons vu que derrière le mot “open source” se cachent, en fait, plusieurs familles de licences : 

  • Domaine public
  • Licences permissives
  • Licences copyleft

Toutes ces familles de licence ont des différences importantes qu’il est important d’avoir en tête.

Dans l’article suivant, je continuerai d’utiliser le terme “open source” avec toutes les réserves associées.

Philippe Rabier

Laisser un commentaire