Разделы

Цифровизация Бизнес-приложения Маркет

Кому и как Microsoft откроет свой код в России

Компания Microsoft активно рекламирует программы по предоставлению доступа к исходным кодам, известные под общим названием Shared Source. Некоторые из этих программ доступны и в России. Противостояние Microsoft и сторонников ПО с открытым исходным кодом (Open Source) общеизвестно. Именно поэтому программы Shared Source, которые как минимум по названию оказываются близки к Open Source, вызывают постоянные дискуссии. В сегодняшней статье мы постараемся разъяснить суть Shared Source и развеять некоторые мифы, связанные с соотношением Shared Source и Open Source. Владимир Мамыкин, директор по информационной безопасности кабинета президента Microsoft в России и СНГ, любезно предоставил нам дополнительную информацию о Shared Source. Точку зрения сообщества Open Source пояснил Алексей Новодворский, заместитель генерального директора российской компании ALT Linux.

Путать Shared Source и Open Source, безусловно, не следует. Исходные тексты ПО Open Source можно практически без ограничений распространять, модифицировать и использовать для любых целей. Для Shared Source это отнюдь не всегда так.

Microsoft применяет название Shared Source в качестве общего названия для нескольких ощутимо различных видов доступа к исходному коду. Некоторые из них по своим условиям совпадают или почти совпадают с Open Source, но в большинстве случаев доступ предоставляется без права свободного распространения и с ограниченными целями.

В рамках инициативы Shared Source компания предлагает 17 различных программ, участниками которых стали более 1,5 млн. разработчиков из 60 стран.

Страны, в которых действуют программы Shared Source

Программы лицензирования Shared Source Страны
Enterprise (ESLP), Systems Integrator (SISLP), Windows CE Shared Source Premium Derivatives, Windows CE Shared Source Premium Derivatives Redistribution, MVP (MVPSLP), Microsoft Research (MSRSLP), Original Equipment Manufacturer (OEMSLP) Австралия, Австрия, Бельгия, Болгария, Великобритания, Венгрия, Германия, Греция, Дания, Ирландия, Испания, Италия, Канада, Кипр, Латвия, Литва, Люксембург, Мальта, Нидерланды, Новая Зеландия, Норвегия, Польша, Португалия, Словакия, Словения, США, Финляндия, Франция, Чешская Республика, Швеция, Швейцария, Эстония, Южная Корея, Япония.
ASP.NET Samples, ConferenceXP, Rotor (C#/JScript/CLI) Implementations, FlexWiki, IronPython, Smart Devices Developer Samples (SDDSSLP), Visual Studio .NET Academic Tools, Windows CE (WCESSLP), Windows Installer XML, Windows Template Library Доступны во всех странах за исключением Кубы, Ирана, Ирака, Ливии, Северной Кореи, Судана и Сирии, на которые в США распространяется торговое эмбарго.
Government Security (GSP) Доступны в 33 странах (а также в организациях NATO и Europol) в режиме защиты интеллектуальной собственности.

* для всех версий, бета-релизов и пакетов обновлений для следующих продуктов: Windows 2000, Windows XP, Windows Server 2003, Windows CE, Windows CE .NET.

В России на данный момент действуют следующие программы Microsoft Shared Source:

  • Government Security Program – возможно, самая известная и обсуждаемая из программ Shared Source. Microsoft предоставляет правительствам, с которыми заключено специальное соглашение, полный исходный код ключевых продуктов (Windows различных версий, Office).
  • Windows CE – предоставление исходных кодов операционной системы Windows CE, предназначенной для мобильных устройств, разработчикам таких устройств и программ для них.
  • Rotor (Shared Source CLI) – пример реализации Common Language Infrastructure (CLI), одной из ключевых частей технологии Microsoft .NET.
  • Windows Installer XML (WiX), Windows Template Library (WTL), FlexWiki, IronPython – свободно распространяемые (с открытым исходным кодом) программные компоненты для платформ .NET и Windows.
  • Visual Studio .NET Academic Tools – доступ к исходным кодам определённых инструментов, связанных с Visual Studio .NET, для студентов и преподавателей.
  • ASP.NET Samples, Smart Devices Developer Samples – примеры исходных кодов, предназначенные для разработчиков; могут использоваться в коммерческих программах, но с некоторыми ограничениями.

Заметим, что из всех перечисленных программ только Government Security Program предоставляет доступ к ключевым продуктам Microsoft (Windows, Office). В США и Евросоюзе компания, кроме этого, предлагает доступ к коду для крупных компаний, университетов, а также избранных компанией независимых профессионалов (Most Valued Professional – MVP).

По словам Владимира Мамыкина, директора по информационной безопасности кабинета президента Microsoft в России и СНГ, появление в стране тех или иных программ Shared Source связано с достижением в ней определённого уровня защиты интеллектуальной собственности. Так, 8-10 лет назад компания не считала возможным передать исходный код своих ключевых продуктов кому-либо на территории России. Поэтому, когда проводилась российская сертификация Windows NT 4.0 и MS SQL 6.5, коды проверялись российскими специалистами, но за пределами России. Однако российское законодательство развивалось в правильном направлении. В 2002 году, когда была анонсирована Government Security Program, Россия стала первой страной в мире, которая официально получила доступ к исходному коду операционных систем Windows.

Условия предоставления кода

Различные программы Shared Source подразумевают весьма разные права, передаваемые получателям кода. Так, некоторые проекты, в основном связанные с .NET – такие, как Windows Installer XML (WiX) и IronPython – распространяются как ПО с открытым исходным кодом. Лицензия Iron Python не одобрялась Open Source Initiative, но, по меньшей мере при первом чтении, кажется вполне удовлетворяющей всем условиям Open Source. WiX предлагается под официально признанной Open Source лицензией. «Microsoft не использует и не собирается использовать для распространения проектов Shared Source лицензию GPL», - говорит Владимир Мамыкин.

Принять участие в программах Shared Source, касающихся кода ключевых приложений Microsoft, может далеко не каждый
Принять участие в программах Shared Source, касающихся кода ключевых приложений Microsoft, может далеко не каждый

В других случаях исходный код предоставляется всем желающим, но условия его использования содержат ряд ограничений. Так, код Rotor (реализация CLI, ключевой части .NET) доступен лишь для использования, модификации и распространения в некоммерческих целях. Но, что весьма важно в данном случае, лицензия позволяет изучать его и на основании полученных знаний создавать новый код, реализующий те же функции. Таким образом, Rotor можно использовать как образец для создания независимых реализаций .NET (эта цель заявлена Microsoft как одна из основных).

Ограничения бывают и несколько иными. Так, код примеров ASP.NET можно использовать, модифицировать и распространять в любых целях, включая коммерческие – но лишь в программах, предназначенных для работы на платформе Microsoft Windows. Код Windows CE можно использовать для разработки любых приложений и аппаратных средств, а также и модификаций самой системы; но для коммерческого распространения системы потребуется отдельная, платная лицензия.

Наконец, в программах Shared Source, касающихся кода ключевых приложений Microsoft, принять участие, т.е. получить доступ к коду, может далеко не каждый. Они доступны правительствам (Government Security Program), крупным корпорациям, университетам, а также избранным из числа независимых специалистов. Условия использования кода определяются в каждом из этих вариантов отдельно.

Следует также заметить, что Microsoft спонсирует многие университетские научные проекты, связанные с полученным по программам Shared Source кодом. Среди прочего для представителей ВУЗов, государственных организаций и иных авторизованных пользователей компания предложила сетевой онлайн-сервис, позволяющий его участникам делиться технической информацией, просматривать, модифицировать и распространять исходный код некоторых приложений – Shared Solutions Network (SSN).

Для чего это нужно

По словам Владимира Мамыкина, Microsoft стремится обеспечить возможности, необходимые тем, кто реально нуждается в доступе к исходному коду. С точки зрения компании, существует три вида групп, способных полноценно исследовать большое количество кода: государственные организации, большие корпорации и университеты. И у этих групп есть свои интересы, которым и должны отвечать программы Shared Source.

Государственным организациям исходный код нужен для того, чтобы убедиться в безопасности и надёжности используемого в органах власти ПО, в том, что оно соответствует выдвигаемым государством требованиям. Для этого существует Government Security Program.

Студентам и их преподавателям требуется возможность изучать программирование на примере высококачественного кода Microsoft. Корпоративным же пользователям, наряду с обеспечением безопасности (как и в случае государства), требуется возможность оптимизации своих внутренних разработок для взаимодействия с системами Microsoft.

К сожалению, основные программы Shared Source, предлагаемые университетам и корпорациям, пока что не действуют в России. По мнению Владимира Мамыкина, в случае университетов проблема заключается в слишком низком уровне защиты прав интеллектуальной собственности в России. Корпорации же, возможно, в состоянии адекватно защитить секреты исходного кода – но, к сожалению, даже самые крупные компании России слишком малы (с точки зрения легально используемых программных продуктов) для получения доступа к кодам. Поэтому Microsoft не готова включать их в программы Shared Source, представляющие из себя заметные инвестиции (в которые входят, в том числе, средства для удобной работы с кодом, его индексация, подготовка комментариев для кода, поддержание работоспособности соответствующих серверов и служб технической поддержки).

В подтверждение своих слов о недоразвитости нашей страны для активизации в ней программ Shared Source в Microsoft приводят цифры пиратства в России и соседних странах Восточной Европы. «Несмотря на то, что средний уровень использования контрафактного ПО снизился в регионе с 85% до 71%, в России он остается на отметке 87%, - говорит Курт Колб, генеральный менеджер подразделения System Builder & WW License Compliance. - В Болгарии – 71%, в Венгрии – 42%, в Польше – 58%». В сравнении с общемировым уровнем пиратства (36% по итогам 2003 г.), наши «достижения» выглядят удручающе.

Ряд программ Shared Source ориентирован также на создание новых “экосистем” разработки ПО, связанных с развивающимися продуктами компании – привлечение независимых разработчиков, сторонних фирм поставщиков и т.п. Это относится к мобильным устройствам (здесь важны как создатели ПО, так и архитекторы новых аппаратных средств), а также к платформе .NET. Именно развитие “экосистемы”, мощного сообщества, позволит данным решениям Microsoft наиболее эффективно развиваться.

Для этого компания предлагает такие программы Shared Source, как доступ к исходным кодам Windows CE, свободное распространение IronPython, возможность использования кода примеров ASP.NET и т.п. Практически компания инвестирует свою интеллектуальную собственность в развитие инфраструктуры, поддерживающей её продукты; поэтому она позволяет использовать код достаточно широко (хотя в случае Windows CE, как мы указывали выше, для коммерческого распространения операционной системы потребуется отдельная лицензия). Данные программы в России действуют и активно используются.

Для чего это не нужно

Большая часть программ Microsoft Shared Source отнюдь не являются Open Source, и компания этого не скрывает. Соответственно, использовать код, предоставленный по Shared Source, в своих программах можно далеко не всегда.

Основанный на закрытости подход Microsoft к бизнесу не изменился
Основанный на закрытости подход Microsoft к бизнесу не изменился

Между тем, у сторонников ПО с открытым исходным кодом зачастую возникает вопрос о возможности использования кода Microsoft не для копирования, а для изучения закрытых стандартов взаимодействия. Например, исследование исходных кодов Windows позволило бы хорошо понять разнообразные протоколы клиент-серверного взаимодействия в этой ОС. В свою очередь исходные коды Office могли бы стать ключом к полному пониманию форматов файлов, содержащих документы.

Программы Shared Source могут, в зависимости от конкретного случая, запрещать или не запрещать такие действия. Но, по мнению Владимира Мамыкина, использовать для создания внешних приложений не описанные и не зафиксированные внутренние протоколы взаимодействия в каком-либо ПО всё равно не следует. Если компания открывает какой-либо интерфейс (API) – то она гарантирует его работу со следующими версиями тех же систем. И компания-вендор (не только Microsoft) обязана поддерживать эти API в течение всего жизненного цикла своего продукта. Но неопубликованные интерфейсы, протоколы и форматы относятся, практически, к внутренним структурам программ Microsoft; они могут быть изменены в любой момент с целью продолжения совершенствования продукта.

Если разработчики другой программной системы изучили закрытый интерфейс Microsoft (например, при помощи анализа исходного кода) и реализовали его в своей системе, после очередного обновления ПО от Microsoft их система вполне может работать некорректно. Владимир Мамыкин пояснил, что компания не открывает многие интерфейсы именно для того, чтобы спокойно изменять их при развитии программ, когда это требуется для добавления новых возможностей или ускорения работы. Например, значительное увеличение скорости работы Office 2003 по сравнению с предыдущими версиями было достигнуто, по словам Владимира Мамыкина, именно за счет изменения внутренних форматов представления данных.

Microsoft остаётся собой

Вероятно, главное, что необходимо понимать для правильной оценки программ Microsoft Shared Source – тот факт, что Microsoft остаётся той же компанией, что и ранее. Её основные подходы к бизнесу, основанные на закрытом ПО, не изменились – и она этого не скрывает, несмотря на сходство словосочетания “Shared Source” с “Open Source”. Компания, как максимум, переняла некоторые технические подходы Open Source, например, стремление к построению неформальных сообществ. Между тем, принципиальная, коммерческая сторона её деятельности не изменилась.

Бизнес Microsoft основан на лицензировании ПО и контроле над ним. Компания получает деньги за использование каждой копии своего ПО. Также она диктует интерфейсы для взаимодействия между программами (включая форматы хранения пользовательских данных, сетевые протоколы и т.д.), которые удерживают клиентов от перехода на ПО других производителей. В рамках этой модели данные, принадлежащие клиентам, оказываются заперты во “внутренних структурах” ПО от Microsoft и для дальнейшей работы с ними требуются исключительно инструменты от Microsoft. Если не принимать специальных мер, то даже при пересылке данных по сети любым другим пользователям используются те же “внутренние структуры”, т.е. закрытые форматы и протоколы. Так, прайс-листы многих небольших фирм доступны именно в формате Excel.

До тех пор, пока Microsoft сохраняет возможность получать деньги за лицензирование и контролировать интерфейсы, раскрытие исходных кодов ничуть не мешает её бизнесу и не изменяет его – но при этом отвечает многим реальным интересам клиентов компании. Если эти клиенты (включая государственные структуры) соглашаются на контроль монополиста над используемым ПО, то остальные их проблемы – например, беспокойство о безопасности – могут быть разрешены при помощи Shared Source, быть может, не менее эффективно, чем в случае Open Source. Но именно вопрос о таком контроле и остаётся основным различием между Microsoft и ПО с открытым исходным кодом.

Тем не менее, программы Shared Source позволяют некоторым клиентам компании, по меньшей мере, узнать, какие именно решения она им навязывает при установке её продуктов. Это является, безусловно, преимуществом (по сравнению с полной закрытостью). К сожалению, в России данное преимущество (в части основных продуктов компании) пока доступно лишь государственным органам.

Заметим, что другие компании обычно не предлагают даже и ограниченного доступа к исходным кодам своих закрытых продуктов. Например, IBM, в некоторых областях декларирующая приверженность принципам Open Source, не показывает код Notes или DB2. Впрочем, по мнению Адама Джолланса (Adam Jollans), руководителя стратегии IBM по маркетингу Linux, большинство заказчиков, приобретающих у IBM закрытые решения, нуждается в работающих и поддерживаемых системах, а не в доступе к коду. Если же для крупных заказчиков (в частности, правительств) такой доступ потребуется, это может быть предметом переговоров. В организованной программе по образцу Microsoft Shared Source Адам не видит реальной необходимости.

Вечный спор

Интересно, что тем, кто пытается выступать за развитие «не коммерциализированного ПО» в Microsoft указывают на то, что большая часть разработок в современных программах Open Source, приходится именно на коммерческие предприятия, а не на «сообщество свободных программистов». «Цифры говорят о том, что из двенадцати ведущих специалистов-разработчиков Linux десять развивают систему в бизнес-целях», - говорит Джейсон Матусов, директор Shared Source инициативы Microsoft. – «Кроме того, на сотню ведущих специалистов приходится 84% всей работы по развитию операционной системы (версия 2.6), а на топ-12 из них приходится почти половина всех изменений (44%)».

Ведущие разработчики Linux

Организация Специалисты Форма бизнеса
Redhat David Miller, Alan Cox, Dave Jones, Alex Viro Коммерческая
IBM Greg Kroah-Hartman Коммерческая
Novell Jaroslav Kysela Коммерческая
SGI Cristoph Hellwig Коммерческая
ARM Limited Russel King Коммерческая
OSDL Andrew Morton, Linus Torvalds Коммерческая
University of Lowa Kai Germaschewski Некоммерческая
Samba Anton Blanchard Некоммерческая

Источник: Презентация Джейсона Матусова

В свою очередь, сторонники Open Source нередко критикуют Shared Source. Так, по мнению заместителя генерального директора российской компании ALT Linux Алексея Новодворского, программы Shared Source вызывают ряд вопросов.

“Покупая или получая бесплатно программу, мы приобретаем те или иные права на нее. Например, наиболее распространенное лицензионное соглашение Microsoft для MS Office дает право на использование экземпляра этого произведение ровно на одном компьютере; а пользователь, скачавший или купивший OpenOffice.org, получает права на использование, неограниченное число установок, распространение, получение и распространение исходного кода, его модификацию и распространение модифицированной версии” – говорит Алексей.

“К сожалению, условия соглашения Government Security Program и, соответственно, объем полученных государством прав нам неизвестны” – продолжает он. – “Неизвестны нам и специалисты, которые исследовали код на предмет его безопасности. В отличие от кода свободных программ, который отполирован глазами тысяч специалистов, в качество кода MS можно только верить. Или не верить.”

Впрочем, честная рыночная конкуренция вполне способна расставить всё на свои места – если только учитывать все достоинства предлагаемых продуктов, включая и объём доступных прав. По мнению Алексея Новодворского, “Потребитель сам определяет, какие права ему нужны и чем больше вариантов есть на рынке, тем больше конкуренция и лучше всем нам. С этой точки зрения можно только приветствовать значительное в сравнение с прошлыми временами расширение числа предлагаемых Microsoft на российском рынке вариантов лицензионных соглашений: для семьи, для кампуса (разрешает установку программы на школьных и домашних компьютерах учеников и учителей в учебных целях), для крупных предприятий.”

Появление полноценных свободных альтернатив на рынке уже привело к некоторым подвижкам; потребители – в частности, и государственные заказчики – становятся более “привередливы”, и зачастую желают получить не типовые ограниченные права, а что-то более соответствующее конкретной задаче. Так, по словам Алексея Новодворского, “вряд ли случайным совпадением стало распространение кампусной лицензии MS (она разрешает установку программы на школьных и домашних компьютерах учеников и учителей в учебных целях) на Россию через полгода после включения соответствующего требования в условия конкурсов по закупке компьютеров для школ.

Да и включение России в Government Security Program фирмы Microsoft произошло после обсуждения принципиальной возможности использования для государственных нужд системы, исходные коды которой недоступны никому в стране, а также после сертификации Гостехкомиссией и распространения операционных систем на основе Linux.”Однако ограниченная передача исходных кодов отнюдь не решает всех проблем. “Код Microsoft сегодня, по всей видимости, доступен российским специалистам, избранным государством – это хорошо,” – подчеркнул Алексей Новодворский. “Но он не доступен гражданам, которые имеют право контролировать государство. Можем ли мы быть уверены, что программы расчета налогов, пенсий, учетные системы государства работают верно, если их исходный код не доступен для независимого аудита? Можем ли мы широко внедрять в системы электронного государства неизвестные нам протоколы и форматы, если их корректно понимают программы единственного производителя?”

Вопрос состоит не в открытых исходных кодах, как таковых. Просто требования, выдвигаемые при государственных заказах на ПО, должны быть наиболее приспособлены к реальным задачам. “Государство и граждане должны требовать от производителей при закупке программ тех прав, которые достаточны для обеспечения безопасности, надежного контроля административных регламентов, независимости от монополии,” – считает Алексей Новодворский. – “Тогда и Microsoft, и другие фирмы будут поставлены в равное положение, а конкуренция позволит выбрать лучшие программы и лучшие условия их приобретения и разработки”.

Как мы видим, позиции обеих сторон подкреплены серьёзными аргументами. Причём эти стороны мыслят именно в терминах рынка. Мировоззрение Microsoft недвусмысленно коммерциализовано. Что до Open Source, наряду с тезисами о «свободном духе программирования в открытом ПО» это движение включает в себя определённые бизнес-модели, а его продукты обладают своими рыночными преимуществами, включая предлагаемый потребителям объём прав. Среди “двигателей” Open Source – как идейные романтики, так и практичные предприниматели, и отличить одних от других не всегда легко.

Окончательную точку в споре двух подходов должна была бы поставить честная конкуренция, построенная на эффективности создания и использования программных продуктов. Если бы все было так просто…

Михаил Рамендик, Максим Казак / CNews