domenica 1 luglio 2007

I vantaggi dei due approcci allo sviluppo software

Dopo lunga pausa coincidente con il periodo degli esami universitari torno a postare trattando brevemente dei vantaggi dei due approcci allo sviluppo software.

Partiamo da quelli dell'opensource:
  • Qualità ed innovatività del codice sono ai vertici per una serie di ragioni tra le quali il grande numero di contributori, l'entusiasmo dei programmatori nel cercare nuove soluzioni per risolvere nuovi e vecchi problemi (sfide), la mancanza di pressione in termini di scadenze imposte da software vendor o altri stakeholders.
  • La sicurezza dei programmi è elevata poichè il codice è controllato molte volte da un numero elevato di persone che portano ciascuno le proprie competenze nel testare il prodotto (programmatori, utilizzatori, beta tester...).
  • Il costo di implementazione di questo software è tipicamente più basso poichè non ci sono licenze da pagare, le conoscenze del software sono spesso disponibili su forum e newsgroup online, liberamente consultabili e quant'altro. Questo aspetto è particolarmente significativo per aziende e system integrators poiché riducendo gli investimenti in sviluppo del software, se non annullandoli del tutto e facendo ricadere l'onere dello sviluppo sulla comunità open source, sono in grado di raggiungere un break even point d'investimento molto più basso (e quindi un tempo di rientro dei capitali molto più breve).
  • Non esiste nessun tipo di Lock In (fenomeno che comporta, dopo che un soggetto ha adottato una certa tecnologia, un disincentivo a cambiare dato da costi di switching quali incompatibilità, modifica abitudini acquisite ecc.) per la natura aperta ed open standard che caratterizza questi software: In ogni momento gli utenti possono convertire i dati da un formato ad un altro essendo tutti formati aperti e di libera consultazione.

Veniamo ora ai vantaggi dello sviluppo proprietario:
  • I software si dimostrano spesso superiori in termini di usabilità, anche se la tendenza recente è di un avvicinamento del software opensource per questo aspetto.
  • La documentazione in bundle con il software è spesso molto completa ed esaustiva. Questo fattore è mitigato dal fatto che forum e newsgroup online offrono una fonte di informazioni enorme per i software opensource tuttavia non tutti gli utenti sono abbastanza "smaliziati" da essere in grado di reperire tali fonti e necessitano di materiale informativo in bundle al software.
  • Attira maggiori investimenti in termini finanziari poichè i risultati in termini di codice possono essere protetti e coperti da brevetto generando dei ritorni finanziari derivanti dalla concessione d'uso a terzi delle tecnologie prodotte.