Open Source: significato, vantaggi, esempi e altro
Software open source o OSS in breve è un termine che definisce il software per computer, che viene offerto insieme al suo codice sorgente. Tale pacchetto consente agli utenti di leggerlo, modificarlo e ridistribuirlo come desiderano.
La cultura OSS affonda le sue radici nei primi giorni della programmazione informatica. I programmatori felicemente condiviso i loro codici e questo ha permesso di imparare gli uni dagli altri e di far evolvere le proprie competenze.
Un altro obiettivo di rendere disponibile il codice del software è renderlo migliore, poiché chiunque abbia le giuste competenze è libero di modificarlo e ridistribuirlo. Ciò porta alla fine a un software migliore, che spesso è anche economico o gratuito.
Questo post esamina il software open source in generale, compresi i primi giorni del movimento, i suoi risultati e il modo in cui ha avuto un impatto sull'industria dell'ingegneria del software.
Internet come tutti lo conosciamo si basa principalmente su software open source. Quindi, senza OSS, avremmo una rete completamente diversa.
Da server web come Apache e Nginx ad ambienti di scripting come PHP, JavaScript e Python. E anche i server di database per impieghi gravosi come MySQL, i frutti del movimento open source sono ovunque sulla rete.
Il software gratuito e open source ha consentito ai piccoli giocatori di utilizzare potenti strumenti che in precedenza erano riservati alle grandi aziende con tasche profonde. Questo, a sua volta, ha contribuito ad aprire le porte a sviluppi ancora più entusiasmanti.
Il software open source ha anche aiutato gli utenti a risparmiare circa $ 60 miliardi all'anno, secondo questo rapporto 2008. Questi clienti felici includono tutti, dai privati alle piccole imprese, alle società Internet, alle agenzie governative e persino alle istituzioni finanziarie.
La storia del software open source
È possibile far risalire il movimento open source agli albori della programmazione informatica e alla cultura hacker degli anni '1970. Quando i primi programmatori condividevano i loro lavori con gli altri hacker per ragioni diverse dagli interessi aziendali.
Il primo grande movimento, tuttavia, ebbe inizio nel 1983, quando Richard Stallman lanciò la GNU Progetto. Ha anche fondato la Free Software Foundation nel 1985 per sostenere questo movimento in crescita. Questo movimento del software libero ha costituito la spina dorsale di tutto, da Linux a MySQL e della maggior parte delle altre tecnologie che alimentano il web oggi.
La maggior parte dei programmatori o hacker privati, all'epoca, si accontentava di creare e distribuire software gratuito a chiunque ne avesse cura. Detestavano anche molte società di software e la loro avidità. Quindi, creare una versione gratuita di qualsiasi importante software proprietario è stato un bel trucco.
Per questi motivi, la maggior parte delle aziende ha preso le distanze dall'apparentemente anticapitalista movimento del software libero fino al febbraio 1998. Fu allora che Netscape rilasciò il suo allora popolare browser web "Netscape Communicator" come software libero, dando vita a Mozilla.org e Firefox. Due progetti che hanno anche contribuito a plasmare la storia di Internet.
A molte aziende non piaceva l'approccio della Free Software Foundation e il termine “software libero”. Molti di questi fornitori di software volevano persino rilasciare parte del loro software come programmi gratuiti, mantenendone altri come progetti proprietari, quindi doveva esserci un'alternativa.
L'iniziativa Open Source
Bruce Perens ed Eric S. Raymond, l'autore di “Cathedral and the Bazaar”, hanno anche fondato l'Open Source Initiative nel 1998, ispirandosi al rilascio del codice del browser da parte di Netscape.
Questa iniziativa ora gestisce il opensource.org sito web ed è stato fondamentale per promuovere il termine “software open-source”, nonché l'uso di tali programmi.
L'Open Source Initiative è vista come un'organizzazione più politicamente corretta. E così, nel corso degli anni ha attratto più progetti, sviluppatori e supporto aziendale. Questi vanno da Linux a WordPress, Wikimedia, Mozilla e molte altre grandi organizzazioni.
OSI utilizza una definizione di 10 punti per determinare se qualsiasi pacchetto software è open source o meno. E questi punti sono i seguenti:
- Ridistribuzione gratuita – Non dovrebbe richiedere una royalty per la vendita.
- Codice sorgente – Il programma deve includere il suo codice sorgente.
- Opere derivate – Le modifiche e la distribuzione delle stesse devono essere consentite
- L'integrità del codice sorgente dell'autore – Autoesplicativo
- Nessuna discriminazione nei confronti di persone o gruppi – Autoesplicativo
- Nessuna discriminazione contro i campi di impegno – Autoesplicativo
- Una licenza non deve essere specifica per un prodotto – Autoesplicativo
- Una licenza non deve limitare altri software – Autoesplicativo
- La licenza deve essere neutrale dal punto di vista tecnologico – Autoesplicativo
Open Source vs Software Libero
A seconda di chi chiedi, potresti ottenere definizioni diverse per il software open source. Alcuni diranno che sta per software libero, mentre altri si concentrano sui meriti o sul valore derivato dallo sviluppo open source.
Allo stato attuale, puoi avere un software open source che non è gratuito, poiché non è richiesto alcun pagamento. Così come il software libero, che non è open source.
Il movimento del software libero della FSF, tuttavia, si concentra sulla libertà dell'utente con il software. Questo è spesso indicato come "libertà come nella libertà di parola", non come in "birra gratis". Ciò dovrebbe consentire a chiunque sia interessato di copiare, modificare e distribuire il software.
In generale, troverai spesso il termine "FOSS" (software gratuito e open source). Funziona come una definizione generica per i programmi che soddisfano le quattro libertà della FSF e sono:
- La libertà di eseguire il programma come preferisci e per qualsiasi scopo.
- La libertà di studiare come funziona e modificarlo. Questo richiede l'accesso al codice sorgente.
- La libertà di ridistribuire il software a chi vuoi tu.
- La libertà di ridistribuire la tua versione modificata ad altri.
Vantaggi del software open source
L'approccio open source ha i suoi vantaggi e svantaggi. Ma il primo ha dimostrato di superare il secondo nel corso degli anni, spingendo più persone, organizzazioni e governi a unirsi al movimento.
Ecco alcuni dei principali vantaggi del software open source:
- Più occhi che studiano e modificano il codice portano alla fine a un software di migliore qualità
- Più tester trovano e segnalano più bug
- L'open source offre una grande risorsa di apprendimento per i nuovi programmatori
- Meglio problemi di a lungo termine, poiché tutti si uniscono per risolvere i problemi
- Il software open source gestito attivamente presenta meno bug
- Consente la continuità dei progetti, anche dopo il ritiro dell'autore originale
- L'open source combatte il monopolio e altri comportamenti non etici dei fornitori di software
Gli svantaggi del software open source
Il software open source presenta anche alcuni svantaggi, come ad esempio:
- Può essere difficile ottenere un supporto di livello commerciale
- Essere open source crea potenzialmente vulnerabilità di sicurezza, poiché anche gli hacker studiano il codice
- Problemi di compatibilità hardware con sistemi non supportati
- I pacchetti gestiti meno frequentemente presentano spesso bug e problemi di sicurezza
Open source vs software proprietario
- Costo inferiore o nullo – La maggior parte dei programmi open source sono gratuiti o hanno un prezzo molto ragionevole. Ciò consente a una gamma più ampia di persone e aziende di permetterselo.
- La libertà – Il software open source offre più possibilità di personalizzazione, più opzioni per la privacy e, in generale, più libertà di fare ciò che ti piace.
- Sicurezza – Troverai spesso backdoor intenzionali nel software proprietario, che spesso si traducono in scappatoie di sicurezza. Il software open source è facilmente esaminabile e tutti i problemi di sicurezza sradicati.
- Migliore efficienza – Il software open source è generalmente progettato per i suoi utenti e non a scopo di lucro, come nel caso del software proprietario. Questo lo rende più efficiente in termini di valore creato.
- Inizio Piccolo – Molte aziende possono iniziare in piccolo utilizzando software open source gratuito. Quindi, possono eseguire l'aggiornamento alle versioni aziendali quando sono pronte.
Notevoli progetti Open Source
L'elenco dei progetti open source è vasto, con sempre più sviluppo e rilascio. Qui, tuttavia, è un elenco di alcuni degni di nota.
- Linux – Il sistema operativo open source più popolare al mondo.
- LibreOffice - della produttività suite, biforcuta da OpenOffice. Include foglio di calcolo, scrittore e gestione del database.
- Mozilla Firefox – Browser web popolare e sicuro che rispetta la tua privacy.
- OS Android – Sistema operativo mobile basato su Linux che ha conquistato il mondo.
- Joomla e Drupal - Sistemi di gestione dei contenuti
- WordPress – CMS più popolari e Blogging piattaforma
- PHP – Linguaggio di scripting lato server
- Apache HTTP Server – Il server web più popolare di Internet
- Asterix – PBX open source e VoIP piattaforma
- Calamaro – Piattaforma di caching, DNS e proxy web scalabile
- CloudStack e OpenStack – Piattaforme per la creazione e la gestione di cloud di computer
Licenze software open source
Molte organizzazioni hanno escogitato diverse licenze che incarnano la filosofia open source. Anche la maggior parte dei progetti utilizza queste licenze, invece di inventarne una completamente nuova.
Puoi leggere di più su queste licenze qui. I più popolari sono:
- La GNU General Public License (GPL)
- MIT License
- Licenza Apache
- Licenza BSD
- Licenza pubblica Mozilla
Adozione governativa
Molti governi e agenzie governative in tutto il mondo hanno adottato software open source in una forma o nell'altra nel corso degli anni. Per alcuni, come la città bavarese di Monaco in Germania, significa risparmi sui costi di milioni di euro. Mentre la sicurezza, la propaganda e l'integrità culturale sono più importanti per gli altri.
Ecco un elenco di adozioni importanti in tutto il mondo:
- Cina – Ubuntu Kylin è una co-creazione di Canonical e del governo cinese, progettata per gli utenti cinesi e le sue forze armate.
- Russia – Astra Linux è sviluppato per soddisfare le esigenze dell'esercito russo, comprese le funzionalità di gestione dei dati "Top Secret". È utilizzato da Gazprom, dalle ferrovie russe e negli impianti nucleari russi e cinesi.
- The Netherlands – L'Internet Research and Investigation Network della polizia olandese gestisce 2,200 workstation Ubuntu e dal 2013 utilizza solo FOSS.
- Romania – Le biblioteche pubbliche del paese funzionano su IOSSPL (Sistema integrato open source per le biblioteche pubbliche).
- Stati Uniti – La Casa Bianca degli Stati Uniti ha spostato il suo sito Web su server Linux nel 2009. Viene anche mantenuto utilizzando Drupal. Inoltre, una politica del 2016 impone una politica del 20% sul software open source per i progetti governativi.
- Francia – La forza nazionale della gendarmeria francese è passata a OpenOffice nel 2005 e ha continuato le sue attività di migrazione con il suo GendBuntu Linux, influenzando lungo il percorso altre agenzie governative.
- Germania – La città di Monaco di Baviera ha iniziato la conversione di 15,000 macchine in LiMux basato su Debian nel 2013. Schwäbisch Hall ha anche migrato 400 stazioni nel 2002 e l'ufficio per l'impiego federale gestisce openSUSE Linux.
- Brasil – Le agenzie statali e federali brasiliane funzionano principalmente con software open source.
- Italia – L'esercito italiano ha avviato una transizione di oltre 6,000 macchine a LibreOffice nel 2015.
- Perù – Il governo peruviano ha votato nel 2005 per adottare interamente il software open source.
Conclusione
È chiaro fino a che punto sono arrivati i movimenti del software libero e dell'open source e quanto hanno arricchito le nostre vite.
Tuttavia, questo potrebbe essere solo l'inizio. Poiché potrebbero essere in arrivo ulteriori perturbazioni del mercato, alimentate in un modo o nell'altro da software gratuito o open source.