Il progetto Mozilla e mozilla.org

di Mitchell Baker

Contenuti


Introduzione

Mi vengono spesso rivolte domande su come funzioni il progetto Mozilla. Visto che può esserci altra gente con simili domande, ho scritto una panoramica su mozilla.org e il progetto Mozilla. In questo testo, userò il termine “Mozilla” per indicare il codice sorgente prodotto, “progetto Mozilla” per indicare le attività che gravitano attorno al codice appartenente a Mozilla (strumenti di sviluppo, di test, ecc.) e “la comunità di Mozilla” (Mozilla community) per indicare i collaboratori coinvolti in queste attività.

Torna ai contenuti

mozilla.org

L’organizzazione chiamata Mozilla è l’entità che coordina lo sviluppo di Mozilla. La missione di mozilla.org è promuovere un progetto open-source di successo. Questo significa che la nostra principale attività è guidare lo sviluppo complessivo del codice di Mozilla, e rappresentare il principale punto di incontro per la comunità di Mozilla. La partecipazione al progetto Mozilla è completamente volontaria, e mozilla.org si adopera perché la partecipazione al progetto sia utile e desiderabile per i potenziali collaboratori.

mozilla.org fornisce un ampio spettro di servizi per assistere la comunità degli sviluppatori. Forniamo indicazioni tecniche e di architettura per il progetto Mozilla, lavorando a fianco dei collaboratori per rendere utile il codice di Mozilla in un ampio numero di prodotti, piattaforme e dispositivi. Gestiamo il nostro archivio di codice sorgente con in mente lo stesso obiettivo. Sviluppiamo e implementiamo processi atti a mantenere una discussione pubblica, uno sviluppo distribuito, e ricevere commenti ed idee sul lavoro svolto. Ci preoccupiamo del mantenimento del sito web di mozilla.org oltre ad un servizio ftp, gruppi di discussione, varie mailing list dedicate a Mozilla. mozilla.org inoltre sviluppa e mantiene una serie di strumenti per l’organizzazione del progetto. Un buon esempio è dato da Bugzilla, un sistema open-source per gestire e tenere traccia dei bug, sviluppato da mozilla.org e correntemente utilizzato da diversi altri progetti esterni.

Per promuovere un processo decisionale distribuito tra la comunità degli sviluppatori, mozilla.org delega l’autorità decisionale su ogni sezione di codice (chiamata “modulo”) a persone che già lavorano su tale sezione. Queste persone vengono riconosciute come “possessori del modulo” (“module owners”). Ciascun possessore di un modulo è autorizzato a prendere decisioni sul design e l’implementazione di tale modulo, approvare l’inclusione di codice nell’ archivio di codice di mozilla.org, e concedere ad altri di includere altro codice. In questo sistema i membri di mozilla.org non controllano ogni singolo cambiamento all’albero del codice sorgente prima che venga incluso (“checked in”). Questo andrebbe a sottrarre un enorme quantità di risorse amministrative alla globalità del progetto.

Piuttosto, mozilla.org si riserva il privilegio di mantenere l’autorità decisionale definitiva. Questo include il diritto di designare o rimuovere possessori di un modulo, di risolvere conflitti tra collaboratori e determinare la direzione del progetto, del codice contenuto nell’ archivio, e il processo che guida il progetto generale. mozilla.org esercita questi diritti solo se necessario. Questo consente al progetto di procedere in modo spedito, pur rimanendo nelle mani di mozilla.org.

Nel processo decisionale, mozilla.org utilizza le seguenti linee guida:

  • Le decisioni devono essere proposte e discusse in ambito pubblico, e in ambito pubblico comunicate.
  • Un occhio dovrebbe essere mantenuto al consenso che tali decisioni suscitano, ma non sempre è richiesta l’unanimità; poche decisioni strategiche verranno prese anche in assenza di consenso unanime.
  • Alternative che evitino il confronto diretto tra i collaboratori devono venir esplorate con molta attenzione e adottate se opportune.
  • Obiettivi appartenenti solo ad un particolare collaboratore dovrebbero essere implementati all’interno nel dominio del collaboratore.
  • Le decisioni devono essere basate in ciò che pensiamo sia meglio per l’intera comunità, e non basate sui desideri di alcuni collaboratori.

Torna ai contenuti

Mozilla Public License

La Mozilla Public License (Licenza pubblica di Mozilla, brevemente “MPL”) puntualizza i termini sotto i quali può essere utilizzato il codice di Mozilla. La MPL è stata approvata dalla Open Source Initiative come licenza Open Source. La MPL consente l’accesso al codice di Mozilla in modo equalitario a tutti. La MPL richiede che le modifiche (nella licenza riferite come “Modifications”) al codice licenziato, incluse nuove interfacce (API), vengano rese pubbliche in forma di codice sorgente. Consente in oltre di combinare codice MPL con altro codice licenziato sotto altre condizioni non open source. Ad esempio, chiunque è libero di creare un prodotto commerciale utilizzando il codice di Mozilla, aggiungere nuove API, rendere tali API disponibili sotto i termini della MPL, e quindi utilizzare tali interfaccia per chiamare una libreria proprietaria. In tale caso, la MPL non coprirà la libreria proprietaria, la quale può essere mantenuta sotto la licenza originale.

Torna ai contenuti

Il personale di mozilla.org

Il personale di mozilla.org è composto da membri della comunità di Mozilla che è coinvolta in modo formale con mozilla.org.

I membri del personale sono orientati alla gestione del progetto Mozilla nella sua interezza, e non in un particolare prodotto basato su Mozilla. Alcuni membri di mozilla.org sono impegnati principalmente nel codice, nello sviluppo, nel processo di revisione e controllo di qualità. Altri sono orientati allo sviluppo degli strumenti utilizzati da mozilla.org . Tutti comunque partecipano al mantenimento attivo della comunità: capire le necessità della comunità e cercare di soddisfarle. Alcuni membri sono pagati per lavorare a tempo pieno al progetto Mozilla, altri sono pagati per lavorarci part-time, e altri ancora sono volontari. Noi rappresentiamo differenti prospettive ma condividiamo l’obiettivo comune nel successo del progetto Mozilla..

La grande parte dello sviluppo del codice non è compiuto dai membri dello staff di mozilla.org; il progetto procederebbe molto lentamente se fosse così. Ognuno cerca di intervenire nelle aree in cui ritiene di avere particolare esperienza, o dove è richiesto aiuto. In ogni caso è la comunità di Mozilla a svolgere la massa del lavoro.

Torna ai contenuti

La comunità di Mozilla

La comunità di Mozilla include tutti coloro i quali collaborano a Mozilla, espletando una qualsiasi delle cose che aiutano Mozilla ad essere un progetto utile e di successo. La somma di queste azioni in ultima analisi determinano la direzione del progetto, attraverso i contributi e attraverso la partecipazione alla discussione pubblica dove vengono intraprese le attività giorno per giorno. Alcuni partecipanti come volontari, altri attraverso la loro attività di educatori, e altri come membri di attività commerciali.

Mozilla è già uno straordinario progetto open source. Escludendo per il momento gli ingeneri impiegati presso Netscape, la comunità di Mozilla include collaboratori che partecipano in un ampio spettro di attività. Parte di questi giocano il ruolo di sviluppatore contribuendo a nuove funzionalità o correggere i bug nel codice. Esempi includono MathML, il client IRC “Chatzilla”, il parser XML, il componente ActiveX, il supporto per i plug-in sotto Linux, il trattamento del testo semplice, l’integrazione con Java, il supporto per la scrittura bidirezionale, e XML-RPC. Altri collaboratori verificano il prodotto, scovando e documentando i bug, creando test e strumenti per assistere gli sviluppatori. Ad esempio, solo le versioni stabili rilasciate mensilmente da Mozilla ricevono una media di 100.000 scaricamenti, contando solo quelle prelevate dai server di Mountain View. Più di quattromila persone hanno speso tempo ed energie per riportare bug. Approssimativamente 700 persone (di cui poco meno di un terzo proviene da Netscape) ha identificato e documentato più di 5 bug ciascuno.

I collaboratori creano versioni di Mozilla per altre piattaforme. Altri localizzano Mozilla per particolari lingue e culture (segui il link per vedere la lista dei 46 linguaggi verso cui Mozilla è attualmente in fase di localizzazione). Alcuni aiutano ad implementare gli standard. Altri aiutano con la comunicazione, mantenendo il sito di mozilla.org , scrivendo documentazione, ed educando i nuovi membri della comunità. La comunicazione avviene attraverso il sito web di mozilla.org, i gruppi di discussione per gli sviluppatori, “Bugzilla” il nostro database per la gestione dei bug, e il canale di Internet Relay Chat (IRC) #mozilla su irc.mozilla.org . E ovviamente Mozillazine, dell’ingegnoso Chris Nelson, fonte indipendente per le notizie riguardanti Mozilla.

Talvolta i ruoli multipli ricoperti da un collaboratore causano confusione. Ad esempio, Netscape è il maggiore collaboratore per il codice di Mozilla. Allo stesso tempo, Netscape utilizza il codice di Mozilla come base per il proprio prodotto Netscape 6. Ciò ha indotto alcune persone a pensare (a torto) che il codice di Mozilla e Netscape 6 fossero la stessa cosa. Questo non è corretto. Chiunque è libero di usare il codice di Mozilla per creare un prodotto, e di combinare il codice di Mozilla con altro codice per creare tale prodotto. Netscape segue questo processo, partendo con il codice di Mozilla, aggiungendo un quantità di funzioni e codice proprietario, e creando Netscape 6. Chiunque è in oltre libero di usare una parte del codice di Mozilla in un prodotto. Molte società lo fanno, ad esempio utilizzando il motore di rendering Gecko.

Il progetto Mozilla sta attraendo persone dedicate, diligenti e di talento, come partecipanti individuali volontari e come dipendenti di vendor commerciali come Netscape. Mozilla è oggi un progetto vibrante con un potenziale enorme per il futuro. Vieni e unisciti a noi.

Mitchell Baker
Chief Lizard Wrangler (capo amministrativo – n.d.t.)