Статья

Русская идея национальной программной платформы не окупится

Софт Интеграция ИТ в госсекторе Системное ПО Свободное ПО
мобильная версия

Иногда приходится слышать, что идея национальной программной платформы содержит в себе логическое противоречие. Ведь если такая платформа действительно будет создаваться на базе СПО, то такое программное обеспечение будет более чем на 90% произведено не в России, а за рубежом. Соответственно, и НПП у нас получится, скорее, какая-нибудь американо-германо-индийская, а не российская.

Такая критика полностью оправдана, если считать, что слово "национальный" в НПП означает лишь происхождение массива исходных текстов, используемых в программной составляющей. Но стремиться к "национальной чистоте" программного кода – довольно странная цель, в которой трудно усмотреть разумные прагматические основания. Очевидно, цель НПП заключается не в том, чтобы добиться российского любой ценой, а в чем-то другом. В чем же?

Особенности разработки сложных систем с открытым кодом

Разработка сложных программных систем – менее прямолинейный процесс, чем иногда кажется. Действительно, квалифицированный программист, потратив некоторое время, может собрать операционную систему или сервер приложений Java из исходных текстов (так же, как и квалифицированный автолюбитель может собрать собственный автомобиль из запчастей). Но такая система, созданная в одном экземпляре, обладает очень ограниченной ценностью. В условиях промышленной эксплуатации система приобретает это качество только тогда, когда мы получаем уверенность в том, что она будет развиваться, что найденные в ней ошибки и уязвимости будут исправляться, что в прилагаемой документации или в службе технической поддержки можно будет оперативно получить ответы на вопросы. Очевидно, что даже самый квалифицированный программист не сможет решить эти задачи в одиночку и без соответствующей инфраструктуры.

"На мой взгляд, целью НПП является становление России как крупного международного центра разработки СПО, что немыслимо без существенного, многократного расширения участия в международных проектах – как существующих, так и новых, в том числе инициированных нашими разработчиками. Разработка СПО принципиально несовместима с изоляционизимом".

Алексей Новодворский, заместитель генерального директора компании "Альт Линукс"

Итак, основная ценность ПО – в полноте и непрерывности процесса разработки и поддержки. Если говорить о разработке дистрибутивов свободных операционных систем (Linux, FreeBSD), то основная часть времени разработчиков уходит отнюдь не на реализацию новых функций и возможностей. Существенно больше времени приходится тратить на такие задачи, как обеспечение поддержки постоянно появляющихся моделей оборудования, достижение совместимости с программным обеспечением сторонних поставщиков. Если для какого-либо компонента ОС (как правило, такие компоненты развиваются в рамках самостоятельных проектов) выходит новая версия, нужно включать эти дополнения в состав операционной системы и одновременно проводить комплексное тестирование, чтобы убедиться, что они не нарушают стабильную работу продукта в целом.



Увеличить

Разработка сложных программных систем имеет много общего со сложным промышленным процессом

Разработку сложной системы с открытым кодом можно сравнить с крупным автозаводом. На входе такой завод имеет запчасти (исходные тексты программ), на выходе – готовые автомобили. Но запчасти никогда не превратятся в автомобили, если не будет необходимой инфраструктуры, такой, как доступ к энергетической сети (наличие интернет-каналов), если не будет квалифицированных рабочих и инженеров (сборщиков пакетов и проектировщиков), которые должны взаимодействовать, подчиняясь общему производственному процессу. Наконец, должно иметься необходимое для производства автомобилей оборудование (серверные мощности, программная инфраструктура сборки, тестирования и поддержки программного обеспечения).

Прокатиться за счет Red Hat?

Особенность свободного ПО заключается в том, что часть процесса можно отдать на "аутсорсинг" другим поставщикам, в том числе, зарубежным. Например, сборку, тестирование и развитие дистрибутивов Linux уже весьма неплохо делает американская компания Red Hat или международный некоммерческий проект Debian. Почему бы просто не воспользоваться результатами их работы?