Дебаты по поводу ПО с открытым исходным кодом не прекращаются со времени его разработки и лицензирования в 1980-х гг. и резко усилились с распространением Интернета в следующем десятилетии. Поскольку разработчики все лучше овладевают открытыми инструментами и компонентами ПО, предприятия начали осторожно приступать к их использованию, обращая внимание на их соответствие решаемым задачам, масштабируемость и техническую поддержку.

Появление и быстрое распространение молодых компаний, занимающихся открытым ПО, свидетельствовали о большом потенциале разработанных сообществом программных компонентов. Вот как сказал об этом Джим Землин, исполнительный директор фонда Linux Foundation: “Разве Google или Amazon могли бы стать тем, что они есть, если бы использовали Windows и .NET? Они были бы не в состоянии покупать и отслеживать лицензии с той же скоростью, с какой они устанавливали серверы”.

После череды успешных инициатив в области открытого ПО оно — на фоне становящихся с каждым годом все более скромных бюджетов — укрепляет свои позиции на предприятиях. В докладе на проходившей в Бостоне конференции Linuxcon 2010 Джеффри Хаммонд из Forrester Research утверждал: если речь идет об освоении ИТ на предприятиях, то открытое ПО “преодолело разделявшую их пропасть”. Он указал на укрепление позиций и все более широкое распространение открытого ПО среди корпоративных разработчиков и лиц, принимающих решения. Об этом свидетельствует ряд проведенных в 2008—2009 гг. исследований.

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

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

Поиск нужных проектов

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

Землин из Linux Foundation сказал по этому поводу: “Десять лет назад рассуждали так: “бесплатно — вот и отлично"”. Теперь же мы подходим к оценке ПО более тщательно. Компании хотят знать, какие проекты являются успешными, у кого их можно получить, как лучше всего реализовать, где найти наиболее талантливых программистов для работы с открытым ПО, какой вклад они могут внести в его разработку и усовершенствование”.

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

Одним из ресурсов, позволяющих упростить данный процесс, является веб-сайт Ohloh.net с его базой данных, охватывающей 300 тыс. проектов открытого ПО. По каждому проекту имеется полная информация, касающаяся лицензирования, криптографии, безопасности и жизнеспособности сообщества разработчиков.

Важно оценить эту жизнеспособность, поскольку ваши программисты вряд ли обрадуются, если им придется обеспечивать работу чужого кода, который больше не развивается. Судить об устойчивом поступательном движении проекта можно по таким признакам, как количество программистов, их имена и заслуги, численность нештатных разработчиков и уровень их квалификации, показатели роста сообщества и периодичность релизов.

Этот сайт, приобретенный недавно компанией Black Duck Software, предполагается объединить с Koders.com, прежним сайтом Black Duck, и собрать на нем всю информацию, необходимую разработчику для принятия обоснованного решения об использовании компонентов открытого ПО. По словам президента и генерального директора Black Duck Тима Еатона, объединенный сайт даст возможность “собрать в одном месте самую богатую коллекцию метаданных, которая позволит разработчикам разобраться в любом проекте”.

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

Хотя сколь угодно широкое сообщество не заменит профессиональной поддержки, которой пользуются организации со стороны производителей корпоративного ПО, ресурсы сообщества могут стать важным дополнением. Более того, наиболее известные проекты открытого ПО (например, компоненты LAMP) могут похвастаться не только значительными ресурсами сообщества, но и поддержкой со стороны многих производителей коммерческого ПО.

Вступление в сообщество

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

Например, можно свести к минимуму затраты на поддержку расширений кода, которые не дают вашей организации конкурентных преимуществ, поделившись этими расширениями с другими пользователями проекта.

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

В прошлом году при участии Microsoft был создан фонд Outercurve Foundation (прежнее название — Codeplex Foundation), который призван способствовать организациям в работе с сообществами программистов. Фонд не связан с какой-либо компанией. Он помогает определить и отслеживать право интеллектуальной собственности на программный код, установить контакты между членами сообщества и наладить обмен кодом. В настоящее время Outercurve.org ведет мониторинг семи проектов с открытым исходным кодом и управляет поступающими фрагментами программ.

По словам исполнительного директора Outercurve Полы Хантер, “в результате предприятия знают, что загруженный ими код является бесплатным и должным образом лицензирован. Они знают также, что могут спокойно передавать сообществу фрагменты программ, поскольку их интеллектуальная собственность защищена”.

Передача проекта фонду Outercurve отделяет его от создателей, но гарантирует, что он останется открытым. Большинство проектов создается для решения конкретной проблемы, а основная масса таких проблем касается не только основателя проекта.

Например, проект CoApp возник в связи с идеей переноса управления пакетами ПО на платформы Windows. Уже через несколько недель после его запуска десятки программистов принимали участие в планировании работы. А сейчас уже сотни присылают фрагменты кода или формулируют требования к ПО.

Фонд Linux Foundation запустил недавно программу Open Compliance Program, чтобы помочь компаниям в управлении лицензиями и инвентаризации открытого ПО. Предусматриваются обучение сотрудников, разработка инструментов и руководств по отслеживанию лицензий на открытое ПО, включая ведение их списка. В рамках проекта создано также сообщество специалистов по ПО и лицензированию FOSSBazaar.org.

Большинство предприятий получают открытое ПО через специализированные организации по оказанию технической поддержки, созданные дистрибьюторами, в частности Red Hat и Novell. Эти организации берут на себя заботы о соблюдении условий лицензионных соглашений. Предприятия не занимаются редистрибуцией открытого кода в составе своих продуктов. “Жизнь стала проще, поскольку цель заключается в том, чтобы на пути открытого ПО не было никаких препятствий”, — сказал Землин из Linux Foundation.

Тем не менее компании, которые включают компоненты с открытым кодом в свои встраиваемые системы, мобильные и сетевые устройства, должны тщательно отслеживать цепочку поставок ПО. Поскольку заказные платформы создаются с использованием многочисленного открытого ПО, становится все труднее проследить, откуда позаимствован тот или иной компонент и будет ли его использование законным.

Мы пришли к тому, что бизнес подпитывает сообщество разработчиков, а сообщество — бизнес. Поэтому важно разобраться, откуда поступил каждый компонент, что он содержит, соответствует ли он передовому опыту корпоративных разработчиков, можно ли его использовать, не опасаясь за безопасность, и делает ли он то, для чего предназначен.

По словам Еатона из Black Duck Software, “производитель мобильных устройств может добавить к базовому ядру Linux до 100 новых компонентов. Поскольку разработчики разбросаны по всему миру, важно автоматизировать управление лицензиями в рамках процесса управления программным кодом”.