Почему вам не следует применять Меньшую GPL для своей следующей библиотеки
У проекта GNU есть две основных лицензии для библиотек. Одна из них — Меньшая GPL, другая — обычная GNU GPL. От выбора лицензии зависит многое: применение Меньшей GPL допускает использование библиотеки в несвободных программах; применение обычной GPL для библиотеки делает ее доступной только для свободных программ.
Какая лицензия лучше всего подходит для данной библиотеки — вопрос стратегии. Это зависит от особенностей ситуации. В настоящее время большинство библиотек GNU распространяются по Меньшей GPL, а это значит, что мы пользуемся только одной из этих двух стратегий, пренебрегая другой. Таким образом, сейчас мы стремимся выпускать больше библиотек под обычной GPL.
У разработчиков несвободных программ есть преимущество в деньгах; разработчикам свободных программ нужно создавать преимущества друг для друга. Применение обычной GPL для библиотеки дает разработчикам свободных программ преимущество перед разработчиками несвободных: библиотеку, которой они могут воспользоваться, в то время как разработчики несвободных программ ее применять не могут.
Не для каждой библиотеки применение обычной GPL несет преимущества. В определенных случаях есть причины, по которым лучше применять Меньшую GPL. Самый обычный случай — когда возможности свободной библиотеки легко доступны для несвободных программ благодаря другим библиотекам. В этом случае библиотека не может дать свободным программам никакого особого преимущества, так что для этой библиотеки лучше применять Меньшую GPL.
Вот почему мы воспользовались Меньшей GPL для библиотеки Си GNU. В конце концов, есть множество других библиотек Си; применение GPL для нашей версии заставило бы разработчиков несвободных программ применять другую — если это проблема, то не для них, а только для нас.
Однако когда библиотека предоставляет значимую уникальную возможность, как в случае GNU Readline, то это совсем другое дело. Библиотека Readline реализует историю и редактирование вводимых команд для интерактивных программ, а без нее это доступно не всегда. Выпуск ее под GPL и ограничение ее использования свободными программами дает нашему сообществу реальную опору. На сегодня по меньшей мере одна прикладная программа является свободной именно потому, что это было необходимо для использования Readline.
Если мы соберем коллекцию эффективных библиотек, распространяемых по GPL, у которых не будет аналогов, доступных для несвободных программ, они составят набор полезных модулей, которые смогут служить блоками для построения новых свободных программ. Это создаст значительное преимущество для дальнейшего развития свободных программ, и некоторые проекты решат сделать программы свободными, чтобы воспользоваться этими библиотеками. Научные проекты легко поддаются влиянию; в настоящее время таким образом можно повлиять даже на коммерческие проекты.
Разработчики несвободных программ, стремясь лишить свободных конкурентов важного преимущества, будут пытаться убедить авторов не вносить библиотек в набор, распространяемый по GPL. Например, они могут взывать к самолюбию, обещая “рост числа пользователей этой библиотеки”, если мы позволим им применять ее в несвободных программных продуктах. Популярность соблазнительна, и для разработчика библиотеки легко обосновать мысль, что рост популярности этой конкретной библиотеки — это то, в чем сообщество нуждается больше всего.
Но мы не должны поддаваться на эти уговоры, потому что мы можем достичь гораздо большего, если встанем плечом к плечу. Мы, разработчики свободных программ, должны поддерживать друг друга. Выпуская библиотеки, которые ограничены только свободными программами, мы можем сделать так, чтобы наши свободные пакеты помогали друг другу превзойти несвободные аналоги. Популярность движения за свободное программное обеспечение в целом будет выше, поскольку свободное программное обеспечение в целом будет более сплоченно противостоять конкуренции.
Общие рекомендации по выбору лицензий см. в статье Как выбрать лицензию для своей работы.