15 July 2008

Тень коммунизма

Open source
Перевод статьи «Why you shouldn't use the Lesser GPL for your next library» с комментариями академика Российской Академии Разработки Программного Обеспечения Олега Андреева.
www.gnu.org/licenses/why-not-lgpl.html

Почему вам не следует использовать Lesser GPL для вашей следующей библиотеки.

У проекта GNU есть две основные лицензии для библиотек. Первая — Lesser GPL, вторая — обычная GPL. Между ними есть существенная разница: LGPL позволяет использовать библиотеку в закрытых программах, а GPL — только в свободных.

Выбор лицензии определяется стратегией и зависит от ситуации. В настоящее время большинство библиотек GNU покрыты лицензией LGPL, что означает, что мы используем одну стратегию, отвергая другую. Поэтому мы призываем выпускать больше библиотек под лицензией GPL.

Разработчики закрытого софта имеют денежное преимущество; разработчики свободного софта должны создавать преимущество друг другу. Использование обычной GPL для библиотеки дает преимущество над закрытым софтом: свободные программы могут использовать такую библиотеку, а несвободные не могут.

Использование GPL выгодно не для каждой библиотеки. Наиболее распространена ситуация, когда функции свободной библиотеки уже доступны для закрытого софта через альтернативные реализации. В таком случае, библиотека не дает никакого особого преимущества для свободного софта и поэтому лучше использовать LGPL.

Именно поэтому для glibc мы используем LGPL. В мире существует множество альтернативных С-библиотек. Если мы будем использовать GPL для нашей реализации, то у разработчиков закрытого софта не будет проблем с использованием альтернатив. Зато сложности могут возникнуть у нас.

Тем не менее, когда библиотека располагает интересными уникальными возможностями (как, например, GNU Readline), это уже совсем другая история. Библиотека Readline реализует обработку ввода и хранение истории для интерактивных программ, её возможности не доступны в полной мере в других подобных реализациях. Выпуск такой библиотеки под лицензией GPL и ограничение её использования среди свободного софта дает нашему сообществу ощутимый эффект. Теперь как минимум одно приложение является свободными потому что было необходимо использовать Readline.

Если мы наберем массив мощных не имеющих аналогов GPL-библиотек, они выступят как строительные блоки для новых свободных программ. Это составит огромное преимущество дальнейшей разработке свободного софта и другие проекты решат сделать свой софт свободным с тем, чтобы использовать наши библиотеки. Легче всего повлиять на университетские библиотеки, но сегодня и многие коммерческие организации начинают смотреть в сторону свободного софта, и на них можно влиять таким образом.

Разработчики закрытого софта в попытках принизить важность свободной конкуренции будут стараться отговорить авторов от внесения вклада в коллекцию GPL-кода. К примеру, они могут аппелировать к честолюбию, обещая «большее число пользователей библиотеки» в случае разрешения использовать код в закрытом софте. Обещаемая популярность соблазнительна, и разработчику библиотеки легко придти к выводу, что повышение популярности некоторой библиотеки — это то, что в первую очередь требуется сообществу.

Но мы не должны поддаваться этим соблазнам, товарищи. Потому что мы достигнем гораздо большего, если будем стоять вместе. Мы, разработчики свободного программного обеспечения, должны помогать друг другу. Выпуская библиотеки, доступные лишь для свободных программ, мы помогаем программам друг друга быть лучше закрытых альтернатив. Целое движение свободного ПО будет расти дальше, потому что свободный софт в целом более конкурентоспособен.

_____________________________________________________

Столман пишет, что со временем свободного софта будет больше и больше, и за неимением альтернатив, все большее количество коммерческого кода будет свободным и, в конечном итоге, в мире софта наступит коммунизм (если БАК не наступит раньше). У меня есть альтернативная точка зрения: с ростом количества GPL-софта, все большее внимание будет уделяться ограничениям GPL и преимуществам куда более свободных лицензий LGPL, BSD, MIT, Apache2 и т.п. Большее количество разработчиков будет сталкиваться с реальными трудностями использования GPL-кода и все больше кода будет выпускаться истинно свободным. Свободным от притязаний Столмана, сообществ разработчиков, корпораций и кого бы то ни было еще. Рано или поздно появится истинно свободная реализация Readline и другие библиотеки, ровно как существует множество реализаций libc. В итоге, GPL-код окажется ограничен самим собой и, как любая замкнутая экосистема, выродится из-за невозможности развиваться.

Примечание. GPL-код выродится не потому что «коммунизм — это плохо», а потому что человеческая натура такова, что, в первую очередь, стремится минимизировать свои личные риски. Коммерческим разработчикам, которым по какой-либо причине нужно открыть код, есть резон выпускать его под GPL лишь для того, чтобы запретить конкурентам скрывать свои разработки и, таким образом, не подарить им преимущество. Тем же, кто хочет сделать популярную качественную и свободную реализацию, нет резона портить жизнь своим собственным коммерческим разработкам и своим коллегам. Либеральные отношения порождают взаимное уважение, а большее количество пользователей кода, даже со стороны закрытого софта, ведёт к большему объему фидбека и повышению качества продукта. А плох или хорош коммунизм, автору не ведомо, так как никто нигде его еще не построил.
Tags:gnugpllgplmitbsdлицензии
Hubs: Open source
+25
1.4k 9
Comments 75
Popular right now
Разработчик С /С++
from 110,000 ₽VMS SoftwareСанкт-ПетербургRemote job
Senior Frontend Engineer
from 160,000 to 220,000 ₽Jamakase TechnologiesRemote job
Backend-разработчик (Middle)
to 250,000 ₽ЛатераЗеленоградRemote job
Full-stack JavaScript Developer
from 70,000 to 150,000 ₽Health SamuraiСанкт-ПетербургRemote job
Top of the last 24 hours