Amaury.net
Accueil Liste articles Forum Ma liste de cadeaux Contact

Les licences libres

22 février 2002

Qu'est-ce qu'une licence libre ? A quoi cela sert-il ? Laquelle utiliser, et dans quel cas ? Ayant l'occasion d'en utiliser plusieurs à des fins différentes, j'ai eu l'opportunité de me pencher sur le sujet. Je vais essayer d'en fournir une explication simple et intelligible.

L'histoire et la philosophie du "libre"

Le mouvement du "libre" est né de la volonté de Richard M. Stallman, qui a créé dans les années 80 le projet GNU et la Free Software Foundation. L'idée derrière tout cela était la création de logiciels dont le code source soit accessible à tous. Plusieurs libertés de base furent exprimées : le droit de lire le source, de le copier, de le modifier et de redistribuer les versions modifiées. De plus, la volonté de préserver ces libertés imposa une règle stipulant que toutes les versions modifiées se retrouvaient sous la même licence que la version originale.
Cette dernière règle différencie deux des plus célèbres licences de logiciels libres, la GNU General Public Licence et la Berkeley Software Distribution ; cette dernière autorise en effet la réutilisation de code BSD dans des programmes non-libres sans obligations d'aucune sorte.

Les raisons d'un succès

L'idéologie du libre est donc née d'individus considérant leurs libertés comme des plus importantes, tout en souhaitant élever le partage d'information au rang d'art de vivre. Ces doux rêveurs ont développé de nombreux projets informatiques parmi les plus importants actuellement, et dont l'exemple le plus médiatisé est le système d'exploitation Linux.

De nos jour, l'esprit "libre" s'est échappé du milieu informatique pour s'étendre à l'ensemble des domaines créatifs. De nombreuses licences ont vu le jour pour couvrir au mieux ces différents champs d'activité. Mais d'où provient ce succès ? Si l'on peut mettre de côté l'effet de mode, bien réel mais finalement négligeable, on peut dégager deux profils principaux de contributeurs au libre :

  • Les personnes ayant choisi à titre personnel de s'investir dans un processus créatif, qui donnent une importance toute particulière à leur création, et font passer son accomplissement avant d'autres priorités (qu'elles soient financières ou la volonté de garder la paternité de l'oeuvre).
  • Les entreprises cherchant à investir un marché et qui, en faisant profiter la communauté de son investissement, récupèrent l'aide substancielle de nombreux contributeurs bénévoles.

On peut comprendre qu'il soit tentant de partager une création avec d'autres personnes, dans le but avoué de pousser cette création plus loin et plus vite. De la même manière, quelqu'un ayant bénéficié d'une telle "ouverture" sera plus facilement amené par la suite à ouvrir ses créations à son tour pour "rendre" à la communauté ce qu'elle lui avait apporté auparavant.
En ce qui concerne les entreprises, de nombreux cas étaient connus de protocoles ou de formats rendus publiques afin d'en faire des standards de fait dans l'industrie (NFS, PDF, ...). L'investissement dans le libre n'en est que la continuité logique.

Les principales licences informatiques

Il existe un grand nombre de licences libres s'appliquant aux programmes informatiques ; cela n'a rien d'étonnant dans la mesure où c'est le milieu où le mouvement a pris son essort. En voici une liste non-exhaustive.

GNU General Public License : Licence ouverte par définition, autorise toutes les libertés (copie, modification, redistribution) et impose la réplication de la licence (toute modification de code GPL se retrouve sous GPL). Ne permet pas le mélange de code GPL et de code non compatible avec la GPL.

GNU Lesser General Public License : Modification de la GPL destinée aux "librairies" (biliothèques de fonctions en français). Identique à la GPL en de nombreux points, sauf qu'elle permet de lier dynamiquement du code LGPL a du code fermé.

BSD et X11 : Globalement équivalentes, ces licences sont réputées les plus permissives, car elles autorisent un maximum de libertés et n'obligent pas à placer les modifications d'un source sous la même licence que l'original. Permet d'insérer du code libre au sein de code propriétaire.

Artistic licence : Compatible avec la GPL, cette licence semble faire particulièrement attention aux modes de redistribution de modifications. Cependant, elle a semblé assez floue pour nécessiter une réécriture et n'est pas recommandée en dehors de programmation Perl (pour des raisons historiques).

IBM Public License, Mozilla Public License, Zope Public License, Sun Public License, Nokia Public License, Netscape Public License, Jabber Open Source License, Sun Industry Standards Source License, Q Public License : Ces licences sont considérées comme pleinement "libres". Toutefois, elles ne sont pas compatibles, pour des détails (variant suivant la licence), avec la définition de la GPL. Il est impossible de mélanger du code appartenant à ces deux types de licences.

Apple Public Source License, Sun Community Source License : Contrairement à ce que leur nom pourrait laisser penser, ces licences ne comportent pas les libertés nécessaires pour être considérées comme "libres". Elles imposent des contraintes à l'avantage unique de leurs éditeurs respectifs.

Les autres types de licences libres

Il est intéressant de remarquer que la licence GNU GPL peut être utilisée pour couvrir d'autres types de données que les programmes informatiques, en ce sens qu'il vous est possible de définir à votre manière la signification du terme "code source". Elle est pourtant très peu utilisée en dehors de la création de logiciels, ce qui a amené à la création de licences plus spécifiques.

GNU Free Documentation License : Très similaire dans la lettre et l'esprit à la GPL, cette licence peut être utilisée pour tout type de documentation, essais, livres, mémoires, ...

Open Publication License : Cette licence comporte certaines options qui, si elles sont utilisées, rend les documents non libres. Il peut donc être risqué de l'utiliser.

Design Science License : Cette licence est complètement libre au sens où l'entend le GNU, et si elle est applicable aux logiciels, son propos est plutôt dans la protection de publications scientifiques.

Free Music Public License : Une licence spécialement faite pour la création musicale communautaire.

Licence Publique Multimédia : Inspirée directement de la GPL, la LPM a pour cible les productions multimédia et vidéo.

Licence Art Libre : Une licence qui a pour but de permettre l'ouverture de tout type de créations artistiques.

Licence Ludique Générale : Une licence originale qui s'adresse aux créateurs de jeux (dans le sens non-informatique du terme, comme les jeux de plateau, de rôles, les wargames, ...) ; elle définit et utilise les éléments qui entrent en jeux dans leur composition.

Un exemple concret d'utilisation

Pour mes différentes créations, j'ai eu à chaque fois à me demander si je souhaitais placer l'oeuvre sous une licence libre ou non, et si oui sous laquelle. Il n'y a bien entendu pas de recette toute faite ; le meilleur moyen de faire un choix en son âme et conscience reste encore de lire chaque licence pour s'en faire une idée exacte.

Pour la plupart de mes projets informatiques, j'ai choisi la licence GPL (GNU General Public License). Les raisons en sont bien simples. Lorsque l'on choisit de développer de tels projets, c'est parce que l'on prend plaisir à programmer, à créer quelque chose ; mais aussi, quelque part, pour montrer - à travers ce que l'on est capable de faire - nos capacités. "Montre-moi ce que tu fais et je te dirais qui tu es". La licence GPL offre l'assurance qu'un projet ne pourra pas être utilisé par quelqu'un pour son propre profit ; elle permet de faire prévaloir sa paternité sur l'oeuvre telle qu'on l'a fournie, tout en autorisant un développement potentiellement supérieur à ce qu'on pourrait faire seul.
Toutefois, j'ai choisi de placer le code source d'un de mes projets (OABP) sous les termes de la licence LGPL (GNU Library General Public Licence). Le but ici est légèrement différent. OABP étant à la base un protocole, je cherche à en faciliter au maximum l'utilisation ; dans ces conditions, le code que je fournis et qui permet d'exploiter ce protocole est défini comme une bibliothèque de fonctions, c'est-à-dire comme étant une brique utilisable au sein d'un tout plus grand. Il devient alors possible de réutiliser ce code à l'intérieur de projets ne respectant pas les termes d'une licence GPL ou autre (libre ou non). Il m'a semblé que ce choix pouvait être le bon dans ce cas particulier.

Les documentations accompagnant mes projets informatiques (ainsi que le protocole OABP lui-même) sont publiées sous la licence FDL (GNU Free Documentation Licence). Les avantages de cette licence sont les mêmes que ceux de la GPL, mais ici appliqués à la documentation. Il n'y a aucune raison valable de vouloir fermer la documentation qui accompagne du code libre ; de plus, cela permet à quiconque de faire évoluer ces documentations, de les corriger et de les traduires librement, sans qu'un droit d'auteur restrictif ne l'en empêche.

J'ai effectué une recherche approfondie lorsque je me suis posé la question de la licence de mon jeu de société Pandocréon. J'avais un moment caressé l'espoir de le présenter à des éditeurs, ce qui m'aurait obligé à en garder un copyright restrictif. Mais par choix, j'ai préféré le publier de manière non seulement gratuite (ce que j'aurais pu faire avec un simple copyright "classique") mais aussi libre. Pourquoi ? Parce que j'ai apprécié par le passé de pouvoir modifier les règles de certains jeux ouvert (tel SimulacreS), et il m'a semblé naturel d'offir cette possibilité à d'autres personnes. Cela ne pourrait qu'enrichir le jeu. A nouveau un choix pouvait être fait. Allais-je ouvrir uniquement les règles du jeu ou bien l'intégralité de la version que je fournis (constituée des règles et d'un ensemble d'images) ? Finalement, j'ai choisi de voir Pandocréon comme un tout ; si quelqu'un modifie les règles pour les améliorer, tout le monde y gagnera, je pourrai alors choisir d'insérer les modifications dans ma version "officielle", et il en est de même pour des modifications d'ordre graphique. Personne ne peut s'approprier l'oeuvre, tout le monde peut y contribuer.
Mais alors quelle licence utiliser ? J'ai hésité longuement entre la LAL (Licence Art Libre) et la LLG (Licence Ludique Générale). A première vue, la LLG a pour elle l'avantage d'avoir été spécifiquement inventée pour la création de jeux ; pour l'essentiel, ces deux licences garantissent les mêmes droits aux oeuvres. Pourtant, certains petits détails m'ont fait préférer la LAL : sa (relative) large utilisation - alors qu'aucun jeu n'avait alors été édité sous LLG, encore un peu "jeune" - et la possibilité de ne pas copier l'intégralité de la licence dans chaque copie du jeu (mais de juste y faire mention et d'en donner l'adresse). Ce dernier point est assez important lorsqu'il s'agit de faire un petit jeu, et en considérant que le texte complet de la LLG est plutôt long.

Enfin, j'ai gardé l'utilisation de copyright restrictif pour certaines choses (mes nouvelles, le code HTML et les images de mon site Web). Les raisons sont là aussi diverses. Je présente régulièrement mes nouvelles à des concours ; certaines ont déjà été publiées. Dans ces conditions, il m'est impossible d'en ouvrir le contenu à la collaboration d'autres auteurs ; les politiques éditoriales et les contrats de publication ne sont pas en phase avec l'esprit du libre. De plus, on pourrait argumenter sur le fait que ces nouvelles ne sont pas des "Cadavres exquis" destinés à bénéficier du travail de plusieurs plumes, mais des histoires se suffisant à elles-même.
Pour mon site Web, le fait de ne pas choisir une licence libre vient tout simplement du fait qu'il n'y a pas de raison valable de le faire. Pourquoi permettre l'apparition de clones de mon site ? Si le code HTML/Javascript comportait des idées novatrices réutilisables ailleurs, cela changerait la donne ; mais ce n'est pas le cas.

Enfin, une dernière remarque sur les outils utilisés pour créer des oeuvres libres. Il est généralement recommandé d'utiliser des formats qui soient ouverts et si possible des standards. Il est évident qu'il est plus facile de partager son travail lorque tout le monde peut y accéder. La philosophie GNU va plus loin dans ce raisonnement, en exhortant à n'utiliser que des outils libres pour créer du contenu libre. Là aussi tout s'explique ; en utilisant des outils libres, on s'assure que personne ne sera empêché d'accéder/modifier l'oeuvre.
Pourtant lorsqu'aucun outil libre n'existe pour un type de création, faut-il limiter ses propres désirs créatifs ? Le GNU dit (grosso modo) que oui ; que dans ce cas il faut commencer par créer l'outil de création libre. Personnellement, j'utilise un logiciel "closed source" pour créer des polices TrueType (qui elles sont sous licence libre) ; jamais je ne saurai créer un tel programme. Il faut savoir composer avec le monde qui nous entoure.