I vantaggi dell'Open SourceQualità del SoftwareLo sviluppo condiviso del software permette di realizzare programmi di ottima qualità grazie al continuo testing che sviluppatori ed utilizzatori eseguono durante il ciclo di vita del progetto. La possibilità di visionare il codice sorgente del programma, consente ai programmatori di rilevare eventuali bug e segnalare possibili migliorie al codice. All'interno delle comunità di sviluppo, capita spesso che un programmatore identifichi un errore e lo segnali tempestivamente al responsabile del progetto con allegato il codice corretto. Questo sistema permette dunque di far visionare il codice a più persone contemporaneamente e contribuisce a produrre programmi di qualità. Del resto difficilmente chi ha scritto il programma o parti di esso è anche un buon tester del programma. Ecco perchè chi sviluppa software all'interno di comunità Open Source oltre che disporre di buone competenze tecniche e di programmazione, accetta e condivide di buon grado la possibilità che altri programmatori possano segnalare errori o miglioramenti al programma che lui ha scritto. Software che risponde ai requisiti degli utilizzatoriDiversamente da quanto avviene nello sviluppo di software commerciale/proprietario, dove tipicamente è il marketing a definire le caratteristiche del prodotto, nel modello Open Source chi definisce le caratteristiche e l'evoluzione del software sono gli utenti della comunità di sviluppo. Questo significa che le applicazioni Open Source sono molto concrete in quanto devono rispondere a requisiti specifici segnalati dagli utilizzatori stessi del programma. Nel modello Open Source, non esiste il vincolo di dover inserire delle nuove funzionalità per giustificare una nuova versione del software a pagamento o un eventuale aumento del costo delle licenze. La libertà di utilizzo del softwareCon il software Open Source, l'utente è libero di utilizzare, modificare, distribuire il software come meglio crede. Non ci sono i vincoli dettati dalle licenze proprietarie che impongono agli utenti di acquistare le licenze in rapporto al numero degli utenti, vincolando il software ad eventuali modifiche strutturali, richiedendo costi di aggiornamento continui, a volte obbligatori. Molto spesso i software Open Source vengono sviluppati per poter funzionare su molteplici piattaforme Hardware e Software. Questo significa poter utilizzare i programmi su molteplici sistemi operativi (Linux, Windows, Unix, Mac, ecc.) e su svariati sistemi hardware. Un software Open Source garantisce la libertà all'utente anche in casi di chiusura dell'azienda che ha sviluppato il prodotto, o nell'ipotesi che l'azienda venga ceduta a terzi. Scenari questi molto presenti nel mercato e che toccano anche aziende di grande dimensione. Si pensi ai casi recenti di JDEdwars acquisita da PeopleSoft, oppure Navision acquisita da Microsoft, ecc. Anche in Italia questo fenomeno ha registrato molti casi e con buona probabilità si ripeteranno nel prossimo futuro. La forza delle comunità di sviluppoI progetti Open Source vengono sviluppati tipicamente da comunità di programmatori e utilizzatori che condividono l'interesse verso una determinata applicazione o tecnologia. Le comunità di sviluppo sono spesso di respiro internazionale e a volte raggiungono dimensioni molto ampie. Si pensi per esempio alla comunità di sviluppo che riguarda il sistema operativo Linux, una comunità di dimensioni ragguardevoli che in pochi anni è riuscita a produrre uno dei sistemi operativi più affidabili e performanti, utilizzato in tutto il mondo da milioni di utenti, grandi aziende, organizzazioni pubbliche. Comunità significa dunque supporto, evoluzione, scabio culturare, utilizzo degli standard aperti per consentire una facile integrazione con altre tecnologie e altre comunità. Chi utilizza software Open Source può contare su un supporto professionale da parte di molte aziende di servizi e da parte della comunità stessa che sviluppa il software. Indipendenza dal fornitoreAncora una volta la forza delle licenze Open Source é considerare centrale l'utilizzatore, che può decidere liberamente se rivolgersi ad una società di servizi professionali per ottenere consulenza, supporto e formazione per l'implementazione di un software Open Source.
| Link utili per approfondire l'Open Source e il software libero: |