[Traduit de l'anglais]

À propos de la Netscape Public License (licence publique de Netscape)

La version originale de cet article a été écrite en mars 1998 à propos d'un brouillon de la NPL. Notre premier article sur ce sujet était Netscape envisage la libération du navigateur Netscape


La Netscape Public License, ou NPL, telle qu'elle a été finalement conçue en 1998, est une licence libre, mais elle a trois défauts majeurs. Le premier est la diffusion d'une mauvaise philosophie, le deuxième est qu'elle place la communauté du logiciel libre en position de faiblesse, et le troisième crée un problème pratique majeur au sein de la communauté du logiciel libre. Deux de ces défauts s'appliquent également à la Mozilla Public License. À cause de ces défauts, nous vous demandons instamment de ne pas utiliser la NPL ni la MPL pour vos logiciels libres.

1. Tous les utilisateurs ne sont pas égaux

Le premier problème que j'ai relevé dans la NPL est qu'elle ne donne pas à Netscape et au reste d'entre nous des droits équivalents, comme le fait la GNU GPL. Sous le régime de la NPL, nous pouvons utiliser le code de Netscape seulement comme spécifié dans la NPL, mais Netscape peut utiliser nos modifications de n'importe quelle manière, même dans des versions privatrices1 du logiciel.

Le problème ici est subtil, parce que cela ne supprime pas la liberté du programme. Cela ne nous empêche pas de redistribuer le programme, ni de le modifier ; cela ne nous retire aucune liberté particulière. D'un point de vue purement pratique, cela pourrait ne pas ressembler du tout à un problème.

Le problème réside dans le message profond qu'illustre cette clause. Elle nie l'idée de coopération entre égaux sur laquelle repose notre communauté, et dit que travailler sur un programme libre signifie contribuer à un produit logiciel privateur. Ceux qui acceptent ces conditions en seront certainement affectés, et le changement ne renforcera pas notre communauté.

Une solution proposée pour cette asymétrie est de la borner dans le temps – peut-être trois ou quatre ans. Ce serait une grande amélioration, parce que la limite temporelle ruinerait la problématique du message sous-jacent.

Les effets pratiques de cette clause sont réduits par un autre inconvénient de la NPL : elle n'est pas conçue comme un vrai copyleft. En d'autres termes, elle ne fait pas beaucoup d'efforts pour garantir que les modifications faites par les utilisateurs soient disponibles en tant que logiciel libre.

La MPL (Mozilla Public License) n'a pas ce problème. C'est la principale différence entre la MPL et la NPL.

2. Ce n'est pas un copyleft

La NPL a l'apparence d'un copyleft ; elle dit explicitement que toutes les modifications faites par des utilisateurs doivent être publiées sous la NPL. Mais cela s'applique seulement aux modifications apportées au code existant, pas à de nouvelles routines si celles-ci sont placées dans des fichiers séparés. Sous l'angle pratique, cela signifie qu'il est facile de réaliser des modifications privatrices si vous le souhaitez : vous n'avez qu'à placer le gros de votre code dans un fichier séparé, et appeler votre collection « création plus vaste » [Larger Work]. Seules les routines d'appel ajoutées aux anciens fichiers devront être publiées sous la NPL, et elles ne seront pas très utiles en elles-mêmes.

L'absence de vrai copyleft n'est pas une catastrophe ; cela ne rend pas le logiciel non libre. Par exemple, les termes de la distribution de X.org n'essayent pas du tout d'utiliser le copyleft, mais X.org est néanmoins un logiciel libre. BSD est également un logiciel libre sans copyleft (bien que les termes de BSD aient un sérieux inconvénient et ne doivent pas être imités ; si vous voulez distribuer du logiciel libre sans copyleft, veuillez plutôt utiliser les termes de X.org). Le logiciel couvert par la NPL est également du logiciel libre sans copyleft, et cela ne suffit pas à faire de la NPL une licence pire que d'autres licences sans copyleft.

Pourtant, bien que ce ne soit pas une catastrophe, il y a tout de même un inconvénient. Parce que la NPL ressemble à un copyleft, certains utilisateurs peuvent se tromper à son propos et l'adopter, imaginant qu'ils obtiennent les bénéfices du copyleft pour leur logiciel, alors que ce n'est pas le cas. Pour éviter cet écueil, nous devons nous efforcer d'informer les gens sur un problème qu'il n'est pas facile d'expliquer en quelques mots.

3. Elle n'est pas compatible avec la GPL

Le problème pratique le plus sérieux de la NPL est qu'elle est incompatible avec la GNU GPL. Il est impossible de combiner du code couvert par la NPL et du code couvert par la GNU GPL dans un seul programme, même en liant des fichiers objet ou des bibliothèques séparés ; quelle que soit la manière employée, cela viole l'une ou l'autre des licences.

Ce conflit tient au fait que la GPL prend le copyleft au sérieux : elle a été conçue pour garantir que toutes les modifications et les extensions à un programme libre soient libres. Donc elle ne présente pas de faille permettant de faire des modifications privatrices en les plaçant dans un fichier séparé. Pour combler cette faille, la GPL interdit de lier le programme sous copyleft avec du code qui a d'autres restrictions ou clauses, comme celles de la NPL.

Le fait d'être incompatible avec la GPL ne rend pas le programme non libre ; cela ne mène pas à un problème éthique de fond. Mais cela risque fort de poser un sérieux problème à la communauté du logiciel libre, car la base de code est ainsi divisée en deux collections qui ne peuvent être mélangées. D'un point de vue pratique, ce problème est très important.

Le résoudre en modifiant la GPL est possible, mais cela signifierait l'abandon du copyleft, ce qui causerait plus de mal que de bien. Il est également possible de résoudre ce problème par une petite modification de la NPL (voir ci-dessous les détails spécifiques).

4. Note au sujet des noms

La NPL est la Netscape Public License, mais la GPL n'est pas la GNU Public License. Le nom complet de notre licence est GNU General Public License (licence publique générale GNU), abrégé en GNU GPL. Parfois des gens mettent de côté le mot « GNU » et écrivent juste GPL.

(Ce n'est pas un problème, seulement un fait que vous devez connaître.)

Conclusion

Étant donné que le problème n° 3 est le plus sérieux, j'espère que les gens expliqueront poliment et rationnellement à Netscape l'importance d'y trouver une solution. Des solutions sont disponibles ; les mettre en œuvre est de leur ressort.

Nous présentons ici une façon possible d'autoriser la liaison mutuelle entre du code sous NPL et du code sous GPL. Cela peut être fait en ajoutant ces deux paragraphes à la NPL :

A.1. You may distribute a Covered Work under the terms of the GNU
     General Public License, version 2 or newer, as published by the
     Free Software Foundation, when it is included in a Larger Work
     which is as a whole distributed under the terms of the same
     version of the GNU General Public License.

A.2. If you have received a copy of a Larger Work under the terms of a
     version or a choice of versions of the GNU General Public
     License, and you make modifications to some NPL-covered portions
     of this Larger Work, you have the option of altering these
     portions to say that their distribution terms are that version or
     that choice of versions of GNU General Public License.2

Cela permet aux gens de combiner du code couvert par la NPL avec du code couvert par la GPL, et de distribuer la création hybride résultante sous les termes de la GNU GPL.

Cela permet aux gens de publier des modifications apportées à de telles créations hybrides sous les termes de la GNU GPL, mais le moyen le plus simple de les publier est de le faire sous la NPL.

Lorsque des gens utiliseront l'option A.2, leurs modifications seront publiées uniquement sous les termes de la GNU GPL, de sorte qu'elles ne seront pas disponibles pour Netscape pour inclusion dans des versions privatrices. Il est raisonnable de croire que Netscape considère ceci comme regrettable.

Pourtant, la NPL donne aux développeurs de logiciel privateur un moyen facile de rendre leurs modifications non disponibles pour Netscape, en plaçant leur code dans des fichiers séparés et en appelant l'ensemble « création plus vaste ». En fait c'est plus facile, pour eux, que la section A.2 ne l'est pour les utilisateurs de la GPL.

Si Netscape se sent capable d'assumer la gêne occasionnée par des modifications privatrices (de fait), certainement la gêne d'avoir des modifications couvertes par la GPL est petite en comparaison. Si Netscape croit que des considérations pratiques encourageront l'essentiel du monde privateur à lui fournir ses modifications sans y être obligé, le même raisonnement devrait s'appliquer dans le monde du libre. Netscape doit reconnaître que ce changement est acceptable et l'adopter, afin d'éviter de placer les développeurs de logiciel libre devant un sérieux dilemme.


Notes de traduction
  1. Autre traduction de proprietary : propriétaire. 

  2. Traduction non officielle :

    A.1. Vous pouvez distribuer une « création régie » [par la NPL] sous les termes de la licence publique générale GNU, version 2 ou plus récente, telle que publiée par la Fondation pour le logiciel libre (FSF), lorsqu'elle est incluse dans une « création plus vaste » qui est distribué entièrement sous les termes de la même version de la licence publique générale GNU.

    A.2. Si vous avez reçu une copie d'une « création plus vaste » sous les termes d'une version ou d'un choix de versions de la licence publique générale GNU, et que vous modifiez des portions de cette « création plus vaste » qui sont régies par la NPL, vous avez la possibilité d'altérer ces portions pour déclarer qu'elles sont distribuées sous les termes de cette version (ou ce choix de versions) de la licence publique générale GNU.