Licences libres

Open-source et licences libres.

version du document 0.8.1 – écrit par Vanlindt Marc (marc@vanlindt.be) – Licence CC0 (Public Domain)

Introduction

Attention, tout ce qui suit est une simplification de nombreuses notions et concepts sur lesquels des juristes professionnels de tous les pays sont encore en train de débattre et sur lesquels ils ne sont pas toujours d’accord.

Une licence libre (« Free license » en anglais) est une extension du droit d’auteur.

C’est un terme « générique » couvrant de très nombreuses licences différentes, chacune apportant des modifications au droit d’auteur afin d’assurer certaines libertés.

Les quatre libertés dites « fondamentales » devant être assurées par une licence libre sont :

  1. Liberté d’utilisation
  2. Liberté de copie
  3. Liberté d’étude
  4. Liberté de modification et de redistribution

Les deux derniers points imposent donc de livrer la « source » d’un logiciel, la recette d’un plat, le plan d’un équipement, le secret de fabrication d’un produit, etc.

Le terme “copyleft” indique qu’une oeuvre n’est pas sous “copyright”, quelle que soit la licence libre utilisée. Selon la licence utilisée, on parlera de copyleft “fort” ou “standard”.

Le terme “open-source” indique que le code source d’un logiciel est ouvert et déposé sous licence libre, quelle que soit la licence libre utilisée, tant que celle-ci respecte les quatre libertés.

Confusions possibles avec d’autres notions

Il existe plusieurs notions avec lesquelles les licences libres peuvent être confondues ou qui peuvent amener à une incompréhension, la principale étant la notion « libre de droit ».

Il s’agit du fait de ne payer qu’une seule fois une création sous droit d’auteur classique pour plusieurs utilisations, quelle que soit l’utilisation.

Par exemple, on retrouve la notion de « libre de droits » dans le monde de la photographie afin de permettre à une société de disposer de banques d’images professionnelles, payantes, qui pourront être utilisées pour tous les usages (site web, dépliants, affiches, …), autant de fois que nécessaire.

La seconde notion avec laquelle il y a parfois confusion est le “domaine public”, c’est à dire une création sur laquelle il n’y a pas ou plus de droit d’auteur applicable ou sur lequel un droit d’auteur est inapplicable.

Liberté/gratuité/service

Le terme anglais « Free » faisant à la fois référence à la notion de « liberté » et à celle de « gratuité », il est né de nombreuses confusions qui n’existent pas en français, raison pour laquelle beaucoup d’anglophones ont adopté le terme « Libre » dans leurs projets (exemple : « ProjectLibre », « LibreOffice », « LibreCAD », … )

La page Wikipedia du terme “Free software” a d’ailleurs été modifiée dans ce sens : “Free software, software libre, or libre software…

Dans le cas des licences libres, il s’agit donc de la notion de « liberté » qui est prise en compte. La gratuité en découle tout naturellement, c’est donc au niveau du “service” qu’il sera possible de gagner de l’argent.

Exemples :

  • WordPress est un “CMS” open-source, un “site pour faire des sites”. Il est disponible gratuitement au téléchargement et tout le monde peut y apporter les modifications qu’il désire. Libre à chacun de louer un serveur et acheter un nom de domaine pour rendre le site disponible.
    WordPress propose le service de les héberger, de faire la maintenance, d’offrir un service technique de qualité, etc… Ces services étant payants et étant le moyen par lequel ils peuvent gagner de l’argent sur leur création open-source.
  • OpenDesk est un site fournissant les plans de meubles d’excellente qualité. Libre à chacun de les charger, trouver une fraiseuse numérique, acheter des planches et, après découpes, les monter.
    OpenDesk propose tous ces services ainsi que la possibilité de faire appel à un “maker” proche de chez nous si nous ne sommes pas à Londre, siège de OpenDesk.
    Le site nous géolocalise et nous propose donc tous les lieux qui sont en mesure de rendre ce service, de manière similaire à un “tech-shop” au RElab.
    Pour la Belgique, il propose AtelierCNC à Bruxelles, OpenFab à Ixelles et Atelier365 à Ixelles également.
    Toutes les étapes autres que le téléchargement des plans sont considérés comme des services et peuvent être facturés.
    Le fait de proposer le service de les fabriquer assure donc un meuble réalisé par des professionnels et le fait de laisser ce service ouvert à d’autres makers assure de voir ces meubles s’exporter là où le service rendu par OpenDesk ne peut plus l’être.  

La notion de “service” est encore plus forte dans le domaine public et montre que le service rendu est plus important que la possibilité de réaliser soi-même quelque chose.

Exemple :

  • Jus d’orange : Tout le monde sait comment faire du jus d’orange. La recette ne pouvant être “cachée”, elle est dans le domaine public et tout le monde peut réaliser facilement son propre jus.
    Néanmoins, même en ayant à disposition la matière première et en pouvant se procurer le matériel nécessaire à la réalisation de ce jus, le jus d’orange en tetrabrik est bien plus vendu que des oranges à jus, alors que de bien moins bonne qualité.

La charte des FabLabs

Du point de vue d’un FabLab, la charte officielle indique ceci :

Who owns fab lab inventions?

Designs and processes developed in fab labs can be protected and sold however an inventor chooses, but should remain available for individuals to use and learn from

traduit en français par :

Secret

Les concepts et les processus développés dans les FabLabs doivent demeurer utilisables à titre individuel. En revanche, vous pouvez les protéger de la manière que vous choisirez.

Ce point de la charte amène à beaucoup de discussions car est souvent mal compris. “vous pouvez les protéger de la manière que vous choisirez” est souvent utilisé pour argumenter la possibilité de dépôt sous droit d’auteur.

Néanmoins, la phrase “Les concepts et les processus développés dans les FabLabs doivent demeurer utilisables à titre individuel.” oblige aux points 3 et 4 des libertés fondamentales et au dépôt sous une licence libre, le “de la manière que vous choisirez” indiquant alors que le choix est laissé parmi les différentes licences libres existantes.

Licences libres et compatibilité

Il existe de nombreuses licences libres, particulièrement dans le monde informatique.

Une fondation a été crée, la “Free Software Foundation”, à l’origine de la licence “GNU GPL”, qui établit la liste de toutes les licences libres, leur niveau de permissivité, leur niveau de protection, la pérennité des droits, etc.

Les principales licences sont :

  • GNU GPL V2
  • GNU GPL V3
  • BSD
  • Apache 2.0
  • MIT / X11
  • FreeBSD
  • Creative Commons

La majorité des ressources utilisées dans un FabLab est sous licence GNU GPL V2 ou V3 ou sous licence Creative Commons. Néanmoins, selon le domaine d’activité d’un lieu, un autre endroit pourra très bien ne se trouver confronter qu’à des licences Apache 2.0 ou encore FreeBSD.

Les licences Creative Commons ne sont, en principe, pas prévues pour être utilisées dans la protection des logiciels mais plutôt celle des oeuvres artistiques ou design, par exemple, des fichiers vectoriels. Néanmoins, celle-ci sont très utilisées dans le monde logiciel quand le logiciel sert à générer du graphisme. Par exemple, les codes-sources des applications écrites en OpenScad et permettant d’obtenir un générateur sur le site ThingIverse.

Les licences Creative Commons s’imposent comme des références car permettent la majorité des cas de figures, du dépôt en domaine public à la conservation de quasi tous les droits. Elles indiquent aussi clairement leur niveau de compatibilité avec la licence GNU GPL afin de savoir si, oui ou non, le dépôt est possible dans la licence souhaitée.

La licence MIT est particulière. Il s’agit, en général, d’une licence plus ancienne, la X11, mais le MIT ayant déposé plusieurs créations sous différentes licences, parfois en les modifiant légèrement, il y a plusieurs licences MIT différentes.

Lorsqu’un logiciel est créé et qu’il fait appel à plusieurs ressources libres, celles-ci peuvent être protégées par des licences différentes. Toutes ne sont pas compatibles entre elles et cela peut imposer au créateur de ne pas pouvoir déposer sa création car il lui est impossible de respecter les différentes licences des ressources utilisées.

La licence GNU GPL étant la plus courante, c’est toujours avec celle-ci que l’on trouvera une indication quant à la compatibilité.

Il y a ainsi deux types de “copylefts” qui existent :

  • copyleft fort : Toute modification ou création associée doit se faire sous la même licence. Par exemple, si je crée un script d’utilisation pour une ressource, elle doit être déposée sous la même licence.
  • copyleft standard : Toute modification est faite sous la même licence mais tout ajout peut être déposé sous une licence au choix, voire même non-libre.

On retrouve également sous l’appellation “copyleft” le dépôt dans le domaine public, mais cela entraîne la possibilité qu’une personne non-coopérante place sa création sous droit d’auteur, n’assurant donc pas la pérennité des droits et cela ne rentrant pas dans la notion de “copyleft” telle que reprise par de nombreux sites internet.

Ce que signifie aussi le fait qu’autant de licences existent et qu’il est possible de protéger au mieux un projet entier.

Par exemple, un FabLab, Hackerspace,…  décide de créer de A à Z une imprimante 3D. Le projet sera “sous licence libre”, mais rarement sous une seule licence.

  • Les plans seront sous licences Creative Commons.
  • Le code introduit dans le contrôleur sera sous licence GNU GPL V3
  • Le logo de l’imprimante, faite sur papier sera sous licence GNU Art, une modification de la GNU GPL.
  • La documentation sera écrite sous GNU Free Document Licence, une autre modification de la GNU GPL.
  • etc.

De l’imprimante papier à l’imprimante 3D

Alors que Richard Stallman, travaillait dans un laboratoire du MIT, il disposait d’une imprimante qui tombait souvent en panne. Le code source du driver étant fourni, il l’a modifié pour être prévenu au cas où cela arriverait.

Son laboratoire changea d’imprimante pour une bien meilleure, une Xerox, mais dont le code source du driver n’était pas fourni. Il rentra en communication avec les différentes équipes qui en disposaient et toutes avait signé une clause de confidentialité leur interdisant de le fournir.

Furieux, il décida alors de créer une fondation : la “Free Software Fundation”. Le premier projet de cette fondation allait être un système d’exploitation entièrement libre : le projet GNU/Linux (qui est le nom “réel” et complet de “Linux”).

Il fallait pour cela une base légale et ainsi fut créé la première version de la licence libre GNU GPL.

A l’heure actuelle, les choses n’ont pas changé et les codes sources des drivers des imprimantes papier (Xerox, Brother, HP, Lexmark,…) restent toujours fermés. Chaque fabricant développe donc de son côté chacun des différents éléments et logiciels composant son imprimante.

Ce que cela amène est que pour chaque imprimante papier différente, il faille aller sur le site du constructeur choisir un driver spécifique. Cela n’assure pas que l’imprimante soit compatible avec tous les systèmes d’exploitation et impose souvent l’utilisation d’un logiciel créé par le fabricant. Enfin, il y a très peu de chances de voir un jour ces logiciels ou drivers évoluer.

Le monde de l’impression 3D est régi par un modèle totalement différent.

La très grande majorité des imprimantes 3D (MakerBot, LeapFrog, PrintrBot, WitBox, Wanhao, …) , y compris professionnelles (CreatBot, 3NTR,…) , fonctionnent grâce à un système open-source éprouvé se basant sur un contrôleur Arduino et un “firmware”, le logiciel y étant intégré, le cas présent le firmware “Marlin”.

Ce firmware accepte de très nombreuses données permettant à tous les fabricants de créer leur imprimante 3D avec chacune leurs propres spécificités.

Nous trouvons donc, pour le moins cher (± 350 €), PrintrBot, qui proposera une armature minimale en bois, un petit plateau, une ficelle en guise de courroie, etc… et pour les plus chères (une 3NTR peut monter à 30.000€), une armature en acier, des roulements à billes, des refroidissements liquides, une thermorégulation permanente de la chambre,etc…

Il n’y a donc qu’un seul driver à installer pour qu’elles soient toutes acceptées, quel que soit le modèle ou la marque. Les logiciels peuvent donc évoluer indépendamment des imprimantes créées puisque leur base commune assure une compatibilité complète.

L’ouverture de toutes ces sources impose donc au fabricant d’apporter un service de qualité en proposant un produit au meilleur rapport qualité/prix possible selon le public ciblé.

Imaginez des imprimantes papier pour lesquelles il n’y aurait pas de driver à installer puisqu’un seul suffirait pour toutes et serait inclus dans Windows.

Qu’est-ce qui est réellement open-source ?

Un code peut être sous licence libre et déclaré open-source sans respecter tout à fait la philosophie du libre ni la méthodologie de travail qu’est l’open-source.

Par exemple, voici un code source d’un automate cellulaire que j’ai réalisé :

http://axolotl.vanlindt.be/fichiers/opensourcemauvais.txt

Ce code peuttre déclaré « open-source » puisque la source vous est livrée. Néanmoins, elle a été complexifiée et est totalement illisible et ne permet donc pas réellement l’application des libertés fondamentales du « libre ».

Une réelle version open-source doit ressembler à quelque chose plus proche de ceci :

http://axolotl.vanlindt.be/fichiers/opensourcebon.txt

Nous pouvons voir que le second est beaucoup plus long et que la majorité de ce qui est écrit n’est pas du code mais des commentaires expliquant ce que fait le code, permettant donc à quiconque de réellement pouvoir appliquer les libertés qui lui sont accordées.

Remerciements

Merci aux personnes ayant relu ce document et ayant permis de le rendre plus accessible.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.