05 agosto, 2006

Intervista a Mike Schroepfer della Mozilla Corporation

tratto da MozillaZine e NewsForge

NewsForge ha pubblicato un'intervista a Mike Schroepfer, il vicepresidente della sezione sviluppo della Mozilla Corporation. Durante la O'Reilly Open Source Convention di Portland Joe "Zonker" Brockmeier di NewsForge gli ha rivolto qualche domanda su vari temi. Ecco i punti salienti dell'intervista.


La scorsa settimana, alla O'Reilly Open Source Convention di Portland, ho avuto l'opportunità di sedermi a tavolino per alcuni minuti con Mike Schroepfer della Mozilla Corporation e parlare con lui dello sviluppo di Firefox, di sicurezza, degli aggiornamenti a JavaScript e della collaborazione tra gli altri vendor Linux e i fornitori di servizi.

Aggiungendo la funzionalità di aggiornamento automatico in Firefox, gli sviluppatori hanno fatto enormi progressi per garantire che le patch di sicurezza siano distribuite rapidamente agli utenti. Tuttavia, questa funzionalità è utile solo per coloro abbiano scaricato il browser direttamente da Mozilla; gli utenti che utilizzano un Firefox pacchettizzato nella propria distribuzione Linux devono affidarsi al proprio vendor e questi di solito ritarda di almeno una settimana rispetto alla pubblicazione ufficiale di Mozilla.

E' presumibile che ci sarà sempre un certo lasso di tempo tra la pubblicazione ufficiale di Firefox e l'aggiornamento da parte dei distributori Linux, ma Schroepfer ribadisce che gli sviluppatori stanno facendo il possibile per ridurre questo intervallo. In particolare, Schroepfer dice che stanno ora pubblicando tarball dei sorgenti di pari passo con le versioni release candidate per fornire un accesso più ampio al testing e per rendere più agevole al vendor l'applicazione delle modifiche. In passato, i tarball dei sorgenti uscivano dopo le versioni release candidate, legando le mani a chi doveva gestire gli archivi dei pacchetti per progetti come Debian, Ubuntu e Fedora.

Fin qui abbiamo parlato delle ultime versioni di Firefox, ma che ne è delle versioni meno recenti, come la ora defunta serie 1.0.x? Firefox ne ha ufficialmente terminato il supporto ma questa fa ancora parte di diverse distribuzioni Linux, le quali saranno ancora supportate per anni. Più il codice divergerà, più sarà difficile per i vendor fornire delle patch di sicurezza retrocompatibili con la serie 1.0.x.

Schroepfer afferma che il progetto Mozilla è "disposto ad aiutare in qualunque modo possibile" ma che il progetto non ha risorse sufficienti "per supportare più rami di prodotto e competere ed innovare seguendo le aspettative degli utenti".

Mentre Novell, Red Hat ed altri stanno puntando al desktop aziendale, Schroepfer ribadisce che "noi siamo un'organizzazione focalizzata sul consumatore" e la stragrande maggioranza degli utenti Firefox è già passata alla serie 1.5.x. "Siamo una piccola realtà, combattiamo in modo pulito e ci sono solo poche cose che possiamo fare immediatamente. Non abbiamo contratti in ambito aziendale, non veniamo pagati per il supporto e non abbiamo le risorse per fornire un supporto aziendale".

Tuttavia, Schroepfer assicura che Mozilla sta cercando di evitare inutili incompatibilità tra i due rami di prodotto, in modo che le nuove versioni non blocchino la compatibilità tra i siti o tra le estensioni per Firefox, a meno che questo non sia assolutamente necessario. Schroepfer rivela che il ramo 2.0 è stato sviluppato su una freeze API della 1.5 in modo da minimizzare le differenze tra le versioni.

Schroepfer prevede che la sicurezza continuerà ad essere un problema per "qualunque cosa scritta in codice nativo", come il C e il C++. Ad esempio, egli fa notare che i problemi di sicurezza causati dalla memoria si sono evoluti nel tempo; dagli exploit stack-based a quelli heap-based fino agli exploit null-pointer.

Schroepfer mi dice che il progetto Mozilla ha "centinaia di migliaia di persone nel mondo" che analizzano il codice per cercare potenziali problemi di sicurezza. Oltre a questo, sono stati usati dei tool di analisi simili a quelli prodotti da Coverity per rilevare possibili vulnerabilità ed errori nel codice di Firefox.

L'altro approccio è quello di spostare quanto più codice "nativo" possibile verso JavaScript. Scrivere infatti la maggior parte di Firefox in Javascript "eliminerà un'intera classe di errori di programmazione", dice Schroepfer.

Firefox avrebbe incrementi di prestazioni se la maggior parte del proprio codice fosse scritta in JavaScript? Schroepfer risponde che la gran parte dell'interfaccia utente è già scritta in JavaScript e che "il 98% del codice non gira comunque in aree ad alta intensità di prestazioni".

La migrazione verso JavaScript 2.0
Ricordate quando JavaScript era essenzialmente un linguaggio giocattolo, utile solamente per aggiungere un tocco di eleganza alle vostre pagine web? Quei giorni sono lontani e Schroepfer dice che questo linguaggio sarà ancora più solido nel prossimo futuro.

Firefox 2.0 integrerà JavaScript 1.7, definito da Schroepfer il primo significativo aggiornamento a JavaScript negli ultimi 6 anni. Anche JavaScript 2.0 è in sviluppo e Schroepfer precisa che "sarà sottoposto a valutazione dalle istituzioni internazionali degli standard".

La tabella di marcia di Firefox
La data di uscita non è ancora stata definita ma Schroepfer afferma che Firefox 2.0 "verrà pubblicato entro la fine di quest'anno", con una Beta 2 disponibile in agosto.

Nel frattempo, è in corso anche lo sviluppo sulla versione 3.0 che si prevede uscirà nel 2007. Non si sa ancora con certezza quali funzionalità saranno presenti ma Schroepfer sostiene che ci saranno alcune modifiche architetturali per aggiornare il sottosistema grafico ed è probabile che la 3.0 comprenda un nuovo sistema di segnalibri che non è stato incluso nella serie 2.0.

Nessun commento: