На конференции Open Source Summit Europe создатель Linux Линус Торвальдс высказался по поводу ИИ. Однако он оговорился, что инструмент становится полезным, если использовать его именно как инструмент.
По словам Торвальдса, можно применять ИИ, чтобы сделать работу над любительским проектом более увлекательной, но совсем другое — ответственно использовать его при разработке ядра Linux, где сгенерированные ИИ патчи и отчеты об ошибках могут перегрузить мейнтейнеров. «Я считаю, что при работе над чем‑то реальным и важным нужно проявлять большую осторожность в использовании ИИ», — отметил разработчик. Он пояснил, что не всегда так относился к программированию с помощью ИИ: «Раньше я думал, что это не слишком эффективно, но теперь пришел к выводу, что мне действительно нравится использовать ИИ».
«Справедливости ради, — продолжил он, — я не так уж много занимаюсь непосредственным написанием кода ядра. Я — мейнтейнер. Ядро Linux — это проект, где основную работу выполняют другие люди, а я выступаю в роли координатора, собирающего результаты воедино. Но я по‑прежнему получаю огромное удовольствие от программирования. Я считаю ИИ замечательным инструментом, если использовать его правильно и относиться именно как к инструменту; по‑моему, он делает процесс программирования гораздо более приятным».
Торвальдс вспомнил: «Я начал программировать примерно в 1981 году. Тогда компьютеры были гораздо проще, можно было понять, что именно они делают; да и программы, с которыми ты сравнивал свой код, тоже были куда проще».
«Сегодня ситуация совсем иная. Планка в разработке программного обеспечения поднялась так высоко, что собственные скромные усилия кажутся незначительными — ведь мы привыкли к отполированным профессиональным программам», — заключил он.
Отдельно Торвальдс высказался относительно вайб‑кодинга: «Многие посмеиваются над „vibe coding“, но я считаю, что это прекрасный способ получать удовольствие от процесса. Это даёт ощущение, что ты занимаешься чем‑то действительно важным. Новичку такой подход позволяет делать вещи, которые в противном случае давались бы с огромным трудом». Сам разработчик применяет этот подход тогда, когда ему не даются определённые задачи. Так, он смог написать и внести изменения в драйвер графического ядра Intel Xe.
Также Торвальдс заметил, что ИИ может быть полезен для поиска и исправления ошибок в ядре Linux. Так, Sashiko — система для проверки кода ядра Linux, использующая автономных ИИ‑агентов — даёт результаты, которые теперь публикуются в списке рассылки разработчиков ядра Linux (LKML). Как пояснил разработчик, некоторые сопровождающие требуют проверки запросов со стороны ИИ, и вполне вероятно, что со временем эта практика станет обязательной для всех.
Инструменты на базе ИИ способны выявлять реальные проблемы безопасности. Они также могут обнаруживать недочеты в старых, уже не используемых драйверах, которые оставались незамеченными годами. Торвальдс видит ценность в исправлениях, полученных таким образом, но признаёт и сопутствующие трудности: «Думаю, это улучшает нашу кодовую базу... Хотя это также создаёт нагрузку на сопровождающих, что становится проблемой».
Поскольку недавно отмечалось 35-летие Linux, Торвальдс также рассказал о том, как с годами менялся процесс разработки системы. На начальном этапе у Linux практически не было никакой инфраструктуры разработки. Вместо этого он отслеживал изменения с помощью патчей в архивах (tarball) и регулярно распространял обновлённый исходный код.
«Я каждый день создавал патчи для внутреннего использования и выпускал...»
«...как минимум раз в неделю, — вспоминал он. — И для небольшого проекта это работало на удивление хорошо».
Это продолжалось до 2002 года, когда Linux превратился в гораздо более масштабный проект.
Нежелание Торвальдса использовать существующие инструменты контроля версий объяснялось не просто упрямством. Он хотел, чтобы разработчики трудились независимо, в собственных локальных средах. «Я был твердо убеждён, что у каждого должна быть своя локальная рабочая среда», — пояснил основатель Linux.
Система контроля версий BitKeeper обеспечила такое улучшение, хотя её проприетарная лицензия вызвала раскол в сообществе разработчиков ядра. Некоторые из них отказались ею пользоваться. Торвальдс же обнаружил, что распределённая система контроля версий значительно упрощает слияние наработок из различных подсистем, таких как сетевой стек и архитектура ARM.
Затем, в 2005 году, спор вокруг лицензии BitKeeper лишил его инструмента, к которому он уже привык. Попробовав в деле распределённую систему контроля версий, Торвальдс больше не хотел возвращаться к прежним методам. Его ответом стал Git.
На создание первой рабочей версии у Торвальдса ушло 11 дней. Поначалу Git не пользовался всеобщей популярностью. Разработчикам, привыкшим к CVS, он казался непривычным, а в первых версиях были свои шероховатости.
Успех, которого в итоге добился Git, до сих пор удивляет самого Торвальдса. Сегодня, согласно опросу разработчиков Stack Overflow 2022 года, он стал де‑факто стандартом контроля версий: его используют почти 94% респондентов и почти 97% профессиональных разработчиков. Торвальдс всего лишь хотел получить инструмент для Linux, а не перекраивать весь процесс разработки программного обеспечения.
Примерно через полгода он передал сопровождение проекта другим. Торвальдс исходил из того, что последующие десятилетия развития — это уже заслуга других людей.
Процесс выпуска релизов Linux претерпел ещё одно серьёзное изменение: отказ от разделения на долгоживущие ветки (стабильную и ветку разработки) в пользу частых релизов, окна слияния и выпуска кандидатов в релиз (release candidates).
В рамках старой модели изменения накапливались в ветке разработки, а дистрибьюторы самостоятельно переносили (бэкпортировали) нужные исправления в стабильные версии ядра. Релизы, которые должны были выходить ежегодно, порой затягивались на годы, что затрудняло планирование. Торвальдс предложил радикально сократить цикл разработки. Реакция была сдержанной. «Люди смотрели на меня так, словно у меня выросла третья голова».
Его первоначальный план уложиться в пять недель был намеренно амбициозным. В итоге процесс стабилизировался в привычном ритме: от девяти до десяти недель. Результатом стала модель разработки, которую Торвальдс по‑прежнему считает исключительно эффективной: «Вот уже 20 лет у нас действует по‑настоящему надёжная и рабочая модель».
Он также отверг идею о том, что развитие Linux должно строиться вокруг громких релизов с масштабными нововведениями: «Я твердо убеждён в эффективности постепенных, небольших изменений, которые со временем перерастают в крупные функции».
Летом Торвальдс написал пост рассылки, подтверждающий позицию разработчиков ядра Linux о том, что они не против ИИ, и отвечающий на критику некоторых мейнтейнеров, выступающих против использования LLM в проекте. Он заявил, что ядро Linux не является «анти‑ИИ» и что ИИ/LLM следует рассматривать лишь как инструмент, помогающий разработчикам. При этом разработка не обязывает использовать такие инструменты, но сам Торвальдс выступает против тех, кто критикует подобные решения.

5 часов назад
5





English (US) ·
Russian (RU) ·