Определив критерии свободного программного обеспечения, участники Фонда начали распространять свои программы в рамках данных принципов, но не оформляя это документально. Говоря другими словами, изначально свободное программное обеспечение распространялось совершенно без какой-либо лицензии. Но произошедший с самим Ричардом Столлманом случай, о котором будет рассказано ниже, убедил его в том, что свободные программы необходимо обеспечить документально.
Ричард Столлман создавал редактор текстов Emacs, используя исходный код, написанный Джеймсом Гослингом. В то время Гослинг свободно раздавал всем исходные коды своих программ. Но однажды Гослинг продал права на распространение Emacs компании UniPress, и компания потребовала от Столлмана прекратить распространение его версии Emacs. Произошедшее вынудило Столлмана переписать заново те части исходного кода, которые стали принадлежать UniPress. После этого он разработал собственную лицензию на своё программное обеспечение.
Лицензия, созданная Столлманом, должна была работать так же, как и лицензии на несвободные программы, а именно, являться типовым договором обладателя авторских прав с пользователем программного обеспечения, в котором автор, помимо остального, оговаривает права пользователя по отношению к программе. В отличие от типовой собственнической лицензии, лицензия Столлмана стала предоставлять пользователю права, характерные для свободного программного обеспечения. Пользователь отныне мог читать исходный код программ, редактировать его, а также распространять изменённые и неизменённые версии программного обеспечения. Лицензия Столлмана получила название GNU General Public License («Основная общественная лицензия GNU»), сокращённо GNU GPL или просто GPL.
В GPL оговаривается принципиальное для Столлмана защитное условие распространения свободных программ: ни один пользователь, создавший модифицированную версию программы, не имеет права распространять её, не соблюдая всех принципов свободного программного обеспечения, то есть делать новый вариант свободной программы несвободным. Чтобы выделить отличие такой лицензии, которая использует закон «Об авторском праве и смежных правах» («copyright») для побуждения к сохранению свободы, от собственнических лицензий, которые используют закон «Об авторском праве и смежных правах» для ограничения свободы, был придуман термин «copyleft» (копилефт) — игра слов, построенная на значениях английских слов right и left. Действие копилефта основано на том, что производные программы чаще всего наследуют лицензии своих подпрограмм. Если в программе используется небольшая часть стороннего кода, охраняемого лицензией GPL, то вся программа и её производные версии обязаны распространяться под GPL, пока они являются производными этого кода. В GPL есть раздел, позволяющий требовать сохранения в коде имён авторов, запрещать использование этих имён в рекламе, предупреждать о зарегистрированных товарных знаках. Все это и многое другое позволяет совмещать программы под GPL с программным обеспечением под другими свободными лицензиями (например, лицензии BSD). При этом не появляются значительные ограничения, и не нарушается лицензия. Однако, производные от результата, являясь производными от работы под GPL, без разрешения правообладателей не могут распространяться на условиях данной некопилефт‐лицензии без соблюдения условий GPL — даже как неотъемлемая часть несвободного программного обеспечения. Сторонники несвободных программ и противники копилефта, такие GNU GPL лицензии, называют «вирусными лицензиями», потому что они «заражают» программу подобно вирусу, становясь её неотъемлемой частью, и распространяются на всю программу целиком.
|