История опенсорса в России
В 1982 году в СССР появилась Диалоговая единая мобильная операционная система (ДЕМОС). Советские инженеры создали ее на основе зарубежной ОС UNIX в Институте атомной энергии имени И.В. Курчатова, доработав исходники, полученные от западных коллег. Описание и внешний вид ДЕМОСКроме Курчатовского института ДЕМОС использовал Минавтопром, где ее называли МНОС, то есть машинно-независимая операционная система. Позже две команды объединились. легко найти в интернете. Там же доступен дистрибутив, который можно скачать и попробовать запустить, например, на эмуляторе SIMHSIMH — History Simulator, эмулятор для разных ОС. Эмулятор — это программа, которая позволяет имитировать устройства или работу программ на других устройствах..
Операционная система ДЕМОС не единственная в своем роде. В СССР было много подобных разработок, которые создавались руками программистов-энтузиастов. У разработчиков и пользователей уже тогда начала складываться симпатия к программному обеспечению с открытым кодом — и впоследствии интерес к опенсорсу только усиливался. Рассказываем, с чего начинался и каких результатов достиг опенсорс в России.
Этим материалом мы продолжаем проект «Исходный код», посвященный опенсорсу: его истории, философии, ключевым принципам, самым известным и важным разработкам, а также законодательству и лицензированию. Проект подготовлен при поддержке высокопроизводительного и масштабируемого российского веб-сервера Angie.
Развитие опенсорса в России можно условно разделить на три периода:
В 1973 году исследователи Bell Labs представили миру ОС UNIX. На тот момент пользователями и разработчиками ПО, как правило, были академики и ученые, которые работали в корпоративных лабораториях. Благодаря коллаборации внутри академических и экспертных кругов формировалась культура и принципы популяризации опенсорс. Уже в 1974 году в СССР появилось научно-производственное объединение «Центрпрограммсистем» — первая в стране организация программистов, занимающаяся разработкой, поставкой и поддержкой ПО.
К 1970–1980-м годам в СССР сложилась потребность в разработке программ для решения сложных технических задач. На этом фоне интенсивно развивалось ПО, формировались сообщества профессиональных программистов, а у простых пользователей начал появляться доступ к ЭВМ. За первые 20 лет своего существования коллектив ЦПС разработал более 170 автоматических систем управления (АСУ) для различных предприятийПосле перестройки в страну пришли западные вендоры, а ЦПС вынужденно переориентировался на нужды Министерства обороны РФ..
Вычислительные машины, находившиеся в распоряжении СССР, по сути были аналогами западных разработок. Например, БЭСМ-6 — аналог CDC-3600, «Наири-3» — IBM-360, «Минск-32» — GE-400, а «Электроника-100И» — PDP-8. ЭВМ делились на области применения: «Минск-32» был недорогим устройством для построения АСУ, а БЭСМ и «Наири» обрели популярность как машины для инженерных, проектных и научных отделов.
Для каждой модели ЭВМ существовало официальное и неофициальное ПО: первое поставлял завод-изготовитель, а второе возникало как результат работы пользователей. ГосФАП (Государственный фонд алгоритмов и программ) заявлял, что в 1988 году было зарегистрировано 138 тысяч программ для ЭВМ, тогда как необходимый максимум — около 5 тысяч. Многие НИИ и КБ, не договариваясь между собой, разрабатывали софт, который решал одни и те же задачи. В результате программы в исполняемом коде для ЭВМ были несовместимы, а языки высокого уровня отличались друг от друга. Это порождалоАналогичным образом сегодня в опенсорс-сообществе разработчики приносят в ассоциации идеи, обсуждают их вместе с другими и делятся исходным кодом. сообщества и ассоциации пользователей конкретных машин.
В 1980-х годах лицензий в сегодняшнем понимании еще не существовало. Однако были хранилища, откуда специалисты брали код и при необходимости ссылались на источник. Как и сегодня, программисты, разработки которых широко использовались в ассоциации, гордились этим. По их воспоминаниям, в качестве поощрения за создание полезного софта можно было получить повышенный окладВ наше время распространено мнение о том, что активный профиль на Github — большой плюс к трудоустройству.. В профессиональном сообществе опенсорс уже тогда был правилом хорошего тона.
Примерно в то же время на базе Института атомной энергии имени И.В. Курчатова возник кооператив программистов «Интерфейс», позднее переименованный в ДЕМОС. Он стал первым российским интернет-провайдером и поначалу даже подключал бесплатно абонентов, которые входили во внутреннюю сеть научных институтов страны.
Со временем кооператив преобразовался в компанию и существует до сих пор, однако проект ОС Демос закрылся в начале 1990-х годов. На это повлияли не только политические события в стране и появление в широком доступе свободно распространяемой версии UNIX FreeBSD, но и отсутствие экономической целесообразности для компании развивать проект. Однако работа над ДЕМОС позволила не просто вырастить специалистов, но и подготовить в стране базу для развития опенсорса.
В начале 1990-х годов в Россию приехали первые дистрибутивы GNU/Linux на физических носителях. Особую популярность обрели, в частности, Slackware и Red Hat Linux, которые русифицировали вскоре после запуска.
В 1990-е годы слово «свобода» было очень популярным. И многим разработчикам нравились идеи free software, особенно в концепции Столлмана. Соответственно, им был интересен Linux. Кроме всего прочего, концепция free software и лицензии GNU тоже ориентированы именно на сообщество разработчиков. Их привлекала идея обмениваться кодом и, более того, как это предписано лицензиями GNU, публиковать, «освобождать» свои доработки, то есть делать их свободными. Это, с одной стороны, помогает разработчикам, с другой — объединяет их. И главное, это способствует быстрому и плодотворному развитию проекта.
Алексей Новодворский, заместитель генерального директора ООО «Базальт СПО»
В последующие пару лет началась активная русификация иностранных материалов и дистрибутивов. Российские контрибьюторы активно вовлекались в западное опенсорс-сообщество. В некоторых областях — научной, производственной и других, где требовались серверные технологии, — влияние опенсорса стало подавляющим. В 1995 году начались продажи коробочных дистрибутивов через ритейл-сети.
Продажи дистрибутивов начала питерская фирма «Урбан Софт». Ее основатель — Джон Линн Розман. Фирма появилась в 1993 году, но диски он стал выпускать позже, в 1995 году. На них был тогдашний RedHat, тогдашний Debian. Мы к тому времени уже попробовали FreeBSD и купили такой диск, с большим увлечением осваивали. У меня был 486-йИмеется в виду компьютер на базе процессора Intel 80486. А ниже — компьютер с процессором Intel 80386. компьютер. Это было нормально. Я установил у себя RedHat, а мой сын — тогда школьник, у него был компьютер 386-й — установил Debian, который был менее требовательный к ресурсам. В результате мы начали свой проект и дальше стали развивать свои дистрибутивы на основе RPM. А мой сын стал Debian-девелопером. Фирма «Урбан Софт» и конкретно Джон Линн Розман внесли неоценимый вклад.
Алексей Новодворский, заместитель генерального директора ООО «Базальт СПО»
К концу 1990-х Россия не только стала активно пользоваться ПО с открытым исходным кодом, но и в некоторых областях зарекомендовала себя как контрибьютор в мировые проекты, например в PostgreSQL и ядро Linux. Этому сопутствовало распространение широкополосного интернета.
В начале 2000-х тренды задавали корпорации. Однако в глобальной IT-индустрии сформировались два лагеря: фанаты опенсорс и приверженцы проприетарного ПО, по большей части Windows. Поэтому, когда в 2001 году Стив Балмер, СЕО Microsoft, заявил, что «Linux — это рак индустрии», реакция не заставила себя ждать. Заявление Балмера, с одной стороны, прозвучало необоснованно резко, поскольку опенсорс (и конкретно UNIX) уже занимал серьезную часть IT-индустрии, а с другой стороны — привлекло к теме внимание новой аудитории. Позже Microsoft многократно извинялась за слова Балмера и признавала, что продукты с открытым кодом — важнейшая часть ее бизнеса.
В то время наблюдался мировой тренд на развитие свободного и открытого программного обеспечения и железа, связанный с бурным развитием интернета и так называемым бумом доткомов, который еще называли «пузырем». Большинство веб-серверов работают теперь на дистрибутивах GNU/Linux, в первую очередь Ubuntu и Red Hat, которая 11 августа 1999 года вышла на IPO. В первый же день прирост акций стал восьмым по величине за всю историю Уолл-стрит. Именно тогда и начался этот «выход в Интернет» и вообще на массовый рынок GNU/Linux-дистрибутивов. Потом на бурный рост, «как грибы после дождя», пошли связанные FOSS-проекты, такие как Apache, Nginx и многие другие, вплоть до Kubernetes в последнее время.
Дмитрий Винокуров, Performance QA Engineer в Miro
Пример Microsoft показывает, что в начале тысячелетия на всех уровнях индустрии шла переоценка подходов к ПО и инфраструктуре. Разработчики открытого софта продолжали искать бизнес-модели для выживания. Однако мало кто понимал, что опенсорс можно использовать в коммерческой разработке — и выстраивать процессы заработка на будущее.
Стала очевидна и другая важная проблема опенсорса — нехватка человеческих ресурсов. Для развития опенсорс-проектам необходимо, чтобы в них постоянно кто-то вкладывался и приходили новые люди. Зачастую проекты разрабатываются одним-двумя программистами в свободное время. Плодами их труда могут пользоваться миллионы людей, однако лишь малая часть помогает в разработке, поддерживает создателей донатами или иными способами (см. Трагедия общих ресурсов). Это приводит к тому, что разработчики «выгорают» и забрасывают проект. Трагедию общих ресурсов активно изучают и ищут решения.
Все это было характерно и для России. В 2003 году при Министерстве связи и информатизации РФ была создана рабочая группа по использованию опенсорса. В нее вошли НИИ «Восход», НИИ автоматической аппаратуры и некоторые другие научные организации. Так софт с открытым кодом начал проникать в государственные организации, а интерес к опенсорсу продолжил расти. Например, в специализированных ведомствах стали активно разрабатывать системы на базе Linux для вооруженных сил.
В то же время в опенсорс вовлекалась и широкая аудитория. Отставание страны в IT-сфере от мирового уровня было очевидно. Российское сообщество начало активнее присоединяться к иностранным проектам, чтобы прокачать навыки и набраться знаний.
До появления Github и других подобных хостингов мы делились софтом и кодом с использованием модема — FidoNetЛюбительская международная компьютерная сеть, построенная по технологии «из точки в точку», то есть напрямую от одного устройства к другому., скачивали с BBS (Bulletin Board System), передавали друг другу, подписывались на файловые эхиРассылки нетекстовых данных или файлов в FidoNet.. Получали в журналах или по подписке на дискетах, а потом на CD-дисках или в печатном виде. Чуть позже обменивались кодом в IRC (Internet Relay Chat), подписывались на эхи с файлами в Usenet, получали в рассылках, пересылали друг другу по почте, искали код на форумах, пользовались sourceforge.net.
Дмитрий Фролов, основатель tvoygit.ru
Пользователи предпочитали использовать западные опенсорс-разработки, например Linux, как в личных целях, так и в профессиональных областях: промышленности, веб-разработке и серверной инфраструктуре. Большинство российских компаний использовали на серверах стек LAMP: Linux, Apache, MySQL и PHP.
Пользователи обменивались DVD-дисками. Помню, когда я начинал с Arch Linux, у меня не было нормального интернета в 2006 году. Мой хороший друг и однокурсник Дмитрий Auror Николаев каждые несколько недель записывал мне на болванки полные копии репозиториев. А я затем подключал локальный репозиторий и ставил пакеты с дисков. Потом уже появились большие флешки и внешние диски и нормальный интернет.
Дмитрий Винокуров, Performance QA Engineer в Miro
Среди российских проектов 2000-х особо выделялся веб-сервер Nginx. В 2004 году появилась его публичная версия за авторством Игоря Сысоева. Со временем Nginx стал первым веб-сервером в мире и самым популярным в России — это один из примеров реализации успешной бизнес-модели в российском опенсорсе.
Важные события происходили в российском сегменте Linux. Самыми активными в то время можно назвать «патриархов» российского Linux — компании IPLabs и ASPLinux. В частности, коллектив IPLabs Linux Team, участники которого были постоянными контрибьюторами различных опенсорс-проектов (ядра, KDE и др.), занимался русификацией и интернационализацией Linux.
Процесс интернационализации подразумевал выстраивание каналов распространения дистрибутивов Linux (Red Hat, Slackware, Debian, Mandrake) с пакетами русификации. Например, Linux Mandrake 7.0 RE, Russian Edition, был подготовлен как практически самостоятельный дистрибутив и поставлялся IPLabs в нескольких вариантах. Для пользователей Mandrake 7.0 RE IPLabs Linux Team выпустили диски с офисным ПО. Также IPLabs были первой компанией в России, которые начали собирать и продавать компьютеры с предустановленным Linux.
В 2001 году IPLabs Linux Team преобразовалась в фирму ALTLinux и тогда же создала репозиторий «Сизиф» — крупный хостинг пакетов свободных программ. На сегодняшний день в его развитии принимают участие около 200 разработчиков, а «Сизиф» входит в топ-10 самых крупных в мире банков пакетов свободных программ. Инфраструктура разработки находится на территории РФ, принадлежит компании «Базальт СПО» и поддерживается ею. Она была создана выходцами из ALTLinux в 2015 году с целью разработки ОС промышленного уровня для замены продуктов Microsoft в России. С 2004 года специалисты компании проводят масштабную научно-практическую ежегодную конференцию для свободного (СПО) и открытого ПО (опенсорс).
На заре опенсорса разработчики обменивались распечатками и набирали код с них. Затем появился интернет, а с ним — возможность пересылать код по электронной почте, скачивать с FTP-серверов и тому подобное. Существенный скачок произошел, когда стали распространяться системы распределенного управления версиями кода. Когда-то применялась система CVS, сейчас наиболее популярен Git, созданный Линусом Торвальдсом для разработки ядра Linux. Здесь у каждого разработчика есть копия репозитория, в котором можно обмениваться изменениями кода с другими. Обычно работа с Git ведется с помощью центрального сервера, но таких серверов может быть много. В принципе, эта система децентрализованная. С ростом популярности Git возникли проекты GitHub, GitLab, Bitbucket и другие, которые предоставляют свои сервера для сообществ, работающих с Git, и дополняют их полезными сервисами, например баг-трекером.
Иван Панченко, сооснователь СУБД-разработчика Postgres Pro
С 2005 года в России начинается выпуск версий лидирующего российского ПО для Linux, такие как 1С:Предприятие и Kaspersky Linux Security. Крупные системные интеграторы и обучающие центры активнее вовлекались в проекты по внедрению опенсорса и обучению пользователей, администраторов и разработчиков. Появилась и периодика узкой направленности. Например, журнал Linux Format выходил вплоть до 2018 года.
В 2008 году «КОРУС-Консалтинг», ведущий системный интегратор в России, создал отдел открытых программных решений и вместе с Canonical (Ubuntu) открыл центр компетенций Ubuntu Linux. В 2008 году также была основана компания НПО «РусБИТех», разработчик защищенной ОС Astra Linux. С этого момента системные интеграторы играют критическую роль в проектах по внедрению СПО. В 2009 году появляется Российская ассоциация СПОЕе основателями стали ALT Linux, Всероссийский научно-исследовательский институт автоматизации управления в непромышленной сфере им. В.В. Соломатина, ГНУ/Линуксцентр (Мезон.Ру) (ЗАО Мезон.ру), IBM, ФГУП МНИИ Интеграл, Институт системного программирования РАН, КОРУС Консалтинг, Ланит, Линкс, ЛИНУКС ИНК, VDEL, Научно-исследовательский институт системных исследований РАН, ПингВин Софтвер (группа компаний АйТи), Группа компаний Центр, Информзащита, Этерсофт..
В 2010-х годах спрос на опенсорс в России продолжил расти, как и экспертиза отечественных компаний в этой сфере. Резкий скачок интереса к ПО с открытым кодом, спровоцированный санкциями, произошел в 2014 году. В крупных организациях, таких как Сбербанк, Росатом, банки и государственные структуры, началась миграция с проприетарного зарубежного ПО на продукты с открытым кодом, а также появились собственные проекты.
Вначале бизнес смотрел [на опенсорс] очень подозрительно, за исключением интернет-компаний и провайдеров связи, которые сразу жили в мире UNIX и были ограничены в финансах. Они приняли развитие Linux и FreeBSD органично. В крупных компаниях и банках были сервера на разных коммерческих UNIX, и люди, которые их администрировали, тоже с осторожностью относились к их «свободному брату», но попробовали и постепенно вошли во вкус. Сложнее было убедить менеджмент, что эта некрасивая бесплатная поделка решает ряд задач лучше и быстрее, чем красивая и дорогая. Использовать что-то бесплатное казалось неприличным, когда у всех нормальных пацанов установлено дорогое. Свободный софт тоже рос, совершенствовался, становился пригодным и для других задач. Свободные ОС достаточно быстро захватили серверный рынок, несмотря на смешную рекламную кампанию Microsoft «Get the Facts» о том, что Linux хуже Windows. После этого стало понятно, что Windows рано или поздно уйдет.
Иван Панченко, сооснователь СУБД-разработчика Postgres Pro
В 2015 году эксперт по свободной СУБД PostgreSQL Олег Бартунов выступил одним из основателей компании «Постгрес профессиональный» (Postgres Professional). Она вошла в число главных евангелистов в российском опенсорсе и стала его представителем во всем мире. Одновременно с этим Алексей Новодворский, известный на тот момент как один из основных авторов и руководителей разработки российского дистрибутива Linux (ALTLinux) и репозитория «Сизиф», создал компанию «Базальт СПО».
На этом фоне в мире началось повсеместное проникновение облачных платформ. Компании Microsoft, Amazon, Google и другие создали облака на основе проектов с открытым исходным кодом.
Облачные платформы делают приложения на основе опенсорса более доступными для всех сегментов бизнеса, избавляя их от необходимости в настройке и поддержке проектов. В России крупнейшие облачные платформы, такие как Яндекс Облако, VK Cloud, Cloud.ru и другие, также инвестируют в опенсорс и партнерство с локальными игроками.
К началу 2020-х годов опенсорс перестал быть узким сегментом в IT и привлек к себе внимание широкой аудитории как во всем мире, так и в России. Стратегическая роль разработок с открытым кодом усилилась в самых разных сегментах ПО. А увеличение доли корпоративного опенсорса и снижение доли проприетарного ПО наряду с развитием облаков привели к тому, что они стали неразрывно связаны.
У опенсорса накопилось много проблем. Это и трагедия общих ресурсов, и замешательство разработчиков — многие из них до сих пор не понимают, как выстроить бизнес и сообщество пользователей вокруг своих проектов. Кроме того, опенсорс все больше раскалывается на региональные зоны. Например, в Китае сформировался свой внутренний рынок софта с открытым кодом, где можно найти аналог любому мировому проприетарному ПО. Еще одной проблемой остается обеспечение безопасности: заражение цепочки поставок софта — один из любимых способов взлома у злоумышленников.
В конце 2000-х годов правительство РФ приняло план миграции на СПО на 2011–2015 годы, который не удалось выполнить в срок. Возможно, в России не нашлось достаточно компаний, которые смогли бы покрыть все запросы пользователей. Однако с тех пор опенсорс привлек значительно больше внимания, в том числе за счет возросшего количества успешных кейсов — например, крупных финансовых сделок с опенсорс, совершенных как на уровне государства, так и в бизнесе. В 2020 году Минэкономразвития анонсировало создание национального репозитория и облачного сервиса GitHub (SberCloud, Github и Microsoft).
Кроме того, появились и контуры стратегии развития опенсорс — в частности, стимулирование миграции программистов в РФ и создание условий для комфортной работы с зарубежными организациями. В 2021 году в России появился фонд Russia Open Source Foundation, а позже — АНО «Открытый код». Ключевые участники рынка продолжают искать возможности взаимодействия между собой, с международным сообществом и государством.
В российском опенсорсе сохраняются как специфические, так и общие для всей индустрии проблемы.
Одним из популярных мемов в глобальном сообществе, который появился на основе известного высказывания Эрика Реймонда, был «принцип тысячи глаз»: доступность всем означает, что уязвимости и баги будут обнаружены либо заранее, либо очень быстро. Тем не менее проблемы с безопасностью популярных опенсорс-проектов заставили усомниться в этом принципе. Оказалось, что количество далеко не всегда означает качество.
Сообщество разработчиков пытается адаптироваться к ситуации, создавая руководства по обеспечению безопасности и инструменты автоматизации, которые проверяют программный код — и в некоторых случаях даже исправляют ошибки. Важным направлением, которое динамично развивается в России, является разработка композиционного автоматического анализаМногосторонний анализ кода на безопасность.. Например, компания CodeScoring проводит комплексный поиск вредоносных компонентов и уязвимостей в открытом коде, обеспечивая защиту цепочки поставок ПО. Кроме того, код проверяется на совместимость лицензий.
Вопросом лицензий обеспокоено и государство. В 2022 году правительство постановило провести эксперимент: опубликовать код государственных систем, исключительное право на которые принадлежит РФ, под специальной открытой лицензией. Это логичный шаг на пути к созданию отечественного репозитория, где будет размещаться код, созданный на государственный бюджет. Помимо прозрачности разработки и использования, проект существует ради внедрения современных практик создания и развития IT-решений.
Фрагментация на региональные сегменты — явление, которое не сразу проявилось в опенсорсе. Глобализация показала, что создавать большие проекты возможно при сотрудничестве множества стран. В то же время обнаружилось множество факторов, которые могут помешать сотрудничеству. И выражается это, например, в отказе работать с конкретными странами.
Подобные решения идут вразрез с идеологией открытого ПО и приводят к тому, что опенсорс все сильнее разделяется по регионам: появляются локальные репозитории опенсорс-проектов, доступные только внутри страны, форки проектов, которые ранее существовали на международном уровне, и специфические для одной страны новые проекты. В России также обсуждают создание национального репозитория и национальной операционной системы.
Проблема общих ресурсов в опенсорсе приводит не только к выгоранию разработчиков, но и к другим проблемам, с которыми индустрия столкнулась в 2022 году.
Скажем, компания встраивает опенсорс-проект в собственный продукт. Затем один из ее клиентов запрашивает аудит безопасности. В чьей ответственности будет находиться обеспечение безопасности проекта, использующего открытый код?
Программисты, занятые разработкой опенсорс-проектов, как правило, не занимаются целенаправленно повышением безопасности. Чаще всего они делают это лишь косвенно, например, когда исправляют конкретные уязвимости или в процессе расширения функциональности. И происходит это по двум причинам:
Лишь небольшая часть разработчиков освоила бизнес-модели, позволяющие зарабатывать деньги, которые можно считать достойными вложенного труда. Проблема общих ресурсов остается нерешенной. Даже с учетом того, что отдельные компании выдают гранты разработчикам проектов с открытым кодом и всячески стараются их поддерживать, этого все еще недостаточно.
Реклама: ООО «Веб-Сервер», ИНН 9704151517, erid: 2SDnjdt27ZJ