4.5 Предварительные выводы
При ПО массовой деятельности следует более широко применять заказ разработки как альтернативу приобретения (несвободных) программ.
В большинстве случаев оптимальным является свободное лицензирование прав на программы, правообладателем которых оказывается государство.
Опыт государств (правительств, администраций различных уровней) в заказе свободной разработке нуждается в обобщении, изучении и критике. Первые шаги такого анализа представлены в оставшихся пунктах этой главы.
5. Участие государства в СПО: зарубежный опыт
Заметным источником ресурсов для развития СПО, наряду с финансированием со стороны бизнеса в рамках коммерческих контрактов (не анализируемом в настоящем исследовании отдельно) и бескорыстным вкладом добровольцев, являются и бюджетные средства зарубежных стран.
Систематических исследований, посвященные контрактации на разработку (или заключением контрактов, косвенным, но необходимым образом стимулирующих разработку, например, массового приобретения коробочных продуктов либо услуг по поддержке) свободных программ со стороны государственных органов различных стран, нами не обнаружено.
Ниже следует сводка крупнейших (или, во всяком случае, наиболее известных) контрактов такого рода, как удачных, так и неудачных.
5.1. Традиционный опыт
BSD (пример успеха). Наиболее документированным, вероятно, является частичное финансирование разработки исследовательской группой в Университете Калифорнии в Беркли свободной ОС BSD со стороны Агентства перспективных исследований (DARPA) Министерства обороны США, восходящее к началу восьмидесятых годов. Разработка BSD была поддержана системой грантов на поддержку разработки сетевой ОС как таковой и на активное экспериментирование с сетевыми технологиями.
Вопреки распространенному мнению, интеграция протоколов TCP/IP (ныне известных как интернет), т.е. Berkeley Stack, в систему не была частью контракта – в Министерстве обороны предполагали, что общесистемный свободный код будет использоваться вместе с несвободной реализацией этих протоколов, выполненных по отдельному контракту BBN. Однако разработанная при лишь косвенной правительственной поддержке сетевая подсистема BSD4.3 была признана заказчиком лучшим вариантом (по сумме параметров), нежели конкурировавшая реализация, представленная BBN (выполненная по прямому отдельному контракту).
Именно BSD 4.3 (1986 г.) и ее последующие версии (а также частично производные системы и сетевые подсистемы, прототипированные на Berkley Stack) стали реальной основой разворачивания интернет-сетей (сообщества Интернет) во всем мире, включая Россию, что, безусловно, делает этот случай финансирования свободной разработки из правительственных источников самым успешным кейсом за всю историю отрасли.
Хотя Министерство обороны и заказывало свободный код, предметом контракта не являлось создание полностью свободной ОС. BSD в то время была лишь дополнением (и частичным замещением) кода ОС Юникс, права на которую в описанный период (первая половина восьмидесятых) последовательно переходили от AT&T к UCL, а затем к Novell. Неопределенный статус «промежуточного» кода породил одну из самых прискорбных ситуаций в истории отрасли, с взаимными исками и блокированием развития, нашедшую иход в 1993-94 гг. в полном отделении BSD от Юникс и обретении первой из них технической самодостаточности21.
Наряду с ОС ГНУ/Линукс, современные свободные ОС, основанные на BSD (FreeBSD, OpenBSD и NetBSD), продолжают развиваться и широко используются, в частности, как платформа для частных и публичных сетевых сервисов. На BSD были основаны отечественные открытые системы, такие как «Демос» и некоторые другие, ныне прекратившие свое развитие. Возможно, опытом их разработки и использования обусловлено то, что в России дольше, чем в большинстве других стран, BSD-системы оставались доминирующей платформой в сегменте платформ предоставления сетевых услуг, лишь в этом году уступив первое место ГНУ/Линукс, уже несколько лет лидирующей в этом качестве в мире.
Лицензия BSD является компромиссной – производный от кода, подпадающего под эту лицензию, код может распространяться как под свободными, так и под несвободными лицензиями, по выбору автора производного кода. Поскольку наиболее известными разработками, распространяемыми под такими компромиссными лицензиями, являются BSD и XFree86 (свободная реализация промышленного стандарта на графическую подсистему X Window System), сам этот тип лицензирования обычно называют лицензированием «в стиле BSD» или «в стиле X» (BSD-style, or X-style licenses), в противоположность копилефт-лицензированию22.
GNAT (пример успеха). Компилятор с языка программирования Ада (принятого в качестве стандарта для критических, в частности, встроенных бортовых, приложений военными ведомствами стран-участниц НАТО) GNU Ada Translator (GNAT) в его нынешнем виде разработан, в основном, по контракту с Военно-воздушными силами США. Наряду с BSD, GNAT является ярким примером успешной разработки свободных программ по госзаказу. В настоящее время GNAT является наиболее широко используемым транслятором с этого языка.
Что не менее важно, проект GNAT после окончания базового контракта успешно коммерциализован. Команда разработчиков образовала компанию Ada Core Technologies (www.gnat.com), осуществляющую развитие и поддержку GNAT и ряда сопутствующих инструментальных программ (в том числе, используемых и с другими языками программирования). В числе ее клиентов Aerospatiale Matra Airbus, Alcatel Space Industries, COMPAQ Europe (Франция), Aerosystems (Великобритания), Boeing, Digital Equipment Corporation, Lockheed, Nortel (США), DaimlerChrysler Aerospace AG (Германия), ERICSSON SAAB Avionics, SAAB Dynamics AB (Швеция), Philips Semiconductor ITEC (Нидерланды), Министерство обороны Нидерландов, Академия ВВС США, Военная академия США в Вест-Пойнте и многие другие корпорации и учреждения различных стран23. В формулировке миссии компании ее модель описывается так: «At Ada Core Technologies, we view our products as a service that we provide to our customers» («Мы в Ада Кор Текнолоджиз считаем своим товаром услуги, предоставляемые нами нашим клиентам»)24.
Стоит отметить достаточно нетрадиционную для свободных проектов высокую степень централизации такой масштабной разработки (несмотря на то, что некоторые члены команды не являются сотрудниками ACT). Ее можно атрибутировать некоторым «креном» приложения в сторону военной индустрии – за пределами военных ведомств и их поставщиков использование Ады является скорее исключением, чем правилом. Однако следует особо обратить внимание и на то, что в числе программ, разработка которых сосредоточена или в значительной части производится силами ACT, много и используемых в других средах. По сути, работа ACT является важной составной частью поддержки проекта ОС GNU.
GnuPG (пример успеха). Интересным и для многих неожиданным фактом стала поддержка грантом германского правительства проекта GNU Privacy Guard (GnuPG) – свободной реализации соглашений OpenPGP о форматах файлов и сообщений электронной почты, зашифрованных с применением методов криптографии с открытым ключом и/или снабженных цифровой подписью. К настоящему времени GnuPG поддерживает большинство распространенных криптографических алгоритмов, включая традиционные RSA, DSS, новый американский стандарт AES и ряд других (поддержка российских государственных (и ряда отраслевых) стандартов реализована одной из российских компаний и готовится в настоящее время к включению в основную ветку разработки).
21 Marshall Kirk McKusick. Twenty Years of Berkeley Unix // Open Sources: Voices from the Open Source Revolution. – O’Reilly, 1999.
22 Это влечет за собой невозможность черпать код, входящий в массив, защищенный копилефт-лицензиями, для использования при развитии ядра и ряда базовых компонентов системы (хотя в поставку BSD входит множество других программ под копилефт-лицензиями), что, видимо, несколько замедляет развитие. Обратное заимствование возможно. Следует отметить, что для системного программирования “компромиссность” или “жесткость” свободных лицензий, скорее всего, имеет несколько меньшее значение, чем для прикладного, во всяком случае, в том, что касается уже сформировавшихся концепций и команд: риск попытки “захвата” разработки (создания отдельной несвободной ветви) весьма мал, чему свидетельством достаточно быстрое “вымирание” несвободных версий BSD (таких, как BSD/386, Демос и пр.).
23 Интересно, что большинство организаций, подчиненных ВВС США, несмотря на оценку контракта на разработку руководством ВВС как “в высшей степени успешного”, сейчас поддерживают свои системы на основе GNAT самостоятельно.
24 Пример GNAT и компании Ada Core Technologies особо выделяется лидером движения СПО Ричардом Столлменом как пример бизнеса, “основан[ного] только на свободном ПО” (Ричард Столлмен: “Планы GNU выполнены и перевыполнены” // “Домашний компьютер”, №12, 2002 г.). Для Столлмена важно, что GNAT является частью проекта ГНУ и что он защищен копилефт-лицензиями, а не просто свободен. Копилефт-лицензии (GNU GPL, GNU LGPL и GNU FDL) содержат не только передачу прав свободного использования произведения, но и запрет на сублицензирование (т.е. передачу прав в меньшем объеме, нежели полученные права) при последующем распространении оригинального или производного произведений.