Dato che i termini ``Software Libero'' ed ``Open Source'' hanno raggiunto una certa diffusione solo negli ultimi tempi, si potrebbe pensare che identifichino un concetto nuovo nella storia dell' informatica, ancora tutto da sperimentare.
In realtà il software è nato sotto forme che, sebbene non formalizzate come tali, erano molto vicine a quelle del software libero, ovvero come codice creato e modificato da coloro che lo dovevano usare direttamente, e quindi liberamente scambiato tra gli utenti di sistemi compatibili.
Questo avveniva in particolare modo nell'ambiente universitario americano degli anni 70, nel quale la disponibilità di computer a prezzi favorevoli, privi però di una qualsiasi assistenza, ha favorito la nascita di una comunitá di utenti/sviluppatori che si fornivano aiuto a vicenda, scambiandosi anche le parti di codice scritte per le proprie esigenze, con forme di licenza simili, a seconda dei casi, al pubblico dominio o alla semplice BSD.
Questa situazione sembrava destinata a rimanere un fenomeno di nicchia, se non addirittura a scomparire, a causa da un lato della sempre maggiore diffusione di computer in un ambito, quello aziendale, meno abituato alla libera circolazione del proprio lavoro di quello universitario, dall'altro dell'adozione, anche da parte delle università, di sistemi proprietari sviluppati generalmente dai produttori stessi dei computer usati e distribuiti sotto forma di codice sorgente con dei contratti di ``non disclosure'' con i quali ci si impegna a non rivelare cosa ci sia in tale codice e ovviamente a non distribuirne eventuali modifiche.
In questo contesto si pone la decisione di un dipendente del MIT, Richard M. Stallman, di far sì che il vecchio modello di sviluppo potesse continuare: egli lascia il MIT per non essere costretto ad adeguarsi alle politiche universitarie per le licenze, rilascia il proprio editor di testo, EMACS, sotto la prima licenza di tipo copyleft e da vita, nel 1984, al progetto GNU per la creazione di un sistema operativo libero e nel 1985 alla Free Software Foundation per finanziare il progetto stesso, pubblicarne le licenze e favorire in generale sviluppo e diffusione del software libero.
In sistema in questione era di tipo unix, lo standard di fatto dell'epoca, ma non derivante dal codice originario di Unix, non totalmente libero e le prime parti sviluppate sono state compilatore e librerie C, il linguaggio più usato sotto e per unix; il progetto è quindi andato avanti sviluppando la maggior parte delle componenti ed utility di un sistema di quel tipo.
Fino a quando il sistema non è stato completo, le componenti venivamo sviluppate, provate ed utilizzate con altri unix, rendendo fondamentale l'attenzione alla portabilità del codice scritto per il progetto, cosa che spesso può essere notata ancora oggi. In particolare, per vari motivi, il sistema GNU é stato a lungo privo di un kernel stabile.
Nel frattempo l'università di Berkley, California, aveva ricevuto il codice dello Unix originale dall'AT&T, impossibilitata a commercializzarlo dalla legge sui monopoli, e ne continuava lo sviluppo, prevalentemente sotto licenza BSD. Tuttavia la particolare situazione di Unix in quel periodo ha fatto sì che il codice libero si mescolasse con codice ancora di proprietà dell'AT&T, fino ad arrivare, nel 1991, ad una causa legale da parte di AT&T contro l'università di Berkley, alla fine della quale la necessità di rimuovere - e riscrivere - le parti di codice proprietario hanno spinto alla nascita di alcune versioni del sistema ``BSD'', ormai tra l'altro non più prevalentemente per mainframe, ma soprattutto per l'architettura i386,
Da questo periodo di incertezza, tramite fork per divergenze sulla direzione dello sviluppo, sono nati, tra gli altri, i tre BSD attualmente più diffusi: NetBSD, orientato alle reti, l'efficiente FreeBSD e OpenBSD, orientato alla sicurezza e sviluppato fuori dagli Stati Uniti per non essere vincolato nell'uso di forte crittografia.
Nel 1991, mentre il progetto GNU proseguiva il suo sviluppo, ma mancava ancora di un kernel per poter funzionare autonomamente, e i BSD erano impegnati in cause legali, uno studente finlandese, Linus Torvalds decise per hobby e per studio di sviluppare un kernel per avere un sistema unix sul suo computer, un comune ed economico 386, simile al già esistente Minix, ristretto ai soli usi universitari.
Avendo bisogno di un sistema per rendere sfruttabile il kernel, Torvalds ha sfruttato tutto quanto era stato prodotto dal progetto GNU e ha deciso di rilasciare il suo kernel con la licenza GPL da esso usato.
Dato che il progetto, annunciato su internet in fase di piena espansione della stessa, ha avuto un successo inaspettato, Torvalds è riuscito a creare un kernel funzionante e sempre più completo, dapprima per soli PC, in un secondo tempo anche portabile su piattaforme diverse.
Il numero sempre crescente di persone interessate a questo kernel - o a tutto il sistema, ha portato un po' per volta alla nascita delle varie distribuzioni e ha spinto il progetto GNU a curarlo particolarmente, come completamento non ufficiale ma attivamente supportato del proprio sistema, rallentando, ma senza abbandonare totalmente lo sviluppo del loro kernel ufficiale, tuttora in lavorazione.
In pochi anni ci si è dunque trovati ad avere un sistema completo - GNU/Linux - interamente libero con una maturità sufficiente da giustificarne l'adozione anche al di fuori dei mondi hobbistici o di derivazione universitaria dove era nato, ma vittima di alcuni pregiudizi sull'origine, il prezzo e il nome che ne ostacolavano un ulteriore diffusione. Se le distribuzioni commerciali, offrendo a pagamento un prodotto ``impacchettato'' e corredato da assistenza e a volte garanzie combattevano i primi due pregiudizi, alcune persone temevano che non fosse possibile promuovere seriamente presso il mondo aziendale del software il cui tipo di licenza aveva un nome - free - dal doppio significato: libero, ma anche gratuito, e pericolosamente assonante con quel freeware comprendente tanto programmini talmente semplici e mal mantenuti da essere regalato piuttosto che venduto.
Per ovviare alla cosa è stato coniato il termine Open Source, secondo un'idea di Eric Raymond, ne è stata data una definizione dettagliata, la OSD, ed è stata creata, nel 199? la OSI, per promuoverne l'adozione da parte del mondo aziendale.
Uno dei primi successi di questo approccio è stato il rilascio, da parte di Netscape, dei sorgenti della sua suite internet, altrimenti a rischio di oblio a causa di mosse forse illecite da parte di un'azienda concorrente, ad un gruppo di sviluppatori il cui compito fosse coordinare gli sforzi della comunità nella gestione della suite stessa, sotto il nome Mozilla.
Si arriva allora ai nostri giorni, nei quali il sistema GNU/Linux, sufficientemente maturato, e i sistemi BSD, ormai pienamente ripresi dalle vicessitudini legali che li avevano rallentati, costituiscono un'alternativa degna di considerazione per un numero sempre maggiore di scopi, mentre il modello di sviluppo e licenza ottiene sempre maggiori conferme delle sue buone potenzialità sia per quello che riguarda la qualitá dei prodotti realizzati che per quello che riguarda la fattibilità di commercializzazione, tramite un numero sempre maggiore di programmi liberi, sia sviluppati da volontari che curati da aziende.