Оценка аномалий при выборе лицензий в проектах на GitHub
18 апреля 2013 года
Аарон Вильямсон (Aaron Williamson) из правозащитной организации Software Freedom Law Center выступил на проходящей в Сан-Франциско конференции Linux Collaboration Summit с докладом, посвящённом проблеме размещения кода на GitHub без явного указания лицензии, что делает данный код формально недоступным для использования в других проектах, так как без указания лицензии код по умолчанию является собственническим и при его использовании требуется получение личного согласия автора. Изначально данная проблема активно обсуждалась в конце прошлого года по инициативе Саймона Фиппса (Simon Phipps), президента организации Open Source Initiative (OSI). Аарон попытался собрать более конкретную статистику по использованию различных лицензией проектами на GitHub.
В ходе исследования было проанализировано содержимое 1 692 135 репозиториев на GitHub. В итоге было выявлено, что 14.9% проектов разместили текст с лицензией в корневой директории с кодом, 28% проектов упомянули об используемой лицензии в файле README, но пренебрегли рекомендуемым методом размещения лицензии в файле LICENSE или COPYING. 57.1% проектов размещены без указания лицензии.
При рассмотрении типов открытых лицензий Аарон обнаружил, что разработчики отдают предпочтение либеральным лицензиям, не обязывающим открывать код производных работ, которые на GitHub опережают по популярности копилефт лицензии, такие как GPL. В частности, с большим перевесом лидирует лицензия MIT, на втором месте по популярности лицензия BSD, на третьем и четвёртом GPLv2 и GPLv3, на пятом лицензия Apache 2.0. В сумме под различными версиями лицензий GPL и LGPL размещена 61 тысяча проектов, в то время как проектов под лицензиями MIT, BSD или Apache более чем в два раза больше.
Ещё одним фактом, всплывшим в результате исследования является наличие проектов с неявными или ошибочными лицензиями. Например, многие проекты упоминают об использовании лицензии Ruby, но не детализируют о какой именно редакции ведётся речь. В процессе эволюции используемая языком Ruby лицензия претерпела изменения, поэтому непонятно, какой набор требований предъявляют данные проектам. Кроме того, встречаются проекты с противоречивыми лицензиями. Например, указана лицензия GPL, но добавлен пункт запрещающий использование кода в коммерческих целях, что противоречит требованиям GPL.
В качестве одной из гипотез наблюдаемого и другими исследователями роста популярности либеральных лицензий называется желание молодых разработчиков пойти наперекор наблюдаемомой в индустрии собственнической культуры, требующей получения разрешения на каждый шаг. В итоге, разработчики стремятся избегать любых ограничений и позволяют другим разработчикам применять их код так, как им заблагорассудится. Подобное желание предоставить полную свободу в использовании кода также объясняет обилие проектов без указания лицензий, авторы подобных проектов полагают, что не указав лицензию передают код в общественное достояние.
Если раньше лицензия выбиралась на основании примера Linux и проектов Фонда СПО, то сейчас сообщество меняется и становится более раздробленным. Многие молодые разработчики рассматривают как основной пример для подражания не GNU/Linux, а Web-проекты, в которых исторически сложился иной подход в предоставлении свободы неограниченного использования кода. Анализ предпочтений в выборе языка программирования подтверждает данный тезис - 21% всех проектов на GitHub написаны на языке JavaScript, а 12% на языке Ruby.
Ричард Фонтана (Richard Fontana), один из трёх ключевых авторов лицензии GPLv3, не согласен с данной гипотезой, отметив, что до появления GitHub и экспансии web-технологий в SourceForge.net также наблюдалось обилие проектов без указания информации о лицензии, а если углубиться в более далёкое прошлое, то в Usenet-конференциях публикация кода без указания лицензии также была обычной практикой. Тем не менее, сегодняшние реалии таковы, что открыть неправильно лицензированный код не лучше, чем вообще не публиковать данный код.
В качестве одного из вариантов решения проблемы предлагалось добавить форму выбора лицензии при создании новых проектов на GitHub, но позиция GitHub сводится к оставлению по умолчанию всех прав на код за его авторами, так как GitHub не хочет, чтобы пользователи необдуманно отказывались от своих прав. В связи с этим наиболее реалистичным выглядит вариант, когда заинтересованные в использовании кода разработчики отправляют авторам проекта предложение указать лицензию на код, например, через заведение сообщения об ошибке.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.