Программное обеспечение с открытым кодом официально существует на протяжении уже 20 лет. Такое революционное новшество должно полностью изменить сложившийся порядок разработки, продажи и распространения программ. Но, к сожалению для тех, кто празднует 20-летнюю годовщину, ничего подобного не произошло. Большинство разработчиков большую часть своего времени по-прежнему тратят на создание проприетарного ПО.
Что изменилось за 20 лет, так это восприятие программного обеспечения. Сегодня уже все смирились с мыслью о том, что программные средства могут или даже должны распространяться с открытым кодом, и никакого конца света при этом не наступит. Однако реального полномасштабного открытия кода, возможно, придется ждать еще 20 лет.
Возвращаясь на два десятилетия назад, стоит вспомнить слова Эрика Рэймонда о том, что программное обеспечение пишется в первую очередь для его использования, а не для продажи. Следовательно, оно может и должно распространяться с открытым исходным кодом. Однако до сих пор этого так и не произошло. Почти весь код продолжает оставаться закрытым.
За время, прошедшее после того, как термин «открытый код» официально был введен в обиход организацией Open Source Initiative, в ее работе мало что изменилось. Еще в 2008 году на конференции Red Hat Summit генеральный директор компании Red Hat Джим Уайтхерст осуждал разбазаривание корпоративного программного обеспечения: «Большая часть создаваемых сегодня программ пишется на предприятиях и не предназначена для перепродажи. И эта большая часть никогда не используется. Разбазаривание ресурсов, выделяемых на разработку программных систем, достигло колоссальных масштабов. … А для того, чтобы открытый код приносил пользу всем нашим клиентам во всем мире, они должны не просто быть пользователями продуктов с открытым кодом, а принимать активное участие в их создание, входя в состав сообщества разработчиков».
Впрочем, многие считают, что достигнут немалый прогресс. Проведенное по инициативе Еврокомиссии в 2009 году исследование Flossmetrics показало, что 35% ПО — как предназначенного для продажи, так и не предназначенного — поставляется с открытым кодом. Это очень хороший результат.
Как утверждал в 2013 году один из основателей компании Cloudera Майк Олсон, открытый код должен доминировать в корпоративной инфраструктуре: «В настоящее время наметилась потрясающая и необратимая тенденция. Те, кто работают в ЦОД, почти наверняка используют в своей деятельности операционную систему, СУБД, связующее ПО и другие программные средства с открытым кодом. За последние десять лет мы не увидели ни одного нового проприетарного проекта с закрытым кодом, который смог бы занять доминирующее положение в программной инфраструктуре на уровне платформы».
Безусловно, Олсон прав. Большая часть инноваций в корпоративной инфраструктуре все чаще регулируется лицензиями на программное обеспечение с открытым кодом. И хотя до насыщения еще далеко, нельзя не вспомнить, что в основе контейнерной революции лежат проекты Docker и Kubernetes. И тот и другой предусматривают использование программного обеспечения с открытым кодом. А как насчет Больших Данных? С ними работают при помощи Hadoop, Kafka и других технологий с открытым кодом. А машинное обучение и искусственный интеллект? Все это подпитывается TensorFlow, MXNet и прочим программным обеспечением с открытым кодом.
Таким образом, наши платформы все чаще становятся открытыми, несмотря на закрытый и проприетарный характер приложений. Как же случилось так, что наше будущее непосредственно связано с открытым кодом несмотря на то, что дальнейшее развитие подавляющего большинства приложений по-прежнему заблокировано проприетарными лицензиями?
Если процент лучшего кода, представленного в открытом виде, устойчиво растет, почему бы нам не ускорить этот процесс? Как указал Джон Марк Уокер из ARM, «все крупнейшие инновации, которые мы видим сегодня, создаются на платформах с открытым кодом, однако при этом в мире остается еще немало людей … продолжающих изобретать колесо».
Почему?
Как заметил бывший директор Apache Software Foundation и технический директор Sourcepoint Гейр Магнуссон, программное обеспечение с открытым кодом оказывает огромное влияние на инфраструктуру и универсальные вещи. Но дело в том, что 95% программного обеспечения, которое Эрик Реймонд называет совершенно неинтересной бурдой, создается для удовлетворения вполне конкретных частных нужд.
Другими словами, огромная масса программного кода по-прежнему остается закрытой, и мы должны быть благодарны судьбе за то, что не видим его. Ведь этот код совершенно бесполезен за пределами того предприятия, где он был написан. Могло ли это программное обеспечение распространяться с открытым кодом? Да. А надо ли нам это? Ну, …
«Справедливо и то, что программное обеспечение с открытым кодом обладает вполне реальной стоимостью, — подчеркнул главный стратег Red Hat Дэйв Ниэри. — Однако при наличии у этого кода единственного пользователя преимущества минимальны». «Компании совсем не прочь внедрять программное обеспечение с открытым кодом, — добавил директор Apache Software Foundation Джим Ягельски. — Но они упираются в нехватку ресурсов и инвестиций, что приводит к провалу соответствующих проектов. А это в свою очередь порождает волновой эффект, побуждая руководство организаций возлагать вину за неудачи не на себя, а на программное обеспечение с открытым кодом».
Подводя итог, стоит отметить, что главная причина, в силу которой большая часть программного обеспечения не выходит за межсетевые экраны предприятий, заключается в том, что оно обходится слишком дорого и приносит слишком малую отдачу, для того чтобы оправдать вывод его в категорию программных средств с открытым кодом. По крайней мере, такое складывается впечатление. И изменить это впечатление невозможно, не пройдя по пути открытого кода. Но компании не хотят идти этим путем без четких гарантий. Чувствуете, в чем проблема?
Впрочем, ситуация постепенно меняется благодаря усилиям Google, Facebook, Amazon и других гигантов интернет-отрасли, демонстрирующих приверженность открытому коду.
И это только начало. Результатом использования программного обеспечения с открытым кодом стало изменение отношения к инновациям в программной отрасли. Мы начинаем верить (и на то есть причины), что самые лучшие, инновационные разработки предлагаются с открытым кодом.
Правда, относится это не ко всему спектру программных средств. «Открытый код наилучшим образом проявил себя в инфраструктурном программном обеспечении, — отметил директор Apache Software Foundation Бертран Делакрета. — Для приложений такой результат менее вероятен, потому что чем выше вы поднимаетесь по программному стеку, тем труднее проводить согласования. Справедливо и то, что число разработчиков, проявляющих интерес к программному обеспечению с открытым кодом, по мере движения вверх по стеку будет сокращаться.
Но для ключевого инфраструктурного программного обеспечения именно открытый код становится дополнительным стимулом для инноваций. Перефразируя Уокера, в последующие 20 лет мы будем наблюдать тенденцию к сворачиванию «очередных изобретений инфраструктурных программных колес» на предприятиях с одновременным ростом их участия в работе сообществ сторонников программного обеспечения с открытым кодом.