Alternative open source per l’impresa

11 gennaio 2011

SOS Open Source parlando della selezione dei programmi open source, ha fornito alcuni consigli su come trovare programmi open source e suggerimenti per valutare programmi open source.

Successivamente sono stati pubblicati estratti di relazioni su strumenti per la qualità del software, piattaforme wiki, su come scegliere strumenti per la gestione di progetti o valutare ‘fork’ open source.

L’obiettivo di questo articolo è condividere modalità per individuare una rosa di candidati e alcuni suggerimenti su come calcolare le metriche di valutazione.

Scegliere la ‘giusta’ alternativa open source.

La selezione dei programmi open source richiede tempo e risorse, ma l’onere associato alla scelta del programma open source più idoneo può variare significativamente. Ad esempio:

  • Linux: non occorre essere degli esperti per sapere che si tratta di un progetto maturo e stabile condotto da una community, molto popolare ed estremamente diffuso, supportato commercialmente da molti vendor, anche per ciò che riguarda la formazione ed altri servizi a valore aggiunto. La scelta della ‘giusta’ distribuzione Linux per la vostra organizzazione richiede comunque approfondimenti.
  • Esperti come ad esempio gli sviluppatori di facebook – avviano nuovi progetti o collaborano a progetti già esistenti, ma seguirne le orme può non essere banale. Guardando i progetti utilizzati da facebook troviamo programmi come codemode, che sedici mesi dopo il suo rilascio è stato abbandonato, mentre FlashCache è supportato unicamente facebook, laddove il sistema di caching distribuito Memcached risulta essere un progetto di comunità stabile e manutenuto.

Fatta eccezione per i programmi più noti, a meno che non siate esperti hacker – sia che siate interessati al semplice utilizzo di programmi open source o se siete una software house in cerca di componenti open – è bene che dedichiate il tempo necessario per valutare e provare prima di comprare o implementare. Tutti i vostri requisiti, che includeranno il tipo di supporto richiesto, la certificazione di determinati stack, ecc. dovranno attentamente essere ponderati e presi in considerazione al momento della selezione.

Come costruire la vostra “lista di programmi open source preferiti”.

Per iniziare occorre cercare i candidati all’interno delle directory e repository open source.

Meta-forge, siti che riportano notizie su programmi open source (es.: Freshmeat), case editrici e negozi di libri online (es.: Packt, O’Reilly o Amazon) e strumenti come Antelink – utile per calcolare il livello di riuso di un programma open source – possono essere di grande aiuto per farsi una idea su un determinato progetto.

SOS Open Source: approccio e metriche.

Il primo obiettivo di SOS Open Source è stato quello di identificare metriche utili per valutare progetti open source in maniera veloce ed affidabile. Abbiamo esaminato tutte le metodologie di qualificazione e selezione, tra cui OSMM di Navica, OSMM di Cap Gemini, BRR e QSOS.

Le metriche di QSOS sono le più esaustive, e tra esse abbiamo scelto quelle misurabili in maniera più oggettiva, definendo valori ed intervalli ove necessario.

SOS Open Source per ogni metrica rende disponibile all’operatore misure e riferimenti, in modo da semplificare e tracciare le scelte effettuate nell’attribuire un determinato valore. Il cliente una volta formato nell’utilizzo della metodologia e degli strumenti SOS Open Source è in grado di effettuare un assessment in mezz’ora. Per individuare una rosa di 6-8 candidati, valutarli e compararli sono sufficienti 2 giorni uomo.

Elenco delle metriche utilizzate.

Nome della metrica: Maturità del codice [< 1 anno, 1-3 anni, > 3 anni]

Origine: QSOS (Age), utilizzando un diverso intervallo temporale (modificabile).

Come calcolarla: reperendo dati storici all’interno dei diversi forge e meta-forge (nota bene: i progetti a volte vengono rilasciati in open solo dopo un determinato periodo di tempo, inoltre a volte i progetti vengono migrati da un forge ad un altro).

Nome della metrica: Stabilità del codice [instabile, stabile ma non aggiornato, stabile e manutenuto];

Origine: QSOS (Stability).

Come calcolarla: sfogliando forge, meta-forge e sistemi di bug-tracking.

Nome della metrica: Popolarità del progetto [sconosciuto, poco popolare ma in crescita, molto popolare];

Origin: QSOS (Popularity), è stato introdotto il trend di crescita.

Come calcolarla: utilizzando strumenti di monitoraggio per social media.

Nome della metrica: Casi di studio [sconosciuto, casi di studio presenti sul sito del progetto, casi di studio presenti in rete];

Origin: QSOS (Reference), anziché focalizzarci sull’utilizzo in ambienti critici abbiamo enfatizzando l’importanza dell’esistenza di casi di studio e sulla loro localizzazione.

Come calcolarla: utilizzando motori di ricerca sui siti del progetto e nella rete.

Nome della metrica: Libri [nessuno, pochi, molti];

Origin: QSOS (Books), la scala viene proporzionata al numero di libri disponibili per i progetti in esame.

Come calcolarla: cercando nei negozi di libri online e sui siti del progetto.

Nome della metrica: Stile di management [dittatore illuminato, aziendale, comunitario]

Origin: QSOS (Management Style), “Complete dictatorship” e “Enlightened despotism” sono stati unificati, ed è stato aggiunto lo stile “aziendale”, frequente nelle applicazioni enterprise.

Come calcolarla: sfogliando i siti del progetto (sezioni dedicate allo sviluppo, la comunità, etc).

Nome della metrica: Team [1-5 membri, 5-10 membri, > 10 membri].

Origin: QSOS (Leading team), utilizzando una scala basata su diversi cluster dimensionali.

Come calcolarla: analizzando le commit.

Nome della metrica: Supporto commerciale [non disponibile, disponibile in un’area geografica/in un solo linguaggio, disponibile da più fonti e in più lingue];

Origin: QSOS (Support), il livello di servizio deve essere specificato, inoltre è stata aggiunta la ricerca della presenza di un supporto nelle aree geografiche di interesse.

Come calcolarla: sfogliando i siti del progetto (sezioni dedicate ai prodotti, servizi, consulenza, etc) e cercando in rete.

Nome della metrica: Formazione [non disponibile, disponibile in un’area geografica/in un solo linguaggio, disponibile da più fonti e in più lingue];

Origin: QSOS (Training).

Come calcolarla: sfogliando i siti del progetto (sezioni dedicate alla formazione/certificazione) e cercando in rete.

Nome della metrica: Documentazione [non disponibile, disponibile in una sola lingua, disponibile in più lingue];

Origin: QSOS (Documentation), la metodologia considera anche la quantità e qualità della documentazione.

Come calcolarla: sfogliando i siti del progetto (sezioni dedicate alla formazione/certificazione) e cercando in rete.

Nome della metrica: Processi QA [non disponibile, esistente ma non supportata da strumenti, supportata da strumenti];

Origin: QSOS (Quality Assurance), non si tiene conto della presenza/assenza di procedure di automatic testing (rara e di difficile verifica).

Come calcolarla: Sfogliando i siti del progetto (sezioni relative agli sviluppatori, come contribuire, etc).

Nome della metrica: Strumenti QA [non disponibile, disponibili ma poco usati, molto utilizzati];

Origin: QSOS (Quality Assurance).

Come calcolarla: sfogliando i siti del progetto (cercando nelle sezioni dedicate allo sviluppo, a come contribuire).

Nome della metrica: Reattività ai bachi [scarsa, proceduralizzata ma poco reattiva, proceduralizzata e reattiva];

Origin: QSOS (Quality Assurance), mettendo a fuoco gli aspetti relativi ai tempi di reazione.

Come calcolarla: sfogliando forum ed analizzando i sistemi di bug/tracking.

Nome della metrica: Sorgente [da compilare, binari disponibili, virtual appliance disponibile];

Origin: QSOS (Source), focalizzando sulla facilità di installazione (nota: la disponibilità dei sorgenti è sempre pre-condizione).

Come calcolarla: sfogliando le pagine del sito del progetto relative ai download.

Nome della metrica: Red Hat/Solaris/Windows [non disponibile, supportato da terze parti, certificato da Red Hat/Oracle/Microsoft];

Origin: QSOS (Packaging), attribuendo un punteggio più alto ai pacchetti certificati dai vendor.

Come calcolarla: sfogliando le pagine dei download e cercando informazioni di prodotto sui siti del progetto.

Nome della metrica: Quantità di commenti [nessuno, scarsamente commentato, ampiamente commentato];

Origin: QSOS (Quality of Source Code), focalizzando sulla quantità di commenti (parametro relativo ai progetti da comparare).

Come calcolarla: sfogliando forge e meta-forge o utilizzando tool per l’analisi del codice sorgente.

Nome della metrica: Linguaggi di programmazione [più di 3 linguaggi, un linguaggio principale, un unico linguaggio];

Origin: QSOS (Technological dispersion), specificando un numero diverso di linguaggi per il punteggio più basso.

Come calcolarla: sfogliando forge e meta-forge o utilizzando tool per l’analisi del codice sorgente.

Nome della metrica: Modularità [non modulare, modulare, disponibili strumenti per creare estensioni].

Origin: QSOS (Modularity), enfatizzando l’importanza della disponibilità di strumenti.

Come calcolarla: sfogliando i siti del progetto, con particolare attenzione alla documentazione/sezione per sviluppatori.

Nome della metrica: Licenza [copyleft, corporate, permissiva];

Origin: QSOS (License Permissiveness).

Come calcolarla: sfogliando i siti del progetto ed ispezionando il codice sorgente.

Nome della metrica: Modificabilità [nessun modo per proporre modifiche, strumenti per accedere al codice e modificarlo disponibili ma senza un processo ben definito, strumenti e procedure per proporre modifiche disponibili];

Origin: QSOS (Modification of Source Code).

Come calcolarla: sfogliando i siti del progetto, in particolare i sistemi di issue/bug-tracking ed i forum.

Nome della metrica: Roadmap [non disponibile, disponibile ma poco dettagliata, disponibile e dettagliata];

Origin: QSOS (Roadmap).

Come calcolarla: sfogliando i siti del progetto.

Nome della metrica: Sponsor [unico sponsor, comunità, foundazione/consorzio].

Origin: QSOS (Sponsor), alla “comunità” è stato assegnato un punteggio più alto di “unico sponsor”.

Come calcolarla: sfogliando i siti del progetto.