Авторът на BcacheFS временно е отстранен от разработката на ядрото на Linux заради нарушение на кодекса на поведение

Кент Оверстрит (Kent Overstreet), разработчик FС Bcachefs, съобщи, че бъдещето на разработваната от него файлова система в ядрото е под въпрос заради действията на комитета, отговарящ за спазването на кодекса на поведение в общността на разработчиците (CoC Committee). Линус Торвалдс отказа да приеме поредния набор от корекции към Bcachefs в състава на клона на ядрото 6.13, позовавайки се на наличието на оплаквания от страна на комитета CoC.

Несколко дни по-рано, в документите, регулиращи активността, свързана с кодекса на поведение, беше направено изменение, което въвежда възможността за блокиране на разработчика в случай на нарушение на кодекса на поведение и несъгласие с урегулирането на конфликта по предложената от комитета CoC схема. Новата редакция на правилата, в случай на отказ да се извини публично, въвежда възможността за налагане на "блокировка", за определен период, блокираща приемането на пачове и pull-запроси, а също така изключваща нарушителя от дискусии в общността чрез блокиране на достъпа до мейлинг листата и услугите на kernel.org.

На измененията в кодекса на поведение се съгласиха Линус Торвалдс, Грег Кроа-Хартман (отговорник за стабилните клони на ядрото), Мигел Охеда (Rust-for-Linux), Дейв Хансен (поддържащ подсистемата mm от Intel), Джонатан Корбет (LWN), Стивен Ростедт (Red Hat), Дън Вилямс (Intel), Теодор Цо (ext4) и Константин Рябцев (администратор на Kernel.org). Блокировката може да се извършва за период, не надвишаващ цикъла на разработка на новия клон на ядрото (приблизително 2 месеца). В качеството на условия за отмяна на блокировката, комитетът CoC може да изиска от нарушителя публично извинение. Решението за блокировка се взима от комитета CoC при съгласие на 2/3 от участниците в гласуването.

Блокировката на Кент Оверстрийт е свързана с обидното изказване „Погледни си главата. И изчезвай с тази глупост.“, направено по време на дискусия с Михал Хочко, един от разработчиците на системата за разпределение на паметта в ядрото. Обидата е забелязана от членовете на комитета CoC, които поискали публично извинение, на което Кент отговорил с отказ, считаяки за недопустимо разгласяването на лични конфликти и твърдейки, че вече са разрешили този въпрос помежду си. Кент също така спомена неприятните натискания за поддържане на имиджа на общността, но според него те са продиктувани от желанието да се запази привлекателността на участието в проекта от страна на корпорации.

Кент подробно описал историята и своето виждане за конфликта, както и критикувал натиска от страна на комитета CoC за рафинирано общуване в общността, което, според него, нарушава утвърдената инженерна култура. Спорове обикновено възникват между хора, които дълбоко се грижат за своята работа, но имат различни гледни точки. По време на горещи спорове разработчиците може да не успеят да сдържат своите емоции и да се скарат един на друг, но това е приет работен процес, който в крайна сметка води до намиране на ефективно решение и напредък в проекта.

Според Кент, сдържането на горещи спорове води до създаване на култура на презрение, която отблъсква желанието за взаимодействие с другите и превръща разработването в клуб за избрани, вместо да запази общността, в която всеки може да участва и да изрази своето мнение. Работата на инженерите е да решават сложни проблеми, а не да ги избягват; така че, в този контекст, потискането на спорове в зародиш е вредна практика.

Според наблюденията на Кент, горещи спорове обикновено се появяват, когато разработчиците искат да се задълбочат в същността на нещата и се опитват да решат технически интересни проблеми. Дори ако спорещите не могат да постигнат споразумение помежду си, обикновено се намира трета страна, която, оценявайки ситуацията отстрани, е в състояние да реши проблема, като вземе предвид аргументите, представени от различните страни на спора.

Кент признава, че не е сдържал, опитвайки се да представи технически аргументи, но получил в отговор формални оправдания и нежелание да се задълбочава в детайлите. Отбелязва се, че конфликтът със супервизора на подсистемата за управление на паметта (mm) е възникнал още преди година, когато супервизорът отказал да приеме промяната, необходима за реализиране на лек механизъм за профилиране на операциите по разпределение на памет. За работата на механизма е било нужно да се добавят макро обвивки над функциите за разпределение на памет, а супервизорът ги отхвърлил, страхувайки се, че те могат да имат негативен ефект върху производителността.

След година ситуацията се повторила при опит за реализиране на промяна, свързана с обработката на грешки във файловите системи — супервизорът на подсистемата mm отново отхвърлил промяната, този път позовавайки се на възможно влияние върху сигурността. Според Кент, супервизорът не желал да се задълбочава в детайлите и изслуша аргументите на други разработчици, съгласили се с необходимостта от промяната, а се ограничи само до повърхностни схващания (промяната беше свързана с приемането на изключение, позволяващо обработка на някои грешки при разпределение на памет в режим GFP_NOFAIL, който забранява външната обработка на грешки в критични секции, като обработката на транзакции за регистрация във FS, което води до принудително завършване на процеса, дори в ситуация, когато грешката можеше да бъде обработена).

Кент също спомена, че членовете на комитета CoC също не са лишени от емоционални изблици, например един от участниците му е позволил да изразява доста обидни изрази (нарекъл други разработчици „asshole“) по време на дискусия в кулоарите на конференцията. Такова поведение при лични общения на конференцията не е по-приемливо, отколкото в пощенския списък, и се оказва, че поддръжниците на кодекса се опитват да наложат на другите правила, които сами нарушават.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster