Il software open source (OSS) è un software per computer distribuito con il suo codice sorgente disponibile per la modifica. Il software di solito include una licenza per i programmatori per cambiare il software in qualsiasi modo scelga. Possono correggere bug, migliorare le funzioni o adattare il software alle proprie esigenze. L'Open Source Initiative (OSI) è un'autorità leader nell'OSS; la loro definizione di software open source è conforme alle regole su 10 criteri. Questi includono:
- Ridistribuzione del software
- Disponibilità del codice sorgente
- Distribuzione di licenze
- Proprietà della licenza
- Anti-discriminazione
licenze
Diverse licenze consentono ai programmatori di modificare il software con varie condizioni allegate. L'OSI approva le licenze conformi alla loro definizione di software open source. 5 delle licenze più popolari secondo il Black Duck Knowledgebase sono:
- Licenza MIT
- GNU General Public License (GPL) 2.0
- Apache License 2.0
- GNU General Public License (GPL) 3.0
- Licenza BSD 2.0 (clausola 3, nuova o rivista)
Quando modifichi il codice sorgente, un requisito di OSS è l'inclusione di ciò che hai cambiato e dei tuoi metodi. Il software creato dopo le modifiche al codice può o non può essere reso disponibile gratuitamente.
La differenza tra software open source e commerciale
Il software disponibile in commercio, o software proprietario, non dà accesso al suo codice sorgente perché il software è proprietà intellettuale di qualcun altro. Di conseguenza, gli utenti spesso pagano per questo.
L'OSS, d'altra parte, è uno sforzo collaborativo - il software è proprietà intellettuale condivisa tra tutti coloro che hanno contribuito a svilupparlo o alterarlo.
Vs del software Open Source. Software gratis
Contrariamente alla credenza popolare, nessuno dei due si concentra sul costo o sulla mancanza dei programmi. Open Source comporta la libera disponibilità del codice sorgente e della distribuzione. Il software libero, allo stesso modo, include la modifica del codice, ma enfatizza le libertà che gli utenti amano fare con il software. La Free Software Foundation delinea 4 condizioni per considerare il software completamente gratuito.
Inoltre, il software può essere classificato come freeware. Ciò significa che gli utenti scaricano il software gratuitamente, ma non possono apportare modifiche al suo codice sorgente.
Vantaggi del software Open-Source
Mentre il costo è un fattore trainante, l'OSS offre numerosi vantaggi aggiuntivi:
- Risultati di alta qualità quando il codice sorgente viene passato, testato e corretto.
- È una preziosa opportunità di apprendimento per i programmatori. Possono imparare e applicare le abilità ai programmi più popolari disponibili oggi.
- Molti considerano il software open-source più sicuro del software proprietario perché i bug vengono identificati e risolti rapidamente.
- Dal momento che il software open source è di pubblico dominio, ci sono poche possibilità che possa diventare non disponibile. Questo è importante per i progetti a lungo termine che si basano su questi strumenti per la durata del progetto.
- La maggior parte del software è gratuita. I costi possono insorgere in seguito, tuttavia, come abbonamenti o costi di assistenza.
Tipi popolari di software Open-Source
Le tecnologie open source hanno aiutato a stabilire gran parte di Internet. Inoltre, molti dei programmi che tu e io utilizziamo ogni giorno si basano su tecnologie open source. Ad esempio, il sistema operativo Android e il sistema operativo OS X di Apple sono basati rispettivamente sulle tecnologie open source kernel e Unix / BSD.
Altro popolare software open source è:
- Mozilla Firefox browser web
- Client di posta elettronica Thunderbird
- Linguaggio di scripting PHP
- Linguaggio di programmazione Python
- Web server Apache HTTP
- sistema di database
Open Source e sviluppatori
I progetti OSS sono opportunità di collaborazione che migliorano le competenze e creano connessioni sul campo. Gli sviluppatori devono essere competenti con strumenti standard di sviluppo open source.
- Strumenti di comunicazione : email, messaggistica in tempo reale, forum e wiki aiutano gli sviluppatori a trovare soluzioni o a rimbalzare le idee l'una dell'altra.
- Sistemi di controllo di revisione distribuiti - Quando più sviluppatori in diverse posizioni geografiche modificano dati e file, questi sistemi gestiscono le diverse versioni e gli aggiornamenti.
- Inseguitori di bug ed elenchi di attività : consente a progetti su larga scala di monitorare i problemi e tenere traccia delle loro correzioni.
- Strumenti di test e debug - Automatizza i test durante l'integrazione del sistema e esegui il debug di altri programmi.
Conclusione
Migliaia di progetti open-source sono alternative al software proprietario. Lavorare su un progetto OSS come percorso per costruire una carriera nello sviluppo del software. Inoltre, i programmatori possono affinare le loro abilità lavorando sui più grandi programmi software del mondo. Facebook, Google e il software di rilascio di LinkedIn come Open Source, così gli sviluppatori possono condividere conoscenze, innovare soluzioni e contribuire a prodotti stabili e funzionali.