Spiegazione del software open source: perché il codice sorgente è più importante di quanto pensi

5

La maggior parte del software scaricato è una scatola nera. Arriva precompilato, privato della sua logica di fondo e sigillato dietro un pagamento. Non puoi modificarlo. Non puoi vedere come funziona. Funziona e basta.

Il software open source capovolge completamente questo modello. Ti dà le chiavi del motore.

La differenza tra codice compilato e codice sorgente

Quando gli sviluppatori scrivono un’applicazione, utilizzano un linguaggio leggibile dall’uomo chiamato codice sorgente. Un compilatore traduce quindi questo codice in linguaggio macchina: gli zeri e gli uno binari effettivamente eseguiti dal computer. Questo prodotto finale è la versione compilata.

Per il software commerciale, questa compilazione è una funzionalità, non un bug. Nasconde la proprietà intellettuale dello sviluppatore. I concorrenti non possono copiare facilmente la logica. Gli utenti non possono correggere facilmente i bug nel kernel.

Il software open source include sia la versione compilata che il codice sorgente. L’obiettivo non è solo la trasparenza. È una modifica.

“Permettendo a chiunque sia interessato di modificare il codice sorgente, l’applicazione sarà più utile e priva di errori a lungo termine.”

Cosa definisce effettivamente il software open source?

Non tutti i programmi gratuiti sono open source. L’industria ha criteri rigorosi. Per ottenere l’etichetta, il software deve soddisfare specifici parametri legali e tecnici.

  • Distribuzione gratuita: il software può essere condiviso liberamente. Può anche far parte di un pacchetto venduto.
  • Inclusione del codice sorgente: il codice non elaborato deve essere accessibile.
  • Diritti di modifica: Chiunque può modificare il codice.
  • Ridistribuzione delle versioni modificate: puoi condividere le tue modifiche con altri.
  • Licenza non discriminatoria: la licenza non può limitare l’uso con altri software o interferire con altri programmi.

Queste regole garantiscono che l’apertura non sia solo una parola d’ordine del marketing. È uno standard applicabile.

Linux: la storia di successo dell’open source

L’esempio più chiaro di questo modello in azione è Linux.

Nel 1991 Linus Torvalds, uno studente dell’Università di Helsinki, iniziò a lavorare su un nuovo sistema operativo. Lo ha basato su Minix, un derivato di Unix. Ha rilasciato la versione 0.02 sotto la GNU General Public License. Questa licenza fornisce il quadro giuridico per il software open source.

Le persone hanno scaricato il codice. I programmatori lo hanno modificato. Torvalds ricevette questi cerotti nei tre anni successivi. Li ha incorporati nella linea di base. Linux 1.0 arrivò nel 1994.

Questo non è stato uno sforzo solitario. Era un modello di sviluppo distribuito. Il codice è migliorato perché migliaia di occhi erano puntati su di esso.

Il divario di supporto e il modello di business

È qui che le cose si complicano per gli utenti medi.

Il software open source in genere non viene fornito con alcuna garanzia. Nessun supporto tecnico. Se si rompe, sei da solo. La licenza incoraggia la personalizzazione, il che rende quasi impossibile la standardizzazione del supporto.

Quindi chi lo aggiusta?

Red Hat Software ha risolto questo problema. Fondata nel 1994, Red Hat ha confezionato Linux come “Red Hat Linux ufficiale”. Non possedevano il codice. Possedevano il servizio.

Hanno aggiunto una garanzia. Hanno fornito supporto tecnico.

Per le imprese, questa garanzia è il fattore decisivo. Molte aziende preferiscono acquistare Linux supportato piuttosto che scaricarne copie gratuite. Pagano la stabilità, non il codice stesso. Altre aziende hanno seguito l’esempio, confezionando Linux con strumenti aggiuntivi per la rivendita.

Oltre Linux: altri punti fondamentali dell’Open Source

Linux non è l’unico gioco in città. Diverse tecnologie fondamentali che alimentano Internet si basano su principi open source.

  • Mozilla: il motore principale del browser Netscape.
  • Apache: il server web che alimenta un’enorme porzione di Internet.
  • PERL: Un linguaggio di scripting per lo sviluppo web.
  • PNG: un formato di file grafico progettato per la compressione senza perdite.

Questi strumenti sono gratuiti. Sono liberi di modificare. Modellano il modo in cui interagiamo ogni giorno con il web.

Perché è importante per te?

Potresti pensare che l’open source riguardi solo gli sviluppatori. Non è così.

Quando usi un dispositivo basato su Linux. Quando visiti un sito ospitato su Apache. Quando utilizzi un browser basato su Gecko. Stai utilizzando un software che in teoria potresti controllare. Stai utilizzando un software che non può essere bloccato da una singola azienda.

La barriera all’ingresso è più alta. Devi sapere come installarlo. Devi sapere dove trovare supporto. Ma il compromesso è il controllo.

Internet funziona su questi protocolli. Il futuro del software dipende dalla capacità di mantenere le porte aperte.