У тебя там не открытый, а закрытый исходный код: чему нас учит история с Linux
Больше 30 лет Linux воспринимается как синоним опенсорса — программного обеспечения с открытым исходным кодом. Лицензия таких продуктов, как правило, позволяет свободно использовать и модифицировать их, а также распространять и продавать собственные версии. Linux — самый известный продукт с открытым исходным кодом. Именно на нем основаны российские операционные системы, набравшие популярность на волне импортозамещения.
Linux разрабатывает большое международное сообщество программистов — несколько тысяч сотрудников коммерческих компаний и независимых энтузиастов. Регулярно они предлагают в систему свои доработки — патчи. Особый круг разработчиков — мейнтейнеры — рассматривают патчи и принимают изменения в исходный код ядра системы. Такая модель считалась каноном устройства сообщества вокруг продукта с открытым исходным кодом. Но все изменилось: недавно россиян исключили из числа мейнтейнеров системы. Решение поддержал отец-основатель Linux Линус Торвальдс.
Ситуация некрасивая и неприличная. Прежде всего из-за нее страдает международное сообщество разработчиков и пользователей Linux. Это элемент критической инфраструктуры человечества. Лет 10–15 назад можно было сказать, что скандал в интересах Microsoft, но сейчас эта компания уже является одним из основных разработчиков и потребителей Linux. Особенно печально, что лично Линус Торвальдс в грубой форме высказался против российских разработчиков и тех, кто их поддерживает, нарушив принятый в сообществе кодекс поведения. Он оскорбил даже своих американских и китайских коллег, обозвав их российскими платными троллями.
Что произошло
Перестали быть мэйнтейнерами 11 российских разработчиков. Каждый из них отвечает за один или несколько компонентов ядра. Всего мэйнтейнеров около 1800, компонентов ядра на тысячу больше. Сколько из них россиян, сказать трудно, но точно не больше 60, причем часть из них работает в IBM, Intel и т.п.
Какие из этого следуют выводы: по российскому присутствию в мэйнтейнерах нанесен заметный удар. Но это присутствие было и так не очень велико. Поэтому гораздо больший удар нанесен доверию в сообществе Linux.
Будут ли дальше приниматься российские патчи? Будут. Как правило, и ранее они принимались (или не принимались) в основном иностранными мэйнтейнерами, которых подавляющее большинство.
Помешает ли это использованию Linux в России? Нет. Одно дело — изменить правила работы и персоналии в сообществе, совсем другое — отказаться от свободной лицензии, в которой любая дискриминация в использовании абсолютно запрещена. Мы и дальше будем использовать Linux и разрабатывать его. Возможно, увеличится количество российских версий продукта — форков и их удаленность от материнского продукта — апстрима. Но принимать к себе изменения из апстрима, пока действует свободная лицензия, никто запретить не может.
Правда, другие продукты в последнее время уходили от свободных лицензий — MongoDB, Terraform, Greenplum и т.п. Можно ли считать это трендом? Конечно, да. Исключать то, что это затронет и Linux, нельзя — но этот шаг слишком труден и маловероятен, поскольку повлияет практически на все IT-компании в мире.
Единственным ответом на такие изменения может быть развитие своей разработки — не только в изоляционистских условиях, но и в мировом сообществе, с тем чтобы вклад и влияние российских разработчиков делали бы их исключение крайне нежелательным или даже критически неприемлемым для иностранных коллег.
Подмена понятий
В недавней ситуации с Linux есть проблема, которую мало кто осознает. Россиян исключили из числа мейнтейнеров ядра операционной системы. В большинстве случаев под ОС подразумевают именно ядро системы и базовые утилиты — сервисные программы, дающие доступ к функциям ядра. У нас же, в России, вслед за Red Hat операционной системой называется гораздо более масштабная вещь — дистрибутив Linux, т.е. составное произведение, включающее не только ядро, но и тонны разнообразного софта, систему его доставки и установки.
Разработчик дистрибутива — это скорее составитель, чем автор. Это тоже нужное и достойное дело! Но оно отличается от разработки самого кода. К компаниям-составителям должны предъявляться не такие требования, как к разработчикам, поскольку они разрабатывают ничтожно малый процент распространяемого ими кода и не могут заменить его разработчиков. В том числе не могут нести ответственность за код.
От того, что пакет включили в состав российского дистрибутива Linux или проверили в России по некоторой методологии, пакет не становится российским, а становится лишь «проверенным в России по методологии Х». Возможно, стоит отказаться даже от термина «российская ОС», честно разделив его на «российский дистрибутив ОС» и «ОС с российским ядром». Нынешняя же система порождает обман и приписки.
Российских дистрибутивов Linux много — несколько десятков только в реестре. В мире их несколько тысяч. Операционных систем меньше. Примерно в тысячу раз.
Что нам стоит свой Linux построить
Разработка операционной системы критически важна для технологического суверенитета России. И именно разработку ядра ОС, как и разработку других критических системных компонент, должно стимулировать и поддерживать государство.
Однако создать ОС с нуля — крайне сложная задача. Тысячи компетентных разработчиков развивают Linux больше 30 лет. Сейчас в его ядре свыше 30 млн строк кода. Проделать ту же работу заново займет не один десяток лет, а результат к тому времени будет отставать от возможностей оригинала.
На днях Минцифры предложило организовать с дружественными странами сообщество, альтернативное сообществу Linux. У этой инициативы прекрасная цель, однако опыт показывает, что искусственно, «из-под палки» созданные комьюнити обычно долго не живут. Думаю, инициатива Минцифры означает намерение создать организацию, альтернативную Linux Foundation, легитимную в БРИКС, желательно с международным статусом. Она могла бы организовывать совместную работу над отдельными фичами ядра Linux.
Кооперация нескольких государств определенно прибавит проекту веса и авторитета. Но чтобы это сообщество заработало, России придется в нем быть лидером — донором программного кода и экспертизы в его разработке. Однако есть важное препятствие: в России не так много разработчиков уровня, достаточного, чтобы полностью взять на себя ответственность за ядро операционной системы. Поэтому важно растить свои кадры. Это задача на дальнюю перспективу, но начинать решать ее нужно сегодня.
Строить российский IT-суверенитет без опоры на открытые международные проекты и в изоляционистских условиях — долго, дорого и заведомо неэффективно. Выбирая путь кооперации и опенсорса, нужно отказываться от потребительского мышления и начать активно отдавать свой собственный код, добиваться лидирующих позиций в сообществах разработчиков, становиться новым ядром компетенций в разрабатываемом ПО. Теперь это важно не только в силу принципов и идеологии открытого кода, но и по куда более будничной причине — исключить случаи, подобные этой некрасивой истории с Linux.
Мнение редакции может не совпадать с точкой зрения автора