Les licences de logiciels libres en général

Si vous disposez d'un collection de logiciels libres telle qu'un disque renfermant une distribution de GNU/Linux, vous pensez peut-être posséder les programmes qui se trouvent sur ce disque. Ce n'est pas exactement vrai. Les programmes sous copyright appartiennent au détenteur du copyright, même lorsqu'ils sont protégés par une licence open source telle que la GPL. La licence du programme vous octroie certains droits, et d'autres droits vous sont acquis selon la définition d'« utilisation raisonnable » dans le droit du copyright. Il est important de remarquer qu'un auteur n'est pas limité à proposer un programme sous une seule licence. On peut protéger un programme par la GPL et en vendre en même temps une version sous une licence commerciale et non open source. C'est exactement cette tactique qu'emploient de nombreuses personnes, qui veulent qu'un programme soit open source tout en souhaitant gagner de l'argent à partir de ce dernier. Ceux qui ne souhaitent pas d'une licence open source encourent le risque de devoir rémunérer un tel privilège, assurant par là même un revenu à l'auteur. Toutes les licences que nous allons maintenant examiner ont un point en commun : aucune ne fournit la moindre garantie. L'intention est de protéger le propriétaire du logiciel de toute poursuite en justice relative à son programme. Les programmes étant souvent offerts sans contrepartie financière, c'est là une exigence raisonnable — le programme ne garantit pas un revenu suffisant pour que son auteur puisse acquitter une assurance et les frais engagés en cas de poursuite en justice. Si les auteurs de logiciels libres perdent ce droit de ne fournir aucune garantie et sont poursuivis en justice suite aux effets des programmes qu'ils ont écrits, ils cesseront d'écrire des logiciels libres. C'est dans notre avantage d'utilisateurs que d'aider les auteurs à protéger ce droit.

La licence publique générale de GNU

La GPL est autant un manifeste politique qu'une licence de logiciel, et une grande partie de ce texte est dévolue à justifier les motifs qui ont poussé son auteur à la rédiger. Ce dialogue politique a déplu à certains, et c'est en partie à cause de cela que d'autres licences de logiciels libres ont été rédigées. Cependant, la GPL a été rédigée avec le concours de professeurs de droit, elle est donc bien mieux écrite que la plupart des autres licences de son genre. Je vous encourage vivement à employer la GPL, ou sa variante pour bibliothèques la LGPL, si vous le pouvez. Si vous choisissez une autre licence, ou écrivez la vôtre propre, vérifiez que les raisons qui vous poussent à cela sont valables. Il faut bien expliquer à ceux qui écrivent leurs propres licences que ce n'est pas là une décision à prendre à la légère. Les complications inattendues qu'une licence mal écrite peut entraîner peuvent créer, pendant plusieurs décennies, un fardeau pour les utilisateurs du logiciel.

Le texte de la GPL n'est pas lui-même placé sous la GPL. Cette licence est simple : quiconque a le droit de copier et de distribuer des copies exactes du document de cette licence, mais pas de le modifier. Il faut remarquer que le texte des licences open source n'est pas en général pas open source car, à l'évidence, une licence que tout un chacun pourrait modifier n'offrirait qu'une protection limitée.

Les dispositions de la GPL satisfont la définition de l'open source. La GPL n'exige aucune des clauses autorisées par le paragraphe 4 de la définition de l'open source, « Intégrité du code source de l'auteur ».

La GPL ne vous autorise pas à rendre des modifications secrètes. Vos modifications doivent elles aussi être distribuées selon les termes de la GPL. Ainsi, l'auteur d'un programme sous GPL recevra probablement des améliorations proposées par d'autres, y compris des sociétés commerciales qui modifient son logiciel pour leurs besoins propres.

La GPL n'autorise l'incorporation d'un programme GPL au sein d'un programme propriétaire. La définition de « programme propriétaire » utilisée par cette licence est : « tout programme dont la licence vous donne moins de droits que ne vous en donne la GPL. »

La GPL contient quelques échappatoires qui lui permettent d'être utilisée dans des programmes qui ne sont pas entièrement open source. On peut lier les bibliothèques de logiciels qui sont distribuées avec le compilateur ou le système d'exploitation avec des logiciels protégés par la GPL ; il en résulte un programme partiellement libre. Le détenteur du copyright (qui est en général l'auteur du programme) est la personne qui place la GPL sur son programme et qui dispose du droit de violer sa propre licence. C'est ce que faisaient les auteurs de KDE pour distribuer leurs programmes avec Qt avant que la société Troll Tech ne place la bibliothèque Qt sous une licence open source. Cependant, ce droit ne s'étend pas aux tiers qui redistribuent le programme — ils doivent suivre tous les termes de la licence, même ceux que le détenteur du copyright viole, c'est pourquoi il est problématique de redistribuer un programme GPL s'il contient Qt. Les développeurs de KDE semblent avoir résolu ce problème en appliquant la LGPL, et non la GPL, à leurs logiciels.

La rhétorique politique de la GPL déplaît à certaines personnes, dont une partie ont choisi pour leurs logiciels une licence moins appropriée pour la seule raison qu'ils fuient les idées de Richard Stallman et ne souhaitent pas les voir répétées dans leurs propres paquetages de logiciels.

La licence publique générale de GNU pour les bibliothèques

La LGPL est dérivée de la GPL et mise au point pour les bibliothèques de logiciels. À la différence de ce qui se produit avec la GPL, on peut incorporer un programme sous LGPL dans un programme propriétaire. La bibliothèque du langage C fournie avec les systèmes GNU/Linux est un exemple de logiciel sous LGPL — on peut l'utiliser pour construire des programmes propriétaires, sans quoi Linux ne serait utile qu'aux auteurs de logiciels libres.

On peut à tout moment convertir une instance d'un programme LGPL en programme GPL. Mais on ne peut ensuite plus reconvertir cette instance, ni tout ce qui en dérive, en programme sous LGPL.

Les autres dispositions de la LGPL sont semblables à celles de la GPL — en fait, cette licence inclut la GPL en y faisant référence.

Les licences X, BSD, et Apache

La licence X et celles qui lui sont proches — les licences BSD et Apache —  sont très différentes de la GPL et de la LGPL. Elles vous autorisent à tout faire avec les logiciels qu'elles protègent. Cela, parce que les logiciels que les licences X et BSD couvraient à l'origine était financés par des bourses du gouvernement des États-Unis d'Amérique. Puisque les citoyens des États-Unis d'Amérique avaient déjà payé pour ces logiciels une fois, avec leurs impôts, ils ont reçu la permission d'utiliser ces logiciels comme bon leur semblait.

La permission la plus importante, qu'on ne trouve pas dans la GPL, est qu'on peut rendre secrètes des modifications apportées à un programme sous licence X. En d'autres termes, vous pouvez récupérer le code source d'un programme protégé par la licence X, le modifier, et vendre ensuite des versions binaires de ce programme sans en distribuer le code source correspondant, et sans appliquer la licence X à ces modifications. Cela n'en reste pas moins de l'open source, car la définition de l'open source n'exige pas que les modifications soient sous la licence originale.

Nombreux furent les autres développeurs qui ont adopté la licence X et ses variantes, parmi lesquels on remarquera on particulier la BSD (distribution du système de Berkeley) et le projet de serveur web Apache. Une spécificité ennuyeuse de la licence BSD est qu'une de ses dispositions exige qu'on mentionne (généralement dans une note de bas de page) que le logiciel a été développé à l'université de Californie à chaque fois qu'on fait la publicité d'un aspect d'un programme couvert par la licence BSD. Garder la trace des logiciels sous licence BSD dans un ensemble aussi vaste qu'une distribution GNU/Linux, et penser à mentionner l'université de Californie à chaque fois qu'on mentionne l'un de ces programmes dans une publicité, sont des tâches trop lourdes pour ceux qui sont dans les affaires. Au moment où j'écris ces lignes, la distribution Debian GNU/Linux compte plus de 2 500 paquetages logiciels, et même si seule une fraction d'entre eux était sous la licence BSD, toute publicité pour un système GNU/Linux comme la distribution Debian impliquerait des pages et des pages de notes ! Cependant, la licence du Consortium X ne comporte pas cette clause relative à la publicité. Si vous envisagez d'utiliser une licence de la famille BSD, choisissez plutôt la licence X.

La licence Artistique

Même si cette licence, à l'origine, a été développée pour Perl, elle a depuis été employée pour d'autres logiciels. Je pense que c'est une licence rédigée sans soin, en ce sens qu'elle pose des exigences et qu'elle donne ensuite des échappatoires pour les contourner. C'est peut-être la raison pour laquelle presque tous les logiciels couverts par la licence Artistic le sont désormais par deux licences, offrant le choix entre l'Artistic et la GPL.

La section 5 de la licence Artistic interdit la vente du logiciel, mais autorise la vente d'une distribution contenant plusieurs logiciels. Ainsi, il suffit d'empaqueter un programme couvert par la licence Artistic dans un ensemble contenant également un « Hello world! » de cinq lignes écrit en C pour avoir le droit de vendre ce paquet. C'est cette spécificité de la licence Artistic qui était la seule cause de l'échappatoire « composant d'une distribution d'un ensemble... » du premier paragraphe de la définition de l'open source. L'utilisation de la licence Artistic déclinant, nous pensons ôter cette précision. Cela ferait de la licence Artistic une licence non open source. Ce n'est pas là une décision à prendre à la légère, et nous y penserons et en débattrons probablement pendant plus d'un an avant de la prendre.

La licence Artistic vous oblige à libérer les modifications que vous pouvez être amené à faire, tout en vous laissant une échappatoire (dans la section 7) qui vous autorise à garder secrètes des modifications, ou même à placer des portions d'un programme sous licence Artistic dans le domaine public !

La licence publique de Netscape et la licence publique de Mozilla

La NPL a été développée par la société Netscape quand elle a rendu son produit, Netscape Navigator, open source. En réalité, la version open source s'appelle Mozilla ; les gens de Netscape réservent la marque Navigator à leur propre produit. Eric Raymond et moi intervînmes en tant que conseillers non rémunérés tout au long du développement de cette licence. J'ai tenté, sans succès, de persuader la société Netscape d'utiliser la GPL, et suite à leur refus, je les ai aidés à composer une licence qui remplirait les conditions de la définition de l'open source.

La NPL a ceci de particulier qu'elle renferme des privilèges particuliers, dont seul jouit la société Netscape. Elle lui accorde le droit de placer des modifications apportées à leur logiciel par un tiers sous une autre licence. Les gens de Netscape peuvent rendre ces modifications secrètes, les améliorer, et refuser de communiquer le résultat. Cette clause était nécessaire car quand la société Netscape a décidé de placer son produit principal sous une licence open source, elle était sous contrat avec d'autres sociétés qui ont exigé d'obtenir le logiciel Navigator sous une licence non open source.

La société Netscape a créé la MPL, ou licence publique de Mozilla, pour régler ce problème. La MPL ressemble beaucoup à la NPL, mais ne contient pas la clause qui autorise Netscape à placer des modifications extérieures sous une autre licence.

La NPL et la MPL vous autorisent à rendre certaines modifications secrètes.

De nombreuses sociétés ont adopté une variante de la MPL pour leurs propres programmes. C'est regrettable, car la NPL a été créée en fonction de la situation commerciale particulière dans laquelle la société Netscape se trouvait alors, et elle n'est pas forcément appropriée à d'autres usages. Il vaut mieux qu'elle demeure la licence de Netscape et de Mozilla, et que les autres utilisent la GPL ou la licence X.