Strumenti open source per la gestione di progetti
SOS Open Source ha analizzato progetti open source per gestire progetti IT, con l’obiettivo di individuare programmi di classe enterprise dotati di funzionalità di issue-tracking e time-tracking, possibilmente italiano o quantomeno localizzabile.
L’attività è iniziata con una pre-selezione di programmi open source per il project management, focalizzando lo studio sulle soluzioni web-based più note ed escludendo Kforge, Project HQ, ProjectPier in quanto manutenuti da un singolo sviluppatore o da un piccolo gruppo ed eliminando anche Collabtive e Feng Project in quanto troppo giovani.
Launchpad e Trac sono stati infine aggiunti alla lista di candidati (segue).
La prima tabella riporta il punteggio totale per ogni candidato, ottenuto sommando i valori ottenuti analizzando con SOS Open Source (valori non pesati). Per brevità il report sintetico riporta informazioni riguardanti solo i primi quattro progetti con il punteggio più alto: dotProject, Launchpad, Redmine and Trac.
Iniziamo il confronto analizzando la Sostenibilità.
La sostenibilità di un progetto open source è il risultato della somma dei valori ottenuti considerandone la Maturità (sono tutti progetti con oltre 3 anni di vita), Stabilità (tutti presentano stabilità del codice e sono manutenuti, si noti però che dotProject come risulta da Ohloh e Melquiades ha ridotto lo sviluppo), Popularità (Launchpad e Trac sono molto noti, mentre la popolarità di dotProject e Redmine è inferiore, anche se in crescita), Disponibilità di libri (esistono libri per ognuno di essi, tranne che per Launchpad, ma il libro su Redmine è in giapponese) e la Dimensione della Comunità e la relativa forma di governo (dotProject e Trac sono sviluppati da piccoli gruppi, Redmine ha un team poco più grande, mentre Launchpad è dotato di un ampio gruppo di sviluppo; dotProject e Redmine sono progetti nati dalla comunità, mentre Trac e Launchpad sono coordinati da aziende).
Quale è il loro livello di industrializzazione?
Il livello di industrializzazione valuta il tipo di Formazione e Supporto disponibile (dotProject è l’unico che offre un certo tipo di servizio formativo; il supporto della comunità è disponibile per dotProject e Redmine, mentre il supporto commerciale per Launchpad è disponibile in forma di subscription per i soli progetti ospitati sulla piattaforma). Tutti i progetti selezionati rendono disponibile della Documentazione, anche se solo in lingua inglese. I processi di Quality Assurance sono supportati dall’uso attivo di strumenti per tutti i progetti oggetto dell’analisi, ,ma dotProject reagisce lentamente alla segnalazione di bachi. La percentuale di commenti nel codice sorgente è sempre superiore al 20%, fanno eccezione Trac e Launchpad che si aggirano attorno al 25%.
La Strategia del progetto riguarda quattro aspetti, relativi alle Licenze (copyleft, corporate-like o permissive), la Roadmap, la evolvibilità e la sponsorship di progetto. Tutti i progetti sono licenziati con licenze di tipo copyleft (GPL per tutti tranne Launchpad, rilasciato con la AGPL v3). SOS Open Source attribuisce un valore più alto ai progetti con le licenze più permissive in quanto spesso le aziende che rilasciano in open source progetti utilizzando licenze di tipo copyleft ottengono minori contributi dall’esterno, ma questo tipo di considerazione non vale per i progetti che sono gestiti da comunità o consorzi. Per tutti i progetti sono disponibili strumenti per proporre modifiche, anche se nel caso di dotProject il processo non è chiaro. Infine tutti i progetti hanno una roadmap, ad eccezione di dotProject.
SOS Open Source consente di identificare progetti open source affidabili – che siano robusti, supportati e che possano evolvere in maniera sistematica – in modo da testare le funzionalità, la sicurezza e le prestazioni di un numero limitato di progetti, visto il carattere oneroso di tali attività.
dotProject è stato escluso per diverse ragioni, che vanno dalla mancanza di feature (nessun supporto per sistemi per la gestione della configurazione) alla limitata evolvibilità.
Le funzionalità di Launchpad sono state confrontate con i requisiti utente verificandole sulla piattaforma on line, ma l’installazione della versione open source è stata estremamente complessa. Persino dopo la creazione di una virtual appliance Launchpad, eseguita su Oracle VirtualBox, sono emersi diversi impedimenti tecnici che ne hanno reso impossibile l’utilizzo (bzr launchpad-login <username> cerca l’utenza su launchpad.net anziché sul sistema privato, non è possibile registrarsi utilizzando un provider OpenID, etc). Il difficile passaggio ad una versione open di Launchpad sembra ancora incompleto, e purtroppo abbiamo constatato che la veridicità delle parole delle persone di Canonical:
Perhaps Launchpad could be adapted to be an internal development system, but then, with enough hammering you can get a square peg into a round hole.
Trac non può gestire progetti multipli, ma è un ottimo candidato per la gestione di progetti singoli. BitNami e Turnkey virtual appliance sono disponibili ed è quindi facile provarlo.
Redmine gestisce progetti multipli, supporta diversi sistemi per la gestione della configurazione (CVS, Bazaar, Darcs, Git, Mercurial e Subversion), l’autenticazione LDAP, ha il supporto multilingua (l’italiano è senz’altro perfettibile), è dotato di accesso role-based e consente facilmente di creare workflow.
Redmine al di là delle funzionalità di base ha anche un directory ufficiale di plug-in, altre sono disponibili su github. Redmine ha un Tutorial per scrivere plug-in semplice ed efficace. Redmine è una piattaforma facile da usare ed estensibile, scritta in Ruby on Rails ispirandosi a Trac.
Redmine ha meritato la nostra attenzione, e adesso siamo passati alla sua prototipazione.
(Sono disponibili virtual appliance BitNami e Turnkey).