Хабрахабр

Code of Conduct: почему разработчики ядра Linux угрожали удалить свой код — разбираемся в конфликте

В сентябре совет директоров Linux Foundation принял новый кодекс поведения для разработчиков ядра Linux — Code of Conduct (CoC). По задумке авторов, он должен был решить проблемы, связанные с дискриминацией, и улучшить эмоциональную обстановку среди разработчиков.

Подробнее о ситуации — далее. Некоторые программисты назвали это попыткой излишнего регулирования и начали угрожать удалить написанный ими код из ядра Linux.


/ фото Liam Quinn CC

Предыстория

В середине прошлого месяца Линус Торвальдс объявил, что возьмет перерыв в управлении разработкой Linux. По словам Торвальдса, ему нужно время, чтобы обдумать свою манеру общения с людьми (создатель Linux известен резкими высказываниями в адрес коллег). В рассылке LKML он извинился перед всеми, кто покинул сообщество из-за его критики.

Он и предложил принять новый кодекс поведения — Code of Conduct. На время «отдыха» Линуса руководство на себя принял Грег Кроа-Хартман (Greg Kroah-Hartman), который занимается поддержкой стабильной версии ядра. Документ решили внедрить, чтобы изменить культуру общения в сообществе.

Документ описывает правила поведения с другими программистами и делает упор на запрет любой дискриминации. Code of Conduct основан на стандарте Contributor Covenant, который также используют разработчики Ruby on Rails, Swift, Golang и JRuby.

Разработчики против правил поведения

Многие разработчики не согласны с введением CoC: они опасаются, что новые правила приведут к излишнему регулированию. Некоторые даже призвали всех несогласных не просто уйти из сообщества, а запретить использовать код, написанный ими для ядра.

По его словам, кодекс не решает проблем с культурой общения, а, наоборот, делает атмосферу в комьюнити недружелюбной. Все началось с письма программиста Джоуи Пабалинаса (Joey Pabalinas), в котором он раскритиковал принятый документ. Джоуи считает, что CoC приведет к делению участников на «хороших» и «плохих» и незаслуженным исключениям из сообщества.

Также членов сообщества беспокоят расплывчатые формулировки в кодексе, которые можно интерпретировать по-разному (например, «унизительные комментарии»). Особое недовольство вызвала процедура CoC, по которой можно запретить любому разработчику коммитить свой код, если участники решат, что личность автора им не нравится. При этом документ не описывает четких рамок для определения наказания для провинившихся.

Так как CoC предлагает единый стиль общения, люди из разных стран (в том числе тех, для которых английский не считается государственным) могут начать испытывать трудности в подборе «правильных формулировок». Наконец, третьей причиной, которая вызывает вопросы у разработчиков, являются культурные различия.

Существует ли угроза ядру Linux

«Легенда open source сообщества» Эрик Рэймонд (Eric Raymond) предположил, что недовольные разработчики действительно способны запретить использовать свой код в ядре Linux.

Противники Code of Conduct cсылаются на то, что в ней нет пункта о запрете расторжения соглашения между автором кода и открытым проектом (в GNUv3 такой пункт есть). Операционная система выпускается под универсальной общественной лицензией GNUv2. Поэтому они убеждены, что имеют право обязать совет Linux Foundation изъять код из ядра.


/ фото Matt Madd CC

Два года назад программист Азер Кочулу (Azer Koçulu) получил от юристов мессенджера Kik письмо, в котором они требовали переименовать модуль с таким же названием (kik), опубликованный в менеджере пакетов npm. И подобные прецеденты в open source сообществе уже были. Те поддержали требование и сменили владельца kik без разрешения автора. Азер ответил отказом, и тогда представители Kik написали уже администрации npm.

Но среди них оказался один из популярных модулей left-pad, который состоял из одиннадцати строчек кода. В ответ Кочулу отозвал все написанные им модули npm и залил на GitHub. Он нужен для работы Node.js, Babel и большого числа других систем.

Вот так выглядит код «модуля раздора»:

module.exports = leftpad; function leftpad (str, len, ch) return str;
}

Отзыв этого небольшого кода привел к ошибкам в работе мировых сервисов.

Якобы этот код нельзя так просто взять и отозвать. Тем не менее программист и создатель лицензии GNU Ричард Столлман (Richard Stallman) говорит, что с ядром Linux будет другая история. И это право нельзя отнять. В тексте GNU сказано, что разработчик программы позволяет другим копировать, модифицировать или распространять её код.

Они опубликовали пояснение, в котором проанализировали текст соглашения. Слова Столлмана уточнили юристы из некоммерческой организации Software Freedom Conservancy, которая создала руководство по лицензии GNU. Однако может запретить распространять свой код в будущем. По их словам, создатель приложения или утилиты не может вынудить пользователей удалить её.

Этот международный принцип запрещает расторгать устное соглашение, если это нанесет ущерб другой стороне. Также юристы написали, что отменить согласие на использование кода нельзя из-за принципа эстоппеля, или promissory estoppel. Поэтому в Software Freedom Conservancy считают, что исход с отзывом кода маловероятен. Запрет на использование кода определённо выльется в большие проблемы для множества компаний.

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

P.S. Про IaaS и технологии виртуализации — в нашем Telegram-канале:

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть