Tribune Libre: Ténors de l'Informatique Libre | ||
---|---|---|
Page précédente | Chapitre 13. Libérons les sources — L'histoire de Mozilla | Page suivante |
Alors que le Grand Nettoyage du Code battait son plein, un autre projet devait décider de la licence de diffusion à adopter. Il nous fallait pour cela répondre tout d'abord à une importante question : l'une des licences existantes était-elle adéquate ? Personne ne souhaitait rédiger de nouvelle licence, mais tout le monde réalisa qu'il serait nécessaire de satisfaire les tierces parties et d'adopter une démarche fédérant les entreprises. Aucun logiciel propriétaire existant n'avait jamais été fourni ainsi.
Un groupe de leaders de la communauté Open Source incluant Linus Torvalds, Eric Raymond et Tim O'Reilly fut invité à visiter le campus de Mountain View. Ils participèrent à des débats avec des groupes de dirigeants, de juristes et de programmeurs afin d'exposer leurs vues et rencontrèrent de petits groupes pour discuter de problèmes spécifiques. Ils consacrèrent une grande partie de leur temps à discuter avec l'équipe juridique de Netscape des mérites et défauts des licences existantes. Ces conseillers agirent aussi comme un groupe prolifique en idées.
Une équipe conseillée par l'équipe juridique de Netscape examina les licences existantes afin de déterminer si l'une d'entre elles pouvait s'appliquer à Mozilla. Ils commencèrent par examiner la licence publique générale GNU destinée aux bibliothèques (la LGPL) et la licence BSD, et nous avons longuement analysé leurs avantages et inconvénients respectifs. Le source de base de Netscape présentait des caractéristiques propres, bien distinctes de celles des codes auxquels elles avaient été déjà appliquées. Les accords de licence ad hoc qui régissaient de nombreux composants issus de tierces parties utilisés posaient l'un des problèmes les plus épineux. La licence devait créer un environnement où ces contributeurs et d'autres nouveaux développeurs commerciaux pourraient participer au développement de Mozilla tout en préservant leurs intérêts.
La licence BSD, plus permissive, qui requiert seulement que le détenteur légal mentionné dans tout source dérivé, fut jugée insuffisante dans le cas de Mozilla. Elle aurait exposé les développeurs à constater que leurs modifications ne seraient pas reversées à la communauté. Ce point unique posait un énorme problème puisqu'il était crucial pour la viabilité à long terme des travaux de développement open source.
Les contraintes de la GPL la rendaient incompatible avec notre projet. La GPL est « contagieuse » car doit aussi protéger tout code combiné par compilation avec un code sous GPL. Cette exigence la rend inadéquate dans le cas de logiciels commerciaux. La GPL, par exemple, concernerait aussi les composants des parties tierces compilés dans les versions de Communicator, ce dont Netscape ne saurait décider, puisque nous n'en disposons pas. Et Netscape lui-même utilise une partie du code de Communicator dans d'autres produits (par exemple des serveurs). Puisque Netscape n'avait aucun plan immédiat pour fournir leur code source, l'effet viral de la GPL sur ces produits présentait un problème pour Netscape autant que pour les autres entreprises. La LGPL, une modification de la GPL plus ouverte et moins restrictive, était plus proche des besoins de Netscape pour un développement commercial, mais elle limitait les modalités de commercialisation, tout comme la GPL.
Après un mois frénétique de recherche, de discussion et de rencontres avec des experts et défenseurs du logiciel libre, et au milieu des spéculations du public, l'équipe décida qu'une nouvelle licence pourrait seule correspondre à cette situation sans précédent. La Licence Publique de Netscape (NPL), compromis entre la promotion du développement des Sources Libres par des entreprises commerciales et la protection des développeurs concernés, naquit ainsi. Le processus de création d'une nouvelle génération de licence Open Source exigea plus d'un mois.
Dans un autre élan extraordinaire le brouillon de sa toute première version fut présenté au public. Le 5 mars, une version de la NPL fut postée dans un nouveau forum de nouvelles Usenet appelé netscape.public.mozilla.license, assortie d'une demande invitant tout lecteur intéressé à la commenter. Encouragements et moqueries fusèrent. La section de la licence qui garantissait à Netscape le droit d'utiliser le code couvert par la NPL dans d'autres produits sans devoir placer ces derniers sous NPL faisait l'objet de la plupart des critiques. Cela permit aussi à Netscape de publier des versions révisées de la NPL, et de manière très controversée, de re-licencier du code sous NPL aux parties tierces sous des termes différents de ceux de cette licence. Certaines des personnes faisant des commentaires en retour, allaient si loin qu'elles suggéraient que ce seul fait rendrait la NPL inacceptable pour la communauté des développeurs Open Source.
jwz (Jamie Zawinsky) publia le 11 mars dans netscape.public.mozilla.license un état des travaux dont voici un extrait :
Premièrement, MERCI pour la somme incroyable de commentaires pertinents expédiés ! Ce fut incroyablement utile, et soyez assurés que les opinions exprimées sont très scrupuleusement prises en considération. La semaine prochaine, vous pouvez vous attendre à voir une section 5 très retravaillée. Je ne pourrai probablement pas trop la commenter (car ne souhaite pas donner de faux espoirs), mais ce que la plupart d'entre vous détestent a été clairement circonscrit.
Le 21 mars, la modification fut postée. C'était sans précédent. La réaction fut incroyable : « Je leur ai dit que c'était affreux et ils m'ont écouté ! Je n'arrive pas à y croire ! ». Le public réalisa qu'il s'agissait bien d'un projet open source, malgré son lieu de naissance surprenant. Les utilisateurs des forums Usenet, au lieu de commenter comme à l'ordinaire les résultats, guidèrent le processus de mise au point. Le ton changea dans les discussions, et la bonne volonté s'y montra davantage.
La critique de la version bêta de la NPL émise par la communauté avait renvoyé l'équipe de licence à sa table de travail. Ils cherchèrent une solution qui permettrait à Netscape de soutenir les objectifs des développeurs de logiciels libres tout en servant ses objectifs commerciaux. Le résultat fut une deuxième version de la NPL appelée Licence Publique Mozilla (MozPL). Elles sont identiques à ceci près que la NPL comporte des amendements laissant à Netscape des droits additionnels.
Tout le code réalisé pour le 31 mars 1998 fut publié sous la NPL, et toutes les modifications de ce code le seront sous NPL. Un nouveau code développé peut être publié sous la MozPL ou sous tout autre licence compatible avec elle. Des changements dans des fichiers contenus dans le code source sont considérés comme des modifications et placés sous NPL. Pour répondre à de nombreux doutes exprimés sur le réseau, les nouveaux fichiers qui ne contiennent pas de code original ou de code modifié ultérieurement ne sont pas considérés comme des modifications et ne sont donc pas couverts par la NPL. Le code résultant peut être placé sous n'importe quelle licence compatible. La GPL n'est pas compatible avec la Licence Publique Netscape ou avec la Licence Publique Mozilla car semble incompatible avec toute autre licence puisque elle interdit toute addition de restrictions ou de plus amples permissions. Tout code développé pour fonctionner avec du logiciel GPL doit à son tour être protégé par la GPL. Un autre point mineur est que la GPL insiste pour que, quand vous distribuez du code sous ses termes, elle doit être complète et entière. La NPL ne comporte pas cette condition.
Les discussions dans les forums Usenet soulignèrent un important problème : des développeurs souhaitaient voir Netscape distinguer les corrections de bogue et le nouveau code. Affirmer : « Je réalise une correction de bogue, une petite modification de votre programme, » est tout-à-fait différent de « J'ajoute une nouvelle fonction à votre programme ». Ces assertions provoquent des réactions différentes. La plupart des gens acceptent d'offrir une correction de bogue, et la récompense d'une contribution réside dans son don même. Mais il n'en va pas de même pour du code additionnel. Un développeur productif ne souhaite pas voir n'importe qui utiliser son travail afin de gagner de l'argent.
La NPL et la MozPL furent conçues pour encourager le développement ouvert sur le code de base de Mozilla, mais dès le début un autre objectif se dessina. Netscape souhaitait être la première grande entreprise à ouvrir son code propriétaire parce qu'elle voulait mieux entretenir l'intérêt d'autres grandes sociétés pour l'environnement open source. Il lui semblait primordial de créer une atmosphère propice, pousser les organisations rentables à adopter ce modèle et à participer au mouvement. L'infrastructure légale de la plupart des licences libres n'offrait que des obstacles à la coopération de sociétés. C'est pourquoi la licence de Mozilla constituait à elle seule un projet à part entière.
Nous espérions, en offrant le code source des futures versions, inviter toute la communauté de l'Internet à créer un nouveau mode d'innovation dans le marché du navigateur. L'idée selon laquelle de talentueux programmeurs à travers le monde travailleraient sur notre code, apportant au navigateur leur énergie créative, motivait tout le monde à aller de l'avant même si la progression s'avérait difficile.
Page précédente | Début | Page suivante |
Rendre cela possible | Remonter | mozilla.org |