Fonte: Alan Cleaver (via flickr.com)
In questo periodo di crisi si insegue sempre più il risparmio su diversi fronti e, naturalmente, non poteva mancare anche il fronte del software. Tra i vari suggerimenti che circolano in rete (ma anche offline) c’è quello di utilizzare il software Open Source al posto di quello proprietario: niente costi di licenza, pochi vincoli e libertà di installazione e copia.
Tra l’altro reperire software Open Source è abbastanza semplice: basta cercarlo nei vari repository accessibili online come SourceForge, CodePlex, Google Code o GitHub, per citare i più noti. Lo scarichi, lo provi ed il gioco è fatto.
A parte le solite noiose considerazioni sui falsi entusiasmi generati dall’assenza di costi di licenza, se stiamo selezionando un software che deve avere un ruolo non banale per la nostra attività occorre in realtà prestare molta attenzione al candidato da scegliere da questi repository. Non è detto che il software che si è trovato e provato rappresenti la scelta migliore, anche se soddisfa pienamente le nostre esigenze pratiche. Ci sono alcuni aspetti da considerare per evitare di rimanere intrappolati in una situazione da cui uscirne può essere difficoltoso (e quindi costoso).
Ma quali sono gli aspetti da tenere presente quando selezioniamo un progetto software dal nostro repository preferito?
Premesso che i nostri requisiti funzionali devono essere soddisfatti, altrimenti del software non ce ne facciamo nulla, tra i parametri da tenere in considerazione nella fase di selezione ci sono:
- lo stato della release
Spesso alcuni progetti si trovano in stato di beta release se non addirittura alpha. Ad un primo test il software potrebbe non manifestare problemi, ma questi potrebbero benissimo venir fuori quando è in piena funzione. In produzione sarebbe opportuno utilizzare una versione stabile e se non c’è, attendere che venga pubblicata. - la vitalità del progetto
Un progetto abbandonato o con scarsa vitalità non promette niente di buono, anche se il software è perfetto per le nostre esigenze. La presenza di una community dietro ad un progetto Open Source è fondamentale. Se c’è un interesse collettivo ci saranno maggiori garanzie per la correzione dei bug e per l’evoluzione del progetto stesso.
- la popolarità
La popolarità di un progetto Open Source potrebbe essere considerata un corollario della sua vitalità: più gente scarica ed utilizza quello specifico software più cresce l’interesse e la comunità che lo supporta. - roadmap
Anche se non tutti i progetti Open Source la prevedono pubblicamente, la presenza di una roadmap, cioè di una tabella di marcia che indica quali saranno le evoluzioni del progetto, è indice di una pianificazione e di una volontà di costruire un oggetto completo e funzionale. - estensioni disponibili
Alcuni software supportano la possibilità di estendere le proprie funzionalità tramite plugin, moduli esterni o altro. La disponibilità di un’ampia gamma di queste estensioni è sicuramente ancora una volta segno della vitalità del progetto e della possibilità di arricchire le funzionalità del software in maniera scalare ed abbastanza indolore.
Questi sono in linea di massima i principali aspetti da considerare nella ricerca di un software in qualità di utente. Nel caso in cui cerchiamo un software in veste di sviluppatore, oltre agli aspetti appena elencati occorre prestare attenzione anche a qualche altro parametro, a parte il linguaggio di programmazione e le tecnologie impiegate:
- la licenza
Mentre come utente non abbiamo vincoli particolari, come sviluppatori i vincoli variano da licenza a licenza. Occorre accertarsi della specifica licenza con cui viene rilasciato il software e, nel caso di combinazione con altri software, della compatibilità con altre licenze. - l’estensibilità
Il supporto di un meccanismo che consenta facilmente di estendere le funzionalità del software, come il supporto di plugin o moduli esterni, è ancora una volta un punto a favore per la sua selezione. Ci consente di estendere le funzionalità del programma senza modificarlo internamente. - l’architettura
Un software con un’architettura chiara e ben definita è sicuramente da preferire nella scelta del software: è più semplice da comprendere e da modificare. - la qualità del codice
Dare un’occhiata al codice sorgente per vedere come è scritto non è una cattiva idea. Se rimandiamo questa valutazione a quando dovremo metterci le mani potrebbe essere troppo tardi.
Queste indicazioni non sono certamente esaustive, ma mi auguro rendano l’idea che scaricare e provare non siano le due sole attività da fare nella selezione di un software Open Source.