Cайт программиста Ruby, веб-разработчика Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Восстание машин в Void Linux. Искусственный интеллект оставил сиротами 113 пакетов

В Void Linux спор о нейросетях за считаные часы превратился в проблему сопровождения крупных пакетов. Контрибьютор Андреа Бранкалеони после замечания из-за сгенерированного искусственным интеллектом (ИИ) комментария отказался поддерживать 113 пакетов, среди которых Kubernetes, компоненты Docker, Terraform, Vagrant, virt-manager и Alacritty. 13 сентября изменения попали в основной репозиторий Void Linux, а у всех затронутых пакетов вместо имени Бранкалеони появился статус Orphaned.

Поводом стал не сгенерированный код и даже не описание коммита. В начале сентября Бранкалеони предложил обновить Go в Void Linux с версии 1.26.5 до 1.27.1, а позднее опубликовал в обсуждении подробный разбор последствий обновления. Контрибьютор перечислил семь пакетов, сборка которых ломалась на Go 1.27.1, отделил их от 11 ранее существовавших проблем и разобрал технические причины несовместимости.

Разбор выглядел вполне предметно. Среди причин фигурировали удалённый из Go 1.27 символ x/net/http2.TrailerPrefix, ужесточённые ограничения для //go:linkname и изменения внутренних механизмов среды выполнения, на которые опирались некоторые зависимости. Обсуждение изменило направление только после вопроса другого участника проекта о том, каким способом Бранкалеони подготовил сравнение. Бранкалеони ответил прямо, что использовал связку GLM-5.3-Flash и OpenCode, иногда с локальным запуском модели. Проблема заключалась не в качестве самого технического анализа. Void Linux придерживается значительно более жёстких правил ИИ, чем многие другие проекты с открытым исходным кодом.

Политика Void Linux допускает генеративный ИИ для исследований и обучения, но содержимое вклада должно исходить от самого автора. Требование распространяется не только на код, но и на документацию, отчёты об ошибках, описания pull request и комментарии в сообществах проекта. Любое применение ИИ также требуется раскрывать. Отдельное исключение предусмотрено для машинного перевода между языками.

Участник Void Linux с ником classabbyamp напомнил Бранкалеони о правилах и сообщил, что не собирается разбирать «стену текста», созданную языковой моделью. Бранкалеони возразил, что понимает сгенерированный материал и отвечает за результат. Ответ проблему не решил. По словам classabbyamp, правила запрещают именно машинное авторство текста независимо от того, проверил ли человек результат.

После короткой переписки Бранкалеони поставил реакцию ???? и открыл pull request с названием «Disown maintained packages». Изменение затронуло ровно 113 файлов. В каждом шаблоне разработчик заменил строку maintainer="Andrea Brancaleoni ..." на maintainer="Orphaned <orphan@voidlinux.org>".

Список получился далеко не декоративным. Без закреплённого сопровождающего остались Kubernetes, etcd, flannel, docker-cli, docker-gc, docker-gen, Moby, Terraform, Terragrunt, Packer, Vagrant, rancher-compose, Alacritty, Clementine, virt-manager, fscrypt, libguestfs, thermald, несколько Python-пакетов и десятки других компонентов. Некоторые программы относятся к инфраструктуре, виртуализации и контейнерам, где своевременные обновления особенно чувствительны.

Статус Orphaned не означает, что Void Linux удалил пакеты или что программы немедленно перестанут получать обновления. Пакеты остаются в репозитории и продолжают устанавливаться, но у проекта больше нет конкретного человека, который взял на себя их регулярное сопровождение. Правила Void Linux позволяют другому опытному контрибьютору взять пакет на себя. Пока добровольцы не найдутся, обновления, исправления сборки и реакция на проблемы ложатся на остальных участников проекта.

Самого Бранкалеони из Void Linux никто не исключал, а опубликованные изменения не были признаны ошибочными из-за ИИ. Массовый перевод пакетов в Orphaned стал решением самого разработчика после разногласия по поводу авторства текста. Поэтому история скорее показывает цену конфликта между правилами проекта и рабочими привычками опытного добровольца, чем технический провал нейросети.

Единого подхода к ИИ в мире Linux пока нет. Всего за две недели до конфликта участники Debian выбрали другой подход. Debian не стал ни запрещать, ни рекомендовать генеративный ИИ, оставив ответственность за качество, безопасность и юридическую чистоту результата за человеком и предложив раскрывать применение ИИ без обязательного требования. Void Linux проводит границу заметно жёстче и требует человеческого авторства самого материала.

История с 113 пакетами наглядно превращает спор об ИИ из философского в практический. Для небольшого проекта дефицит времени опытных сопровождающих может оказаться болезненнее неудачного комментария, а для разработчиков вопрос всё чаще звучит не как «можно ли пользоваться нейросетью», а где именно заканчивается помощь инструмента и начинается авторство машины.

SecurityLab