Open Source
Cos’è l’Open Source
Open source è un termine che originariamente si riferiva al software open source (OSS). Il software open source è un codice progettato per essere accessibile al pubblico: chiunque può vedere, modificare e distribuire il codice come meglio crede.
Il software open source è sviluppato in modo decentralizzato e collaborativo, basandosi sulla revisione paritaria e sulla produzione della comunità. Il software open source è spesso più economico, più flessibile e ha una maggiore longevità rispetto ai suoi pari proprietari perché è sviluppato da comunità piuttosto che da un singolo autore o azienda.
L’open source è diventato un movimento e un modo di lavorare che va oltre la produzione di software. Il movimento open source utilizza i valori e il modello di produzione decentralizzato del software open source per trovare nuovi modi per risolvere i problemi nelle loro comunità e nei loro settori.
Indice
- Cos’è l’Open Source
- Storia dell’open source
- Come funziona un modello di sviluppo open source
- Differenza tra software libero, chiuso e open source
- I valori dell’open source
- Esempi di licenze software open source
- Quali sono altri prodotti open source?
La storia dell’open source è la storia di Internet
Negli anni ’50 e ’60 i ricercatori che sviluppavano le prime tecnologie Internet e protocolli di rete per le telecomunicazioni si basavano su un ambiente di ricerca aperto e collaborativo. L’Advanced Research Projects Agency Network (ARPANET), che in seguito sarebbe diventata la base per l’Internet moderna, incoraggiava la revisione paritaria e un processo di feedback aperto. I gruppi di utenti condividevano e si basavano sul codice sorgente degli altri.
Durante i primi anni di sviluppo software, i programmatori spesso condividevano il software per imparare gli uni dagli altri e far crescere il campo della programmazione informatica.
Ciò ha stimolato la creazione della Free Software Foundation (FSF) e ha incluso il programma di composizione TeX di David Knuth nel 1979 e il sistema operativo GNU di Richard Stallman nel 1983.
Infatti, il primo browser web Netscape era un software libero con codice sorgente che in seguito avrebbe contribuito a sviluppare progetti software open source come Mozilla Firefox, un browser web che è ancora comunemente utilizzato oggi. Successivamente la FSF venne sostituita dall’Open Source Initiative (OSI), un gruppo di sviluppatori di software che crea software destinato a essere liberamente condiviso, migliorato e ridistribuito da altri.
I forum hanno contribuito a facilitare la conversazione e a sviluppare standard per la comunicazione e la collaborazione aperte. Al momento della nascita di Internet nei primi anni ’90, i valori di collaborazione, revisione paritaria, comunicazione e apertura erano scritti nelle sue fondamenta.
Il movimento open source non è stato esente da detrattori, ad esempio Jim Allchin di Microsoft, che nel 2001 affermò che l’OSI era un “distruttore di proprietà intellettuale”. Oggi, tuttavia, Microsoft e molti altri si sono uniti al movimento del software libero e open source in un modo o nell’altro. Ciò ha creato un importante cambiamento nel modo in cui viene visto il software open source.
Tra gli altri contributori, finanziatori e organizzazioni non-profit di progetti open source figurano la Linux Foundation, la WordPress Foundation, Creative Commons, l’Android Open Source Project e la Mozilla Foundation.
Come funziona un modello di sviluppo open source?
Un modello di sviluppo open source è il processo utilizzato da un progetto della comunità open source per sviluppare software open source. Il software viene quindi rilasciato con una licenza open source, quindi chiunque può visualizzare o modificare il codice sorgente.
Molti progetti open source sono ospitati su GitHub, dove puoi accedere ai repository o essere coinvolto nei progetti della comunità. Linux®, Ansible e Kubernetes, WordPress, sono esempi di progetti open source popolari.
Quindi contribuiamo a riportare questi miglioramenti al progetto originale a beneficio dell’intera comunità.
Quando i clienti utilizzano il software, forniscono feedback, inviano segnalazioni di bug e richiedono funzionalità aggiuntive man mano che le loro esigenze cambiano. Questo input guida lo sviluppo dell’ Open Source.
Qual è la differenza tra software libero, chiuso e open source?
Per molto tempo il software open source ha mantenuto l’etichetta precedente di “software libero”. Il movimento del software libero è stato formalmente fondato da Richard Stallman nel 1983 tramite il Progetto GNU. Il movimento del software libero si è organizzato attorno all’idea di libertà dell’utente: libertà di vedere il codice sorgente, di modificarlo, di ridistribuirlo, di renderlo disponibile e di funzionare per l’utente in qualsiasi modo l’utente ne avesse bisogno.
Il software libero esiste come controparte del software proprietario o “closed source”. Il software closed source è altamente protetto. Solo i proprietari del codice sorgente hanno il diritto legale di accedere a tale codice. Il codice sorgente chiuso non può essere modificato o copiato legalmente e l’utente paga solo per usare il software come è stato concepito, non può modificarlo per nuovi usi né condividerlo con le proprie comunità.
Il nome “software libero”, tuttavia, ha causato molta confusione. Software libero non significa necessariamente libero di possedere, ma solo libero di usare come si desidera. “Libero come libertà, non come birra”, ha cercato di spiegare la comunità. Christine Peterson, che ha coniato il termine “open source”, ha cercato di affrontare questo problema sostituendo “software libero” con “open source”: “Il problema con la principale etichetta precedente, “software libero”, non erano le sue connotazioni politiche, ma il fatto che, per i nuovi arrivati, la sua apparente attenzione al prezzo distrae. Era necessario un termine che si concentrasse sulla questione chiave del codice sorgente e che non confondesse immediatamente chi era nuovo al concetto”.
Peterson ha proposto l’idea di sostituire “software libero” con il termine “open source” a un gruppo di lavoro che si dedicava, in parte, a guidare le pratiche del software open source nel mercato più ampio. Questo gruppo voleva che il mondo sapesse che il software era migliore quando era condiviso, ovvero quando era collaborativo, aperto e modificabile. Che poteva essere utilizzato per usi nuovi e migliori, era più flessibile, più economico e poteva avere una maggiore longevità senza vincoli con i fornitori.
Eric Raymond era uno dei membri di questo gruppo di lavoro e nel 1997 pubblicò alcuni di questi stessi argomenti nel suo saggio estremamente influente “The Cathedral and the Bazaar”.
Nel 1998, in parte in risposta a quel saggio, Netscape Communications Corporation rese open source il suo progetto Mozilla, rilasciando il codice sorgente come software libero. Nella sua forma open source, quel codice divenne in seguito la base per Mozilla Firefox e Thunderbird.
L’approvazione da parte di Netscape del software open source esercitò ulteriore pressione sulla comunità affinché pensasse a come enfatizzare gli aspetti pratici aziendali del movimento del software libero. E così, la divisione tra open source e software libero fu cementata: “open source” sarebbe servito come termine per sostenere gli aspetti metodologici, produttivi e aziendali del software libero. “Software libero” sarebbe rimasto come etichetta per le conversazioni che enfatizzavano gli aspetti filosofici di queste stesse questioni poiché erano ancorate al concetto di libertà dell’utente.
All’inizio del 1998 fu fondata l’Open Source Initiative (OSI), che formalizzò il termine open source e stabilì una definizione comune per tutto il settore. Sebbene il movimento open source fosse ancora accolto con diffidenza e sospetto da parte delle aziende dalla fine degli anni ’90 all’inizio degli anni 2000, si è gradualmente spostato dai margini della produzione di software fino a diventare lo standard del settore che è oggi.
Quali sono i valori dell’open source?
Ci sono molte ragioni per cui le persone scelgono l’open source rispetto al software proprietario, ma le più comuni sono:
- Revisione paritaria: poiché il codice sorgente è liberamente accessibile e la comunità open source è molto attiva, il codice open source viene attivamente controllato e migliorato dai programmatori pari. Consideralo come codice vivo, piuttosto che codice chiuso e stagnante.
- Trasparenza: hai bisogno di sapere esattamente quali tipi di dati si stanno spostando dove o quali tipi di modifiche sono avvenute nel codice? L’open source ti consente di controllare e tracciare tutto da solo, senza dover fare affidamento sulle promesse del fornitore.
- Affidabilità: il codice proprietario si basa sul singolo autore o azienda che controlla quel codice per mantenerlo aggiornato, corretto e funzionante. Il codice open source sopravvive ai suoi autori originali perché viene costantemente aggiornato tramite comunità open source attive. Gli standard aperti e la revisione paritaria assicurano che il codice open source venga testato in modo appropriato e frequente.
- Flessibilità: grazie alla sua enfasi sulla modifica, puoi utilizzare il codice open source per affrontare problemi che sono unici per la tua azienda o comunità. Non sei vincolato all’utilizzo del codice in un modo specifico e puoi contare sull’aiuto della comunità e sulla revisione paritaria quando implementi nuove soluzioni.
- Costi inferiori: con l’open source il codice stesso è gratuito, ciò per cui paghi quando utilizzi un’azienda come Red Hat è il supporto, il rafforzamento della sicurezza e l’aiuto nella gestione dell’interoperabilità.
- Nessun vincolo con il fornitore: la libertà per l’utente significa che puoi portare il tuo codice open source ovunque e usarlo per qualsiasi cosa, in qualsiasi momento.
- Collaborazione aperta: l’esistenza di comunità open source attive significa che puoi trovare aiuto, risorse e prospettive che vanno oltre un gruppo di interesse o un’azienda.
Quali sono alcuni esempi di licenze software open source?
Per riassumere, la definizione di open source stabilisce che:
- Una licenza software open source è gratuita e la ridistribuzione è consentita a chiunque senza alcuna restrizione.
- Il codice sorgente deve essere reso disponibile in modo che la parte ricevente possa migliorarlo o modificarlo.
- La licenza può richiedere che le versioni migliorate del software abbiano un nome o una versione diversi dal software originale.
- Il software può essere trasferito su un nuovo sistema operativo.
Negli ultimi anni ci sono stati molti accordi di licenza software open source degni di nota e ampiamente utilizzati per adottare la definizione di open source, tra cui:
- La licenza del server web Apache
- La licenza di distribuzione software Berkeley
- La licenza GNU General Public License
- La licenza del Massachusetts Institute of Technology
- La licenza Mozilla Public License
- WordPress Foundation License
Quali sono altri prodotti open source?
La tecnologia open source non si limita agli strumenti di sviluppo software. Ci sono molti altri software popolari che rientrano nell’ombrello open source. Esempi includono:
- Linux. Una piattaforma software open source, e derivata da IBM, che fornisce una varietà di applicazioni di produttività a livello aziendale.
- LibreOffice. Una suite di produttività per ufficio open source, simile ai programmi Microsoft Office.
- GNU Image Manipulation Program. Uno strumento di manipolazione delle immagini open source GNU con componenti simili ad Adobe Photoshop.
- VLC Media Player. Un lettore di file audio e video open source.
- Opencart. Piattafoma ecommerce opensource