Debian era (ed è) appunto una distribuzione costituita interamente da software libero e sviluppata su base volontaria. Tuttavia ad un certo punto iniziò ad incontrare delle difficoltà nel definire chiaramente cosa si poteva ritenere libero e cosa no, dal momento che iniziavano a proliferare altre licenze che pretendevano di definire il concetto di libertà. D'altra parte Debian non aveva mai preso in considerazione il fatto di creare una propria politica di software libero dal momento che sin dalla nascita si era appoggiata ai principï della Free Software Foundation.
Bruce Perens, in quanto leader del progetto Debian, nel 1997 propose le bozze di due documenti: il Debian Social Contract e le Debian Free Software Guidelines. La successiva opera di limatura, correzione e aggiunta che si svolse nel classico stile hacker con il contributo della comunità degli sviluppatori Debian, portò alle versioni definitive dei documenti.
Il Debian Social Contract documentava chiaramente l'intento di comporre un sistema interamente a partire da software libero, le Free Software Guidelines rendevano possibile una classificazione del software in libero e non libero mediante una chiara comparazione delle licenze esistenti.
Quando Netscape decise di rendere software libero Communicator, il proprio famoso programma di navigazione su Internet, contattò Eric Raymond, il quale ritenne che per essere considerato software libero Netscape avrebbe dovuto rispettare i principï sanciti dalle Debian Guidelines.
Questo non fu altro che il punto di partenza di un processo che avrebbe portato alla nascita del concetto di Open Source. Raymond infatti già da tempo riteneva che il mondo più tradizionalmente commerciale fosse tenuto lontano dalle istanze di Stallman e della sua Free Software Foundation, con cui egli stesso aveva collaborato. Egli sentiva che si stava perdendo una grossa occasione non favorendo in qualche modo la diffusione degli ideali liberi nel mondo del business.
Stallman aveva iniziato il suo Progetto GNU perché credeva - e crede - che la conoscenza che sta alla base di un programma funzionante dovrebbe essere libera, altrimenti il rischio sarebbe quello di una elite dominante nel mondo del software. La conoscenza scientifica, nella sua visione, dovrebbe essere di pubblico dominio, condivisa e distribuita - come avviene con le pubblicazioni scientifiche - ecco la necessità di mantenere liberi e disponibili i codici sorgenti dei programmi. La licenza GPL vuole salvaguardare questo tipo di conoscenza da indebite appropriazioni per fini commerciali estranei al principio del software libero.
Ovviamente molte imprese produttrici di software hanno interpretato le istanze del software libero come integraliste, rifiutando la visione di un prodotto completamente non proprietario che escludesse del tutto la voce di guadagno legata alla vendita di licenze o comunque del diritto d'autore.