Le cycle accéléré de Firefox
mercredi 15 juin 2011 - 6 commentaires
Avec la sortie de Firefox 4 plus de un an et deux mois après Firefox 3.6, Mozilla a décidé de changer de rythme de sortie de nouveautés. Il était très frustrant d'avoir des nouveautés dans les versions de développement et d'attendre 6 mois ou plus pour les délivrer au grand public.
On peut regarder l'exemple flagrant de WebM. Ce codec vidéo a été annoncé le 19 mai 2010. Nous avons des versions de développement disponible dès le premier jour. Le temps de stabiliser et tester tout ça, il aurait été possible d'avoir une version stable à l'été 2010. C'est d'ailleurs ce qu'ont fait Opera (10.6 le 1er juillet) et Chrome (6 le 2 septembre). Par contre, il faudra attendre le 22 mars 2011 pour voir le support de WebM dans Firefox 4. Frustrant, non ?
Le nouveau cycle
Avec la nouvelle organisation, une nouvelle version stable (ou finale) est prête toutes les six semaines. Voyons voir comment c'est possible avec les différents parfums de Firefox disponibles.
Nightly (ou trunk ou mozilla-central)
- Ici, on trouve le code le plus récent et le moins testé[1]. C'est là que toutes les nouveautés ajoutées la veille sont disponibles. Pour avoir du code plus récent que ça, il vous faudra compiler vous même Firefox.
- Au moment où j'écris ces lignes, la version 7 se prépare dans ce canal.
- Où télécharger - Pas très stable, gare aux doigts.
Aurora
- Ici, on prend une copie à un instant T de ce qui se passe dans Nightly. Pendant que le développement dans Nightly continue, dans Aurora, on peaufine les nouveautés ou on décide de les enlever. Par contre, on n'ajoute pas de nouveautés. Donc si une fonctionnalité que vous attendez n'est pas dans Aurora, elle ne sera pas ajoutée dans la version finale portant le même numéro de version.
- C'est donc plus stable que Nightly mais avec encore quelques aspérités.
- Au moment où j'écris ces lignes, la version 6 se prépare dans ce canal.
- Où télécharger - Assez stable
- On recherche beaucoup d'utilisateurs pour cette version qui est nouvelle.
Beta
- Là on prend ce qui était dans Aurora et on l'envoie à tous les bêta-testeurs. Ce qui fait quelques millions de personnes. Ça permet de mettre le dernier coup de polish et d'avoir le plus de retours possibles sur les coins sombres du web. Par exemple les intranet ou les sites bancaires.
- C'est du costaud, ça marche très bien, des millions de personnes l'utilisent.
- Au moment où j'écris ces lignes, la version 5 se prépare dans ce canal.
- Où télécharger - Go les yeux fermés
Finale
Et évidemment, la version finale avec plusieurs centaines de millions d'utilisateurs. Actuellement, c'est la version 4 mais le 21 juin sortira la version 5. Cela signifie que Beta passera en version 6, Aurora en 7 et Nightly en 8[2]. Il y a en permanence n, n+1, n+2 et n+3 en préparation. Et le changement suivant de n interviendra début août avec la sortie de Firefox 6[3].
On peut voir tout cela comme un système de filtrage. Nightly a du contenu brut, Aurora est passé à travers un premier tamis pour dégrossir, Beta prend un tamis plus fin et dans Finale, il ne reste que des pépites :)
NB : Pour éviter les trolls, je supprimerai tout commentaire sur les numéros de versions.
Commentaires
Ah ben merci pour cette explication très claire. Je ne sais pas pourquoi j’étais persuadé que Aurora n'était pas "Feature Freeze". Mais je pense que ça viens du fait qu'une fonctionnalité peut être redescendu dans les nightly si elle n'est pas assez stable (alors que l'inverse, c'est niet).
J'aime bien les images à http://mozilla.github.com/process-r... Tu veux pas les intégrer ?
Jérémie : Voilà. une fonctionnalité peut-être enlevée (backout) au cas où on rencontre trop de soucis avec. On peut aussi rajouter du code pour améliorer une fonctionnalité (par exemple, du code pour préfixer les websockets). Mais par contre, il n'y aura pas de nouveautés ajoutées à Aurora au cours d'un cycle.
David : Je trouve que ces graphiques ne sont pas adpatés pour illustrer le fait que "rien" ne se passe sur Aurora et Beta. Ils étaient surtout là pour illustrer la première release et le changement de cycle.
Franchement j'adore ce nouveau mode de distribution, qui est nettement plus facile et accessible qu'une Nightly.... comprendre compréhensible pour qui n'ezst pas né avec un cvs en guise de hochet.
Faudrait que je me bricole un lanceur multi-canal avec des profils polymorphes (historique de navigation, password, mais pas les extensions) sans forcément passer par Sync pour que je m'en serve beaucoup plus. Surtout afin de vérifier la compatibilité avec d'anciennes versions (difficile de faire comprendre à certaines agences que Fx 3.5 est complètement obsolète).
Gros problème, il semble que de nombreuses personnes qui avaient chargé la nightly de la 4 n'arrive pas à changer facilement de canal. Je pense qu'il y a un petit coup de polish à y faire.
Très sympa l'explication, c'est très clair.
Dans le début du billet, tu parles d'attendre 6 mois pour la nouveauté, et en effet c'est très long et un cycle accéléré est une excellente idée.
Y a-t-il une certaine règle de fréquence de mise à jour, de la même manière que Chrome et ses 6 semaines ? Ou est-ce que ce n'est pas encore défini ?
Da Scritch: On m'a demandé plusieurs fois comment lancer plusieurs Firefox en même temps. Faut que je recherche un peu pour être sûr, puis que j'écrive un truc là dessus aussi.
Bruno: Comme je l'indique dans l'article (j'ai mis en gras du coup ;) ), c'est prévu toutes les six semaines aussi. Il se peut qu'on "saute" une étape pour une raison X ou Y mais le rythme de travail permet de sortir toutes les 6 semaines.