Come viene gestito il processo di sviluppo di LibreOffice ?
Il processo di sviluppo di LibreOffice somiglia molto a quello del kernel Linux, nel senso che viene “indirizzato” dall’Engineering Steering Committee ma non ha una roadmap legata alle funzionalità, in quanto il grosso del lavoro viene fatto su alcuni filoni già definiti:
- Evoluzione incrementale dell’interfaccia utente, con l’introduzione di una serie di miglioramenti di piccola entità – come, per esempio, la pulizia delle toolbar e le nuove icone – oppure poco visibili ma fondamentali come le finestre di dialogo “ridisegnate” con Glade;
- Miglioramento della compatibilità con i formati proprietari Microsoft, sia legacy (DOC, XLS, PPT e RTF) sia attuali (DOCX, XLSX e PPTX), sulla base delle segnalazioni degli utenti (in particolare, delle organizzazioni e delle aziende che adottano LibreOffice);
- Introduzione di filtri di conversione per altri formati proprietari utilizzati dagli utenti enterprise, come Microsoft Visio, Corel Draw e Microsoft Publisher, oppure per formati meno diffusi e quasi scomparsi come Microsoft Works e i software di elaborazione testi Apple;
- Ringiovanimento del codice attraverso l’eliminazione di librerie deprecate, l’aggiornamento delle librerie esistenti e l’introduzione di nuove, la sostituzione di classi C++ troppo complesse con altre più sintetiche, la semplificazione di classi C++ attraverso la loro fusione, la traduzione dei commenti, eccetera;
- Introduzione di nuove funzionalità che migliorano l’usabilità dei singoli moduli oppure le prestazioni dell’intera suite, anche se non si tratta mai – vista l’ampiezza delle funzionalità già presenti – di innovazioni sostanziali, ma di miglioramenti incrementali (come la rotazione delle immagini di 90° in Writer);
- Integrazione delle funzionalità sviluppate dal progetto AOO, grazie alla licenza Apache che permette di modificare la licenza stessa in LGPLv3/MPL – rispettando le condizioni – per arricchire LibreOffice (come nel caso della barra laterale, e di numerose funzioni grafiche sviluppate da Armin le Grand);
- Riscrittura del motore dei singoli moduli a partire da Calc, che comincia a mostrare i segni dell’età soprattutto sotto il profilo delle prestazioni, per offrire un prodotto al passo con le tecnologie hardware (in particolare, con l’evoluzione dei processori, e non è certo un caso se AMD e Intel hanno voluto essere presenti all’interno dell’Advisory Board di The Document Foundation).
A tutto questo si aggiunge l’attività degli sviluppatori volontari che si cimentano con lo sviluppo di funzionalità che richiamano il loro interesse, perché sono utenti e vorrebbero averla o perché sono incuriositi dalla sfida con il codice sorgente di LibreOffice (che viene tradizionalmente considerato complesso, anche se oggi non è più lo spauracchio dei tempi di OOo).
L’Engineering Steering Committee si riunisce una volta alla settimana e decide sulle eventuali controversie secondo il metodo dell’eccezione, ovvero interviene solo quando è necessario mentre lascia all’autogoverno dei singoli – e gli hacker sono veramente straordinari per la loro autodisciplina – il normale processo di sviluppo (e il ciclo di rilasci time based fa il resto).
Credo sia opportuno sottolineare che questa organizzazione ha permesso a LibreOffice di diventare, in soli tre anni, il più grande progetto di software libero nell’area della produttività individuale e il terzo nell’area del desktop, dopo i due browser Mozilla Firefox e Google Chrome (che però hanno risorse economiche completamente diverse da The Document Foundation).