Основная общественная лицензия GNU General Public License

Декларировав критерии свободного ПО, члены Фонда свободного ПО стали распространять свои программы в соответствии с этими принципами, никак не оформляя это документально: иначе говоря, первоначально свободные программы распространялись вообще без лицензии. Однако произошедший с самим Ричардом Столлманом прецедент (см. ниже) убедил его в том, что документальное оформление необходимо для свободного ПО.

Ричард Столлман занимался разработкой текстового редактора Emacs на основе исходных текстов Джеймса Гослинга. Тогда Гослинг свободно раздавал свои исходные тексты всем заинтересованным. Однако в какой-то момент Гослинг продал права на распространение Emacs компании UniPress, и эта компания попросила Столлмана прекратить распространение его версии Emacs, так как права принадлежат им. Этот инцидент заставил Столлмана переписать заново те части исходного текста Emacs, которые теперь принадлежали UniPress, после чего он разработал собственную лицензию на своё программное обеспечение.

Лицензия, сформулированная Столлманом, должна была работать так же, как и лицензии на несвободное программное обеспечение: это типовой договор автора программы (обладателя авторских прав) с пользователем, в котором автор, среди прочего, оговаривает права пользователя по отношению к программе. В отличие от типовой собственнической лицензии, лицензия Столлмана предоставляет пользователю права, являющиеся критериями свободной программы: получать исходные тексты программ, изменять их, распространять изменённые и неизменённые версии. Впоследствии лицензия Столлмана получила название GNU General Public License («Основная общественная лицензия GNU»), сокращённо GNU GPL или просто GPL.

В этой лицензии оговаривается также принципиальное для Столлмана защитное условие распространения свободного ПО: ни один пользователь, сделавший модифицированную версию свободной программы, не имеет права распространять её, не соблюдая всех принципов свободного ПО, то есть делать модификацию свободной программы несвободной. Чтобы подчеркнуть отличие такой лицензии, которая использует ЗоАП («copyright») для побуждения к сохранению свободы, от типовых собственнических лицензий, которые используют ЗоАП для ограничения свободы, был придуман термин «copyleft» (копилефт) — игра слов, построенная на значениях английских слов right и left. Действие копилефта основано на том, что производные работы в большинстве случаев наследуют лицензии своих составляющих; если в программе используется небольшая часть стороннего кода под GPL, то вся программа и её производные должны распространяться под GPL, пока они являются производными этого кода. При этом в GPL есть раздел, позволяющий требовать сохранения в коде имён авторов, запрещать использование этих имён в рекламе, предупреждать о зарегистрированных товарных знаках и т. п., что позволяет комбинировать работы под GPL с работами под многими свободными некопилефтными лицензиями (например, некоторыми из лицензий BSD), не создавая значительных ограничений и не нарушая лицензии, — но производные от результата, являясь производными от работы под GPL, уже не могут (без отдельного разрешения правообладателей) распространяться на условиях данной некопилефт‐лицензии без соблюдения условий GPL — в том числе и как неотъемлемая часть несвободного ПО. По этой причине сторонники несвободного ПО и другие противники копилефта лицензии, подобные GNU GPL, называют также «вирусными лицензиями»: они как бы «заражают» программу, становясь её неотъемлемой частью.