Obwohl es viele freie Lizenzen gibt, sagen sie in den wichtigen Punkten doch alle dasselbe: jeder den Quellcode bearbeiten kann, jeder die Software im Original oder modifiziert verbreiten darf und dass die Rechteinhaber keine Garantie oder Gewährleistung übernehmen (Haftungsausschluss ist vor allem wichtig, wenn Leute veränderte Software einsetzen ohne es zu wissen.) Die Unterschiede zwischen den Lizenzen reduzieren sich auf einige wenige Punkte:
Einige freie Lizenzen gestatten es, den Code in proprietären Programmen zu verwenden. Das betrifft aber nicht die Lizenz des proprietären Programms: es ist genauso proprietär wie vorher, nur enthält es Code von einer nicht-proprietären Quelle. Beispiele für Lizenzen die das gestatten sind: Die Apache-Lizenz, die Lizenz des X-Konsortiums, Lizenzen im BSD- oder MIT-Stil.
Die meisten freien Lizenzen sind kompatibel zueinander: Das bedeutet, dass Code der unter Lizenz A entstanden ist und mit Code der unter Lizenz B entstanden kombiniert wird unter jede der beiden Lizenzen gestellt werden kann, ohne die einzelnen Lizenzbedingungen zu verletzen. Die große Ausnahme ist die GNU General Public License, die fordert, dass jede Arbeit die GPL-lizenzierten Code verwendet auch unter der GPL stehen muss, und keine weiteren Einschränkungen hinzufügen darf. Die GPL ist daher nur mit einigen freien Lizenzen kompatible. Das wird in „Die GPL und Lizenz-Kompatibilität“ genauer diskutiert.
Einige freie Lizenzen verlangen, dass bei Verwendung des Codes eine Notiz erscheinen muss (die Art und Weise ist typischerweise vorgeschrieben), die den Autor oder Rechteinhaber nennt. Diese Lizenzen sind oft kompatibel zu proprietären, da sie nicht dazu zwingen, die abgeleitete Arbeit wieder unter eine freie Lizenz zu stellen, sondern nur dazu das freie Original zu nennen.
Eine Variante die Namensnennung zu erzwingen. Lizenzen mit einer Bestimmung zum Schutz der Marke, verlangen, dass der Name der Originalsoftware (oder der Rechteinhaber) ohne Genehmigung nicht in abgeleiteten Arbeiten verwendet werden darf. Auch wenn man beim Erzwingen der Namensnennung darauf besteht, einen bestimmten Namen zu verwenden, während man beim Schutz der Marke darauf besteht einen bestimmten Namen nicht zu verwenden, drücken doch beide Ansätze dasselbe aus: Der gute Ruf des Originals soll erhalten und verbreitet, aber nicht verwässert werden.
Both the GNU General Public License version 3 and the Apache License version 2 contain language designed to prevent people from using patent law to take away the rights granted (under copyright law) by the licenses. They require contributors to grant patent licenses along with their contribution, covering any patents licenseable by the contributor that would be infringed by their contribution (or by the incorporation of their contribution into the work as a whole). Then they go further: if someone using software under the license initiates patent litigation against another party, claiming that the covered work infringes, the initiator automatically loses all the patent grants otherwise provided for that work by the license, and in the case of the GPLv3 loses their right to distribute under the license altogether.
Einige Lizenzen (z. B. die Perl Artistic License, oder Donald Knuths TeX License) erfordern, dass bei der Veränderung und Verbreitung klar zwischen der reinen Originalversion und Veränderungen getrennt werden soll. Es werden im Grunde die gleichen Freiheiten wie bei anderen freien Lizenzen eingeräumt, aber es wird verlangt, dass die Integrität des Originalcodes leicht zu überprüfen ist. Diese Lizenzen haben sich nicht über die Sprachen für die sie geschaffen wurden hinaus nicht durchgesetzt und werden in diesem Kapitel nicht weiter erwähnt; sie wurden hier nur der Vollständigkeit halber erwähnt.
Die meisten dieser Bestimmungen schließen sich nicht gegenseitig aus. Die Gemeinsamkeit ist, dass der Lizenznehmer bestimmte Pflichten erfüllen muss für das Recht den Code zu verwenden oder weiter zu verbreiten. Zum Beispiel wollen einige Projekte ihren Namen und ihre Reputation mit dem Code verbreiten, und das ist es ihnen Wert eine zusätzliche Bestimmung zum Markenschutz zu erlassen. Je nachdem wie streng die Bestimmung ist, werden so manche Benutzer ein Programm nehmen das weniger strenge Bestimmungen hat.