Rendre cela possible

Le corps du code source de Communicator fut appelé « Mozilla », nom crée par Jamie Zawinsky et la société durant le développement du Navigator. L'équipe travaillait frénétiquement pour créer une « bête » beaucoup plus puissante que Mosaic, et ce nom devint celui du code officiel de Navigator. Plus tard le gros dinosaure vert devint une blague interne, puis une mascotte pour la société, et enfin un symbole pour le public. Le nom est à présent devenu le terme générique se référant aux navigateurs Web libres dérivant du code source de Netscape Navigator. On s'employait à « libérer le Lézard ».

Une impressionnante quantité de tâches restait à accomplir afin de préparer la première publication du code. Les problèmes apparaissaient peu à peu et furent collectés et classés dans des catégories. Le trimestre suivant fut consacré à leur résolution, à la cadence infernale que Netscape connaissait bien.

La mise à disposition des modules de tierces parties inclus dans le navigateur posa l'un des plus gros problèmes. Les trois-quarts du code de Communicator en relevaient et nous devions donc contacter tous leurs propriétaires. Des équipes d'ingénieurs et d'évangélistes furent organisées pour rencontrer et convaincre chaque société de rejoindre Netscape sur la route des Sources Libres. Tous avaient entendu parler de l'annonce de Netscape et devaient choisir : leur code pouvait être supprimé ou remplacé, livré en binaire (conservé dans son état compilé) ou bien livré sous forme de code source avec Communicator. Pour compliquer les choses, de nombreux contrats étaient uniques et portaient sur différentes échéances. Aucun scénario ne pouvait s'appliquer à tous les cas.

Nous souhaitions respecter la date de publication annoncée et cela nécessitait des choix parfois difficiles. Ce fut sûrement le cas quand vint la question de la participation des développeurs des tierces parties. La règle était qu'ils devaient nous rejoindre avant le 24 février, ou leur élément serait écarté des sources. Ce type de date butoir n'est pas difficile à établir lorsque l'échéance est encore lointaine mais devint critique quand elle fut proche. Une partie du code dut être supprimée.

Les sources de la machine virtuelle Java, langage propriétaire, ne devaient pas être publiés. Trois ingénieurs se virent confier une « Java-ectomie » grâce à laquelle le navigateur pourrait être compilé puis s'exécuter sans Java. La modification du code général, très intimement mêlé à Java, exigea beaucoup de travail. Nous nous proposions de consacrer les deux dernières semaines aux tests. Les ingénieurs devaient démêler tout le code Java du navigateur avant le 15 mars, échéance très proche.

Le nettoyage du code fut un projet énorme. Beaucoup doutèrent très tôt de la date avancée mais les cerveaux commençaient à bouillir lors de réunions, des stratégies prirent forme, les roues commencèrent à tourner. L'équipe de production laissa de côté son travail (la plupart de ses membres développaient la génération suivante du navigateur) et tous s'attaquèrent immédiatement au projet. Il fallait non seulement décider du sort (inclusion ou suppression) de tout module issu d'une tierce partie mais aussi mettre au propre les commentaires du code. La responsabilité de chaque module fut assignée à une équipe et ils commencèrent à récurer.

Une des grandes innovations qui se produisit tôt fut d'utiliser le système de rapport de bogues offert par notre Intranet en tant que gestionnaire de tâches. « Bugsplat » était le surnom de Scopus, un programme de rapport de bogues à interface en HTML. Ce système de gestion des flux de documents nous épaula au mieux. Il tenait à jour la liste des nouvelles tâches décrites grâce à un simple formulaire HTML et gérait les priorités des tâches et les personnes compétentes comme autant de bogues ainsi pris en charge. Les listes de diffusion électroniques correspondantes naissaient à mesure. Sitôt la tâche (ou le bogue) résolu, toutes les listes de diffusion et les priorités disparaissaient. Les ingénieurs mesuraient l'avancement de leurs propres modules et surveillaient le déroulement du projet grâce à notre Intranet.

L'équipe d'ingénieurs peina aussi afin de supprimer les modules de chiffrement. Le gouvernement insistait non seulement pour que tout ces codes disparaissent mais encore pour que toute fonction qui y faisait appel soit réécrite. Le seul travail d'une des équipes fut de garder un contact constant avec la NSA et de gérer les problèmes de conformité.