Большую часть года разработчиков ядра Linux просили признаваться, когда в написании патча им помогала машина, но теперь спрашивать об этом перестали. Правило, введённое в январе, отменяют — отчасти потому, что его соблюдали не все, а отчасти потому, что Линус Торвальдс считает: оно било мимо цели.
Что предписывало правило и почему его отменяют
Согласно этому правилу, участники проекта должны были добавлять в коммит тег Assisted-by всякий раз, когда использовали какой-либо продвинутый инструмент для написания кода. Требование раскрывать такую информацию на бумаге выглядело просто.
9 октября Саша Левин, разработчик и инженер Nvidia, предложил удалить это правило. Он сослался на консенсус, достигнутый на Maintainers Summit, так что это был скорее не бунт, а формальное оформление решения, уже принятого на встрече.
Затем Джефф Лейтон из Red Hat добавил два практических возражения:
- Неполное соблюдение. Правило выполняют не все.
- Бесплатная реклама. По его словам, тег служит бесплатной рекламой для компаний — разработчиков проприетарных LLM.
Первый пункт — больное место любого правила, которое держится на честном слове. Если его соблюдают только добросовестные участники, тег измеряет добросовестность, а не использование ИИ. Во втором есть занятная ирония: мера ради прозрачности незаметно превратила историю коммитов ядра в рекламный щит.
Возражение и ответ Торвальдса
Согласились не все. Лоран Пинчарт, основатель Ideas on Board, выступил против отмены. Он опасался, что без другого способа сообщать об участии ИИ станет сложнее отсеивать небрежно подготовленные или недобросовестные патчи.
Торвальдс ответил резко. Как сообщается, он спросил, неужели Пинчарт не видит, насколько нелепы подобные правила, а затем предложил ему перестать использовать компиляторы при отправке кода, если тот хочет доказать, что понимает его. За этим выпадом есть мысль. Компилятор — тоже инструмент, который превращает человеческий замысел в то, что запускает машина, и никто не помечает коммиты названием компилятора.
Его основная позиция, как её передаёт публикация, состоит в том, что требования должны касаться того, насколько разработчик понимает изменение, а не того, какие инструменты были задействованы. Патч оценивают по тому, способен ли автор объяснить его и взять на себя ответственность за него. Каким способом набирали код, несущественно.
Цитаты здесь взяты из русскоязычной публикации и переведены повторно, поэтому формулировки могут отличаться от оригинальной переписки в списке рассылки. Основная мысль неизменна: Торвальдс хотел, чтобы ответственность возлагали на людей, а не на наборы инструментов.
Торвальдс — не скептик в отношении ИИ
Это не стало неожиданностью, учитывая его более ранние слова на Open Source Summit Europe. Там Торвальдс признался, что теперь ему нравится использовать ИИ для задач, в которых он не силён. В качестве примера он привёл написание кода на Java для собственного проекта гитарной педали.
Он назвал вайбкодинг прекрасным способом получать радость от программирования. Но сделал и оговорку: когда создаёшь что-то реальное и важное, нужно быть осторожным. Это вполне последовательная философия. В хобби можно свободно пользоваться инструментом, а когда от результата зависят другие люди, планку качества нужно поднимать.
Неоднозначный опыт использования ИИ в ядре
Польза уже видна. Инструменты ИИ находят в ядре реальные уязвимости, в том числе в драйверах, к которым никто не прикасался 20 лет. Оказывается, под двадцатилетним слоем пыли багам весьма уютно.
Обратную сторону ощущают мейнтейнеры. По данным публикации, три четверти докладов на саммите были посвящены тому, как снизить стресс, который создаёт для них ИИ. Разработчики шутят, что боты теперь разговаривают с ботами, и это смешно — пока не вспомнишь, что читать ветку обсуждения всё равно приходится человеку-мейнтейнеру.
В итоге ситуация с ядром одновременно и улучшается, и становится более изматывающей. Инструменты находят старые изъяны, и те же инструменты порождают больше материала, который людям приходится проверять.
Другие проекты идут в противоположную сторону
Более мягкий подход разработчиков ядра разделяют не все. Два других проекта с открытым исходным кодом двинулись в противоположном направлении:
| Проект | Позиция |
|---|---|
| System76 | Запретила контент, созданный ИИ, в своей среде COSMIC |
| NetBSD | С 2024 года запрещает код, написанный ИИ |
Похоже, запрет NetBSD не повредил отношениям проекта с сообществом. Проект собрал $120,000 пожертвований при цели в $50,000. Твёрдое «нет» — как минимум понятный сигнал, вокруг которого можно сплотиться.
Что на самом деле меняется
На практике в ядре ритуал раскрытия информации заменяют принципом ответственности. Тега больше нет, но требование, чтобы отправитель понимал свой патч, остаётся — и именно это важно Торвальдсу.
Опасения Пинчарта не развеяли — их просто отклонили. Без метки ревьюерам придётся по старинке выявлять некачественные патчи: читать их и задавать вопросы. Это добавит работы людям, которые, судя по сообщениям, и так перегружены потоком материалов, сгенерированных ИИ.
При этом резонно спросить, работало ли вообще правило, которому следовали только честные участники. Наблюдение Лейтона говорит о том, что нет. Его отмена хотя бы избавляет от притворства.
В публикации не говорится, планируется ли какой-либо механизм на замену, так что этот вопрос остаётся открытым. Пока ответ ядра на эпоху кода, написанного с помощью ИИ, тот же, что и на любой прежний инструмент: покажите, что понимаете отправленный вами код.