Cos'è il modello Open Source?

Logo dell'Open Source

Open Source ("Sorgente Aperto" o anche "Codice Aperto") è un modello di sviluppo applicativo basato sulla pubblicazione di basi di codice aperte, in modo tale che tutti gli utenti abbiano accesso illimitato al codice sorgente originale usato per creare l'applicazione, il framework o la libreria.
Questo modello incoraggia la collaborazione, la trasparenza e il coinvolgimento della comunità, poiché tutti possono contribuire alla base di codice, segnalare difetti o suggerire miglioramenti.

Cos'è una base di codice?

Si dice base di codice (in Inglese "codebase") la collezione di file sorgente che costituisce un certo progetto software. Affinché un progetto sia Open Source, la sua base di codice deve essere facilmente accessibile da chiunque.

Le basi di codice includono generalmente tutte le librerie, i framework e gli strumenti usati per compilare, testare e mantenere il software, con in aggiunta la documentazione necessaria come licenze, crediti e manuali utente.

Come si pubblicano le basi di codice?

Le basi di codice venivano in genere distribuite tramite file servers, online news o mailing lists.

La maggior parte dei progetti accetta contributi esterni e gli sviluppatori moderni usano piattaforme online di social coding che permettono ai loro utenti di proporre facilmente miglioramenti, nonché servizi automatizzati che analizzano i file prima della distribuzione, portando a rilasci rapidi e sicuri di nuove versioni.
La piattaforma di social coding più popolare è GitHub, mantenuta da Microsoft®.1

All'interno di queste piattaforme di social coding i commits2 degli sviluppatori sono raggruppati in Pull Requests3, per venir scrutinati prima di essere uniti in sicurezza al resto del codice.

Cos'è la Open Source Initiative® (OSI)?

La Open Source Initiative® ("Iniziativa Sorgente Aperto") è un' organizzazione guidata dalla comunità che è diventata uno standard de facto per la definizione del modello Open Source. Il suo logo è una serratura astratta, che indica l'atto di "sbloccare il codice sorgente chiuso".

La OSI non è un'autorità formale e riconosciuta legalmente ma gode della fiducia di moltissime organizzazioni e sviluppatori.

Cos'è la Open Source Definition (OSD)?

Badge Open Source Initiative Approved License

La OSI mantiene anche la Open Source Definition4 ("Definizione di Open Source"), un insieme di criteri che definisce quali software sono Open Source, spesso usata per decidere se una licenza software può garantire che una certa applicazione rimanga a sorgente aperto.

Se un software è a sorgente aperto, potrai vedere, modificare e distribuire il codice sorgente liberamente.

Cos'è il software source-available?

Source-available software ("Software a Sorgente Disponibile") è un modello di sviluppo ove il codice sorgente viene pubblicato per la consultazione senza necessariamente garantire alcun diritto addizionale all'utente. Per questa ragione, le basi di codice a sorgente disponibile possono anche contenere componenti proprietari e, a seconda del caso specifico, potrebbero non essere considerate a codice aperto.

Tutto il software i cui sorgenti sono pubblici - a prescindere dai termini di licenza - si può chiamare a sorgente disponibile, ma quando gli sforzi degli autori vanno oltre la semplice pubblicazione della base di codice, è più appropriato usare definizioni precise come Open Source, Shared Source o Free/Libre Software.

Cos'è la Shared Source Initiative (SSI)?

La Shared Source Initiative ("Iniziativa Sorgente Condiviso") è un insieme di licenze orientate alle imprese create da Microsoft® nel 2001. Consentivano tradizionalmente agli utenti di accedere e visionare il codice sorgente di certi prodotti, imponendo al contempo limiti a modifica e ridistribuzione. Il sorgente condiviso garantisce alcuni benefici del software Open Source mantenendo il controllo sulla proprietà intellettuale, permettendo così un profitto futuro e prevenendo la competizione economica scorretta.

Oggigiorno alcune licenze prodotte dalla SSI sono riconosciute come Open Source e altre come Free Software.

Cos'è lo Shared Source software?

Shared Source software ("Software a Sorgente Condiviso") è un tipo di software a sorgente disponibile.

Questo modello, derivato dalla SSI, è un terreno di mezzo tra software Free, Open e proprietario, permettendo agli utenti di visionare ed imparare, ma non necessariamente di modificare e ridistribuire senza vincoli.

Il software a sorgente disponibile è anche a sorgente condiviso?

Tutto il software a sorgente condiviso è anche a sorgente disponibile, ma l'opposto non è sempre vero: infatti il software Shared Source è uno specifico tipo di software a sorgente disponibile che è originato dalla SSI, mentre software a sorgente disponibile è un termine più generico che può riferirsi ad ogni programma che offre accesso ai propri sorgenti, a prescindere dai termini di licenza.

Discutine su Mastodon


  1. https://github.com/

  2. si dice "commit" un insieme limitato e reversibile di modifiche ad una base di codice, idealmente associato ad una descrizione accurata dei cambiamenti effettuati.

  3. si dice Pull Request (o Push Request o PR) una richiesta formale di unire una serie ben ordinata di commit al resto della base di codice.

  4. consulta la versione annotata della Open Source Definition.