Разговор с одним из основателей «Базальт СПО» Алексеем Смирновым о свободном ПО и взаимодействии в комьюнити
В конце сентября и начале октября 2023 года информационная служба Хабра посетила 19 конференцию разработчиков свободного ПО. Это профессиональная конференция для разработчиков, где они обмениваются мнениями. Иногда там возникают споры или оживлённые дискуссии. Обзор мероприятия будет позже, а пока — вот интервью с одним из организаторов этой конференции, председателем совета директоров «Базальт СПО», членом правления «Руссофта» и АРПП «Софт» Алексеем Смирновым.
Алексей Владимирович, как давно вы занимаетесь разработкой программного обеспечения?
В последние годы я разработкой программного обеспечения, к сожалению, уже не занимаюсь, ушёл в административные вопросы. Начал я с 1979 года с лаборатории математического моделирования психических процессов, где занимался системами распознавания образов, системами автоматического поиска доказательств и другими, работал с промышленностью. В 90-е мы увлеклись Linux, и к 2001 году это привело к созданию фирмы, которая уже профессионально занимается разработкой операционных систем (ОС) и сопутствующим ПО.
Почему при создании первых версий вашей ОС был выбран Mandrake Linux?
Перед тем как мы начали делать свой дистрибутив, у нас были довольно тесные контакты и со SUSE, и с Debian, и Mandrake Linux. Ну как‑то с Mandrake Linux сложилось больше. Во‑первых, у нас было разрешение от Дюваля на издание Mandrake Linux Russian Edition и его распространение не только в России, но во всём мире. Это была не просто локализация ОС, в Mandrake Linux Russian Edition мы добавляли, что сами хотели. И даже если поискать, у меня где‑то лежит письмо Жиля Дюваля, где он радостно говорит, что у него теперь стало уже 3 сотрудника.
Во‑вторых, мы отправляли свои патчи русской локализации в Mandrake, но и не только в эти дистрибутивы. Потом у нас возникло понимание, что на продвижение патчей в чужие дистрибутивы уходит больше времени, чем на саму разработку. Поэтому мы решили начать создавать свою инфраструктуру.
Если углубиться в историю, сам Mandrake Linux вырос из Red Hat linux. Тогда был спор о корректности использования KDE‑оболочки в Mandrake. Она оказалась удобной, и мы пошли по этому пути, выпустили Linux Mandrake Russian Edition. После этого мы уже перешли на выпуск дистрибутива ALT Linux. Ну, какое‑то время у нас оставался загрузчик от Mandrake Linux. Но к 2003 году мы создали свой загрузчик, пакетная система у нас изначально была своя. Мы используем RPM как пакетный менеджер, а поверх него работает apt. В те времена кроме нас такая конфигурация была ещё у Connectiva Linux. Как известно, потом Connectiva и Mandrake слились, и получилась Mandriva.
Изначально вы планировали Mandrake Russian Edition просто как свободное ПО или всё‑таки вы хотели уходить больше в коммерческую сторону распространения?
Я не делаю разницу между свободным и коммерческим ПО. Это ортогональные вещи. Мы работали со SUSE, с Debian и Mandrake, из них две — это коммерческие фирмы. Однако мы приверженцы свободного софта. Те разработки, которые ведёт «Базальт СПО», — под свободными лицензиями. Да, дистрибутивы, как составное произведение, — это не свободный продукт, но все компоненты свободные. Например, мы реализовали работу с групповыми политиками для Linux под свободной лицензией, и коллеги ими свободно пользуются.
Насколько было сложно создавать ОС в конце 90-х‑начале 2000-х?
Сейчас, я бы, наверное, побоялся. А тогда действовали отчаянно, и был большой энтузиазм: не все потенциальные проблемы видели и решали их по мере поступления. Однако я считаю, что выбор не дорабатывать какой‑то из имеющихся дистрибутивов, а создавать свой был правильным. Просто вот пример: половина российских официальных дебиан‑девелоперов были наши сотрудники.
Именно тогда возникло понимание, что важны не столько дистрибутивы, сколько инфраструктура разработки. Я специально не использую слово «репозитории», это слово затаскали, поэтому говорю именно «инфраструктура разработки». Тем более, что она представляет собой не только склад пакетов. Это пакетная обвязка, инфраструктурная обвязка, это более важные вещи, чем собственные дистрибутивы.
Вы провели 19 конференцию разработчиков свободного ПО. Эти конференции служат для укрепления сложившегося комьюнити разработчиков свободного ПО или направлены на начинающих? Показать им вектор, куда двигаться? И раз это 19 конференция, значит 19 лет она существует в одном и том же виде, или же как‑то эволюционировала?
Начиналось всё неформально: был Linux‑фест, в рамках которого разработчики собирались на берегу реки Протвы в палаточках и хорошо проводили время. Потом решили организовать круглые столы. Было очень забавно, потому что я отправлял официальные письма в некоторые организации с приглашением определённому сотруднику принять участие в круглом столе в рамках Linux‑фест, который проходит в Калужской области. Люди приезжали в командировку и оказывались на совершенно неформальном мероприятии. Даже есть фотографии, где я в плавках на пеньке ставлю печать на командировочном удостоверении. Мы честно проводили круглые столы. Правда, они были в таком формате — народ забирался в Протву и передавал жбан пива по кругу и обсуждал заявленную тему. Потом стало понятно, что обсуждение профессиональное, и уже недостаточно просто сидеть с пивом в речке. Мы сделали в Калужской области мероприятие, приуроченное к Linux‑фест, чтобы разделить отдых и работу. И так мы отпочковались от Linux‑феста, он кстати, продолжает проходить.
Я считаю, что наше мероприятие — это конференция профессиональных разработчиков. Да, молодёжь тут есть, на конференции было несколько хороших студенческих выступлений. И руководители считают важным молодежи показать комьюнити и людей в отрасли, почувствовать себя частью этого сообщества. Такие миссионерские настроения присутствуют, но всё‑таки это прежде всего профессиональная конференция. Специалисты собираются друг друга послушать, как ведётся разработка, посмотреть, что появилось нового, понять, что вообще происходит в отрасли.
Изменилась ли ситуация в 2022 году в худшую сторону?
Ну я бы не сказал, что за последние 2 года для разработчиков свободного ПО ситуация как‑то серьёзно изменилась. Мы участвуем в большом количестве международных проектов, и мы не ощутили ущемлений в наш адрес, потому что участие в свободном проекте — это всегда участие конкретного профессионала, а не фирмы. Если профессионал перейдёт работать в другую организацию, он всё равно останется в этом проекте. Человека оценивают по его вкладу в проект.
Если сравнивать, кому сложнее было стать разработчиком свободного ПО — программисту из конца 90-х годов или из 2023 года?
Вопрос интересный. Я вот даже не вижу однозначного ответа. В конце 90-х были другие сложности. Наверное, более идейным участникам разработки свободного софта было легче войти в ключевые проекты. Было задействовано меньше людей, и любой толковый специалист мог легко войти в крупный проект и занять какую‑то позицию. Однако организаций, которые ему платили зарплату, было мало.
В 2023 году в России профессионал, занимающийся свободным софтом, нарасхват, за ним стоит очередь работодателей, которым он интересен. Свободные проекты используются практически всеми разработчиками, и человек, который глубоко погружен в проект, представляет значительную ценность. Но в 2023 году вхождение в международные проекты стало сложнее — больше людей задействовано. Поэтому нужно больше усилий и времени, чтобы начали читать твои сообщения и принимать твои патчи.
Дискуссия на конференции между разработчиками и представителями АНО «Открытый код» натолкнула меня на мысль, что между государством и комьюнити нужно какое‑то объединение лидеров общественного мнения (ЛОМов), чтобы получился нормальный диалог между разработчиками свободного ПО и государством. Вы работаете и с государством, и с комьюнити, как вы считаете, это поможет?
Нужно ли создание такого объединения? И кому это нужно? Вот когда создавался АРПП «Отечественный софт», было обсуждение, каких моделей мы придерживаемся, как быть со свободным софтом. В результате пришли к внутренней договорённости, что мы говорим об отечественных продуктовых разработчиках как о потенциальных членах ассоциации, а какая у них бизнес‑модель — это их дело. Работа в свободном софте — это другая бизнес‑модель. На мой взгляд, государству нужны программные продукты, нужна отрасль, а в какой бизнес‑модели действуют разработчики или организации — это их дело.
У государства было много попыток как‑то соотнестись со свободным софтом. В 2007 году была принята Концепция разработки и использования свободного ПО в России на коллегии Минсвязи. Были и решения Совета безопасности на этот счёт, распоряжение Правительства РФ. Вылилось это в то, что через 2,5 года из этой концепции вырезали приложение под названием «План мероприятий». Отвели всего один день на его обновление и приняли в виде Распоряжения Правительства № 2299-р о переходе на свободное программное обеспечение. Это постановление не заработало и никому ничего не дало. Были другие заходы.
Я бы сказал, что государство сейчас в отношении IT предприняло важные шаги, например налоговые льготы, независимо от того, какая лицензионная модель используется. Это помогает отрасли нормально развиваться. Есть деньги, которые не изымаются и вкладываются в развитие. И моё мнение — лучшее враг хорошего. Потому что дальше возникли ИЦК, ЦКР, то есть отраслевой софт, где нужна поддержка государства, хотя нефтегаз или банки отказались от государственных денег, сказали, мол мы деньги найдём сами.
А что такое ЦКР? Это Центр Компетенции общесистемного софта. Я председатель ЦКР операционной системы. Но не понимаю, для чего они нужны, потому что это область, которую не надо регулировать. Если хотите поддерживать, поддерживайте заказчиков, а мы хотим деньги зарабатывать на рынке и сами думать, как их тратить.
Вопрос «токсичности» денег — это отдельный вопрос. Например, государственное финансирование очень плохо соотносится с моделями развития свободного софта и, может быть, не надо соотносить.
Что касается механизма коммуникации: есть профильные ассоциации, АРПП «Отечественный сорт», «Руссофт». В этих объединениях участвует много организаций, которые в большей или меньшей степени работают в рамках свободного софта и решают его проблемы через ассоциации. Причём это объединения, созданные не сверху (по указанию государства), а снизу — самими разработчиками и организациями. В своё время существовала РАСПО (Российская ассоциация разработчиков свободного ПО), которая была создана в кабинете одного из министров связи Щёголева. Он собрал представителей разных разработчиков и сказал: вот, создаём ассоциацию для коммуникации государства с вами. В итоге всё развалилось.
Определённая коммуникация у IT‑отрасли с государством есть, в рамках отрасли свободный софт чувствует себя достаточно хорошо. Поэтому дополнительных объединений создавать, на мой взгляд, не надо.
Из того, что можно полезного сделать государству, я бы назвал две вещи. Первое — чтобы все разработки, которые делаются на бюджетные деньги, (кроме, тех, что с грифом секретности) в обязательном порядке публиковались на условиях свободной лицензии. Это будет отличный вклад государства в свободный софт.
И второе — если государство где‑то требует электронного взаимодействия, опубликовать спецификации и заказать референсную реализацию, которая распространяется под свободной лицензией, чтобы все могли улучшать этот софт или использовать код из него. Все довольны.
Да, и есть ряд советников штатных и внештатных, которые уважаемы в сообществе и могут напрямую обращаться в ведомства. Этого точно уже достаточно.
От комьюнити разработчиков свободного ПО есть критика в адрес государства, когда оно пытается как‑то стандартизировать свободное ПО для различных целей — от использования в ведомствах до поддержки разработчиков. При этом если посмотреть, какой контроль осуществляют частные корпорации, которые влияют на площадки по распространению свободного ПО, контролируют его лицензии, то критики от комьюнити меньше. Скажите, как по вашему мнению, с чем связан такой негатив в отношении государства и почему меньше негатива в сторону частных компаний?
Мне кажется, из‑за того, что решения частных компаний не носят нормативного характера. Приведу пример: был Open Office, он принадлежит Oracle. Возникли разногласия между разработчиками, занимающимися этим ПО и руководством Oracle по техническим вопросам. Разработчики форкнули проект и появился LibreOffice, развивающийся независимо от Oracle. И этот проект сильно обогнал Open Office. Все пошли своим путём.
Да, корпорация может вложить деньги, нанять разработчиков, развивающих проект, но всегда есть возможность уйти в независимый проект, например, за счёт средств других корпораций. Форк — это всегда плохо, значит, кто‑то с кем‑то не договорился. Для корпораций, особенно контролирующих проект, форк — это тоже зло и потеря ресурсов.
Правда, последние события показали, что надо смотреть не только на лицензию, но и на то, кто является правообладателем исходников. Потому что лицензию, даже свободную, корпорация, может поменять или ввести ограничения. Однако если проект принадлежит комьюнити, изменение лицензии практически невозможно.
Возможно ли, что некоторые частные компании, открывая исходный код своих решений и отдавая на развитие комьюнити, предлагают такого «троянского» коня. Комьюнити разовьёт это решение, а потом компания просто заберёт себе все наработки? Насколько вообще такая история возможна? И как защититься разработчикам‑энтузиастам?
Если говорить про разработчиков свободных программ — это же не студенты, которые по ночам кодят, и не сотрудники корпораций, которые тайком или в праздничные дни чего‑то программируют.
Разработчики свободного ПО — это штатные сотрудники солидных организаций в большинстве своём, участвующие в проекте. Этих сотрудников не надо хантить, сама корпорация вкладывается в проект, не напрямую финансами, а ресурсами. Ну, а про особенности правообладания я сказал в предыдущем вопросе.
Поговорим немного о новом понятии «токсичности». Скажите, по вашему мнению, нет ли сейчас такого, что устоявшееся комьюнити более «токсично», чем, например, 15 лет назад? Это не только про отношение к государству и частным компаниям, но друг к другу. Если да, то как исправить ситуацию, чтобы начинающие разработчики свободного ПО получали помощь, а не язвительные комментарии и негативную оценку?
Сейчас какой‑то токсичности или её роста я не заметил. Да, выяснения отношений, разборки всегда были. Достаточно вспомнить Free Software и Open Source. Тогда OSI (Open Source Initiative) был обвинён в нарушении идеологии свободного ПО. Или те же форки — это всё время происходило. К примеру, обсуждение, можно ли брать KDE или библиотеку QT, которую разрешено свободно использовать для свободных проектов, а для остальных она коммерческая. И так как форки происходили и происходят — это индикатор, что сообщество не смогло договориться.
Требования к новичкам всегда были, в каждом проекте свои, но мордовать новичков никто не хочет. Правда, предполагается, что новичок почитал, посмотрел, разобрался и начал задавать вопросы, а не просто пришёл и заявил: «я люблю свободный софт. Расскажите мне, пожалуйста, все, чего тут у вас делается». У людей свои задачи, эти задачи предполагают определённый уровень квалификации, кто‑то персонально готов возиться с новичками, а кто‑то нет, и это нормально. На нашей прошедшей конференции было много молодых ребят, входящих в разные проекты. И они не получили какой‑то токсичности или негатива от комьюнити. Наоборот, только позитивный опыт.
Что бы вы посоветовали людям, которые всё‑таки хотят запустить свою операционную систему?
Сначала они должны понять, чем их система будет принципиально лучше уже существующих. Ну, просто когда делаешь что‑то свое, надо понимать, какую нерешённую задачу ты хочешь решить, и сейчас это придумать достаточно сложно. Рынок ОС уже очень конкурентный, как российский, так и мировой. По крайней мере, я бы не советовал начинать с операционной системы.
Зарубежные компании, разрабатывающие ОС, ушли из РФ, вам это дало толчок в развитии бизнеса или наоборот дало откат?
Самый тяжёлый период был в начале 2000-х, в значительной степени потому что конкурировали даже не с ПО Microsoft, а с их пиратскими копиями. Это значительно тяжелее. И когда ужесточили лицензирование, нам полегчало. Клиенты уже начали смотреть, что надо покупать, за что деньги платят.
Возникли такие проблемы. Пользователи привыкли к определённому уровню зрелости системы. Заказчики сидели на разных корпоративных системах: на Windows, на RedHat и так далее. Крупный заказчик хочет получить систему с сопоставимыми возможностями. Поэтому требования предъявляются сейчас более жесткие, чем 15–20 лет назад. В то время заказчики готовы были терпеть некие неудобства или что‑то руками делать. Сейчас не все организации готовы жертвовать своим комфортом, несмотря даже на давление регулятора, рынка, уход вендоров; они говорят: ребята, сделайте нам как было у ушедших компаний. Например, один из ИЦК (индустриальный центр компетенций) на вопрос: планируете ли вы свои разработки вести на отечественных ОС? ответили: мы будем ориентироваться на отечественные ОС, когда у них будут все возможности Windows, macOS и Red Hat в одном флаконе. Такой анекдотичный ответ. Однако заказчики хотят, чтобы было не хуже, чем у перечисленных систем. В этом плане клиенты стали более требовательным к ОС, и это заставляет ускорять и усложнять разработку. Это бодрит, сильно бодрит.
Когда я формировал вопросы, думал, что будет обычное бизнес‑интервью с небольшим уклоном в ПО. Однако после одной из дискуссий, где Алексей Владимирович принимал непосредственное участие, интервью претерпело очень сильные изменения. Мне кажется, получилось приоткрыть дверь в сферу свободного ПО и того, как там происходит взаимодействие. Сам не без интереса переслушал и перечитал некоторые вещи, о которых имел представление, но думал в другом ключе.