Open source
L’open source è un concetto alla base della produzione software che prevede quattro principi fondamentali (“four freedoms”) definiti da Stallman [1]: Libero utilizzo e studio del software Possibilità di modificarlo Poter ridistribuire copie del software Poter distribuire le proprie modifiche L’approccio open source è basato sulla trasparenza e la collaborazione, le libertà sopra elencate hanno posto una nuova visione della produzione software, orientata alla cooperazione tra sviluppatori utenti e istituzioni.
Origini e contesto storico
Il concetto dietro al termine open source, il “free software” comincia a svilupparsi negli Stati Uniti all’inizio degli anni ‘80, prima di prendere il termine di open source software verso la fine degli anni ‘90. [2]
La definizione di software fino agli anni '60
Fino alla fine degli anni ‘60, il software veniva condiviso liberamente tra gli addetti ai lavori e distribuito insieme all’hardware [3], infatti i programmi venivano considerati come strumenti accessori e non prodotti con un proprio valore commerciale. IBM [4], ad esempio, forniva il software insieme alle macchine senza costi aggiuntivi, solo quelli di manutenzione hardware, permettendo agli utenti finali di studiarlo, condividerlo, modificarlo e adattarlo alle proprie esigenze.
Questo approccio favoriva un ambiente collaborativo tra ricerca, ingegneri e sviluppatori, in particolare all’interno delle università. Si trattava di fatto di una prassi che anticipava gran parte dei principi dell’open source, nonostante non vi fosse una formalizzazione ideologica e giuridica.
Separazione hardware e software, l’inizio del copyright
Il modello di software proprietario nasce con la separazione tra hardware e software, nel 1969, quando IBM annuncia la separazione di alcuni software dal catalogo principale, vendendoli separatamente rispetto all’hardware.
Dalla concezione quindi di accessorio del hardware, il software in quel momento ha assunto un proprio valore economico e commerciale. Questo cambiamento aprì la strada alla nascita dell'industria del software indipendente, in cui numerose aziende cominciarono a sviluppare e commercializzare programmi destinati a funzionare su hardware prodotto da terzi. Questa evoluzione rese necessaria la definizione di leggi specifiche sul copyright al fine di tutelare i diritti degli sviluppatori, facendo si che l’utilizzo di programmi informatici fosse soggetto a licenze e restrizioni d’uso.
Prima distribuzione di software “libero” (anni ‘80)
Nonostante la vendita di software proprietario fosse ormai una prassi già a metà degli anni '70, alcuni programmi, già agli albori degli anni '80, vengono distribuiti in modo simile al concetto che oggi chiamiamo FOSS (Free Open Source Software). Tra questi i nomi che spiccano maggiormente sono:
- SPICE (Simulation Program with Integrated Circuit Emphasis)
- TeX
- Unix
SPICE, sviluppato da Donald O. Pederson [5] presso l’Università della California, era un software ideato come supporto didattico per l’insegnamento della progettazione di circuiti integrati. Già nel 1973 il programma e il codice sorgente erano disponibili pubblicamente per volere dell’autore, in modo da permettere il libero accesso a studenti e ricercatori.
In maniera analoga, TeX, un sistema di composizione tipografica e markup sviluppato da Donald Knuth [6], venne distribuito liberamente insieme al codice sorgente.
Unix, sviluppato inizialmente nei laboratori Bell, fu distribuito tra le istituzioni accademiche negli anni ‘70, favorendone lo sviluppo e la collaborazione tra ricercatori.
Questi tre esempi rappresentano le prime manifestazioni del concetto di software libero, ponendo le basi per la cultura della condivisione e della collaborazione nel campo dello sviluppo software.
L’avvento di Internet e il suo impatto sul “free software”
La creazione di internet e la sua diffusione all’interno delle università ha rappresentato una svolta fondamentale nella diffusione del free software.
Internet infatti rese più facile la collaborazione e la condivisione del codice sorgente su scala globale. Prima infatti la circolazione del software libero avveniva principalmente tramite supporti fisici in ambienti accademici ristretti; con internet, invece, divenne possibile distribuire gli aggiornamenti dei programmi, la documentazione e gli strumenti di sviluppo necessari.
Fu inoltre possibile la diffusione dei principi della FSF, del relativo manifesto e di iniziative correlate all’open source. La nascita di portali quali SourceForge, GitHub e GitLab aumentò la risonanza di questi diventando dei veri e propri “hub” per la gestione collaborativa dei progetti.
Contributi pubblici e privati su progetti open source
Contributi pubblici
Il progetto 18F funge da esempio di investimento statale nell’industria dell’open source. Il governo statunitense ha infatti creato un’unità digitale interna chiamata 18F che sviluppa software open source con lo scopo migliorare i servizi pubblici digitali. Proprio alla creazione di 18F è dovuta la nascita di software tra cui Cloud.gov, una piattaforma Platform as a Service (PaaS) open source che aiuta le agenzie governative a comprare e creare servizi di cloud. (Fonte: https://github.com/18F) Anche l’Unione Europea è responsabile di un importante contributo pubblico nel settore, che ha come risultato la creazione del programma NGI, che finanzia progetti open source con lo scopo di migliorare la privacy e la sicurezza online, nonché di incentivare la decentralizzazione di risorse. Conseguentemente alla nascita di NGI, molti enti hanno ricevuto sovvenzioni europee, ad esempio tra gli operatori socio-sanitari ne hanno beneficiato Mastodon, Delta chat e PeerTube (Fonte: https://www.ngi.eu/ngi-projects/) Tra gli investimenti fatti da agenzie governative uno dei casi più noti di contributi nel settore open source riguarda la NASA, che ha rilasciato una piattaforma open source di visualizzazione geospaziale 3D chiamata Worldwind, utilizzata in ambiti urbanistici, scientifici ed educativi (Fonte: https://github.com/NASAWorldWind)
Contributi privati
Uno dei primi contributi portati da aziende nell’open source è la creazione di Kubernetes nel 2014, un progetto open source per l’orchestrazione di container realizzato grazie a Google. Il progetto è stato però successivamente donato all’azienda CNCF (Cloud Native Computing Foundation) (Fonte: https://www.cncf.io/projects/kubernetes/) Anche l’azienda informatica Microsoft ha dato un notevole contributo al settore, in particolare con il rilascio del codice sorgente su Github di VIsual Code Studio, un editor di testo ad oggi molto utilizzato per la codifica in svariati linguaggi di programmazione, risultando quindi molto utile nel settore informatico per utenti dotati di qualsiasi livello di competenza. (fonte: https://github.com/microsoft/vscode) La società di sviluppo software Red Hat ha investito in Fedora, ovvero una distribuzione Linux community-driven, servita come base sperimentale per il sistema operativo Red Hat Enterprise Linux (RHEL).
Caratteristiche Principali
- ↑ https://csdl-downloads.ieeecomputer.org/mags/co/2021/02/09353517.pdf?Expires=1746549098&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jc2RsLWRvd25sb2Fkcy5pZWVlY29tcHV0ZXIub3JnL21hZ3MvY28vMjAyMS8wMi8wOTM1MzUxNy5wZGYiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE3NDY1NDkwOTh9fX1dfQ__&Signature=wGCd9BRACFt1EVSLKanVdbIaAvDuu1t3hO9qT7eSxn3K6OCHpqSlpWXhWRgeRf-X5PWnK706PE~AY6y4aKVH5SG1CK6QHFtG-HOjVsUIqdQC8LoAa~YLhy9Qo66LVxZ7CcKVC9T2cfn0PPr3iEh6cMdv6CENVMif2WxYrXZl~fI3BKPeMKFY~KcGkqk1hqIMS134vnWuQr8~k6wyrucdTv48E1y~-Sn~APzOwKNhSmCALKC-qCbj5PESUJ7mZVR0A0cKEocaIVjScWVtwUjK4q8VCQezmyhOIAvZa6xfGJmZ~HQZovl0cJS-Fbm~lZsQ5GKJ2S9rbIb-2Hi9buyu-A__&Key-Pair-Id=K12PMWTCQBDMDT
- ↑ Errore nelle note: Errore nell'uso del marcatore
<ref>: non è stato indicato alcun testo per il marcatoreA Brief History of Free, Open Source Software and Its Communities - ↑ https://it.wikipedia.org/wiki/Hardware
- ↑ https://it.wikipedia.org/wiki/IBM
- ↑ https://en.wikipedia.org/wiki/Donald_Pederson
- ↑ https://en.wikipedia.org/wiki/Donald_Knuth