Evoluzione dei software Mozilla

Ho trovato questo bel post di Ptit Lutin (membro del Forum GeckoZone e traduttore su BabelZilla , che ringrazio per avermi autorizzato a fare la traduzione, nonchè per i suggerimenti e correzioni, :-D) sul forum francese GeckoZone che spiega in modo semplice come viene organizzato lo sviluppo dei software Mozilla. Questo dovrebbe servire per avere una vaga idea sulla terminologia utilizzata e sulle varie fasi dello sviluppo. Se volete saperne di più sull'oscuro mondo degli sviluppatori Mozilla vi invito a sottoscrivere il feed RSS di Mondozilla.

Dfferenze fra trunk e branch

Il tronco (o trunk) indica il codice principale di Gecko, il motore di rendering sul quale sono basati tutti i software della Fondazione Mozilla Firefox, Thunderbird e Seamonkey). E' sul tronco che lavorano la maggior parte degli sviluppatori.

All'inizio dello sviluppo di una nuova versione viene creato un nuovo ramo (o branch).

Quando un nuovo ramo viene creato lo sviluppo del tronco viene congelato (freeze), il che significa che lo sviluppo del tronco viene bloccato, salvo direttive straordinarie provenienti dalle alte sfere. (questo viene fatto al fine di non compromettere la stabilità del futuro ramo).

A questo punto il codice del tronco viene copiato nel ramo e da questo momento. in poi tronco e ramo evolveranno parallelamente. Un piccolo gruppo di sviluppatori verrà assegnato allo sviluppo del nuovo branch fino all'uscita della versione finale, a questo punto il ramo verrà chiuso e riprenderà lo sviluppo normale del tronco.

Ecco qualche esempio (ringrazio Ptit Lutin per la consulenza)
Firefox 1.5 e Thunderbird 1.5 sono basati sul branch di Gecko 1.8;
Firefox 2.0 è basato sul ramo di Gecko 1.8.1;
Gran Paradiso (Firefox 3.0 a2) è basato sul tronco di Gecko 1.9.
Al momento il trunk team sta lavorando allo sviluppo di Gecko 1.9a2 da cui si staccherà il ramo Gecko 1.9. Per chiarire meglio le idee guardate questa immagine:

Evoluzione delle trunk e delle branch

Compilazioni notturne e ufficiali

Le nightly build (compilazioni notturne) sono versioni che vengono caricate quotidianamente alla fine della giornata lavorativa e servono agli sviluppatori per fotografare l'evoluzione del codice sorgente in quel preciso momento, non sono versioni create per il download al pubblico, sono solitamente molto instabili e ,non viene data nessuna garanzia sul loro funzionamento.

Al contrario una versione ufficiale (release) garantisce una certa stabilità e sono disponibili per il pubblico.

Commento: Io ho scaricato solamente una volta una nightly di SeaMonkey 1.5 ed era sprovvista di barra degli indirizzi, questo solo per farvi capire l'inutilità di scaricare le nightly dai mirror Mozilla, anche perché, il giorno dopo dovreste aggiornare :-P. Se su qualche sito di news trovate il link per il download di una nightly lasciate perdere :-P.

alpha, beta e release candidate

Il ciclo di sviluppo dei software Mozilla prevede diverse fasi:

  • le versioni alpha appaiono all’inizio dello sviluppo ed è in questa fase che vengono introdotte le maggiori novità al ramo e al tronco corrispondente. Sono sconsigliate al grande pubblico e servono sopratutto ai tester e agli sviluppatori di estensioni per risolvere problemi di compatibilità con le nuove versioni;
  • una versione beta integra tutte le nuove funzionalità previste per la versione ufficiale e da questo momento in poi lo sviluppo si concentra nella soluzione di bug senza introdurre nuove funzionalità. E’ ha questo punto dello sviluppo che vengono rilasciati i language pack per la futura versione;
  • la versione RC (release candidate) rappresenta una versione candidata a diventare release, in altre parole, se dopo il periodo di test non verranno riscontrati bug particolarmente gravi questa diventerà la versione ufficiale e verrà rilasciata per il download al grande pubblico.

Approfondimenti sull'argomento trattato in questo post

Post originale su GeckoZone di Ptit Lutin,
Lo sviluppo dei software Mozilla spiegato da Asa Dotzler,
Gran Paradiso Road Map (in inglese),
Mozilla Developer Center (in italiano),
Roadmap di Gecko 1.9,
Mondozilla (il blog italiano per seguire lo sviluppo dei software Mozilla).

5 Responses to “Evoluzione dei software Mozilla”


  • Grazie del post, proprio oggi (dopo che sempre grazie a te ho scoperto mondozilla ^_^) mi ripromettevo di cercare qualcosa del genere…

    PS: spassoso il thread di swzone che hai linkato…

  • Non è spassoso il thread di swzone che gialloporpora ha linkato: è MONDIALE!
    Lo avevo già letto su un altro blog, ma fa sempre piacere rileggere di questo scontro tra un gradasso ed un vero esperto (giudicate voi chi è il gradasso presuntuoso…)

  • Allora ho modificato un attimo il post su segnalazione di Ptit Lutin, io avevo scritto:

    – TB 1.5 e FF 1.5 sono basati sul tronco di Gecko 1.8

    il che non è vero, il tronco in questo momento è rappresentato da Gecko 1.9 che diverrà anche lui un ramo.
    Ho messo un'immagine che spiega meglio il funzionamento del sistema il tronco continua a evolvere e da quello si staccano vari rami (è più difficile da spiegare che da capire :-P.

  • Hi all 😀

    In few words :

    – Gecko 1.8 is a branch from trunk
    – Gecko 1.8.1 is a branch of Gecko 1.8
    – the trunk is currently "Gecko 1.9a2". Gecko 1.9 doesn't yet exit as branch but will become a branch

    Instead of Gecko (which is only the layout engine, we should talk about Mozilla platform

    From Brendan Eich's blog

    First, we should do Mozilla 2, targeting 2008, "after" Mozilla 1.9 — but we should start working on it very soon, next month. We should not follow 1.9 with 1.10 and run headlong into the law of diminishing returns.

  • Merci pour le comment Ptit Lutin

Leave a Reply