Программное обеспечение с открытым кодом не изменило мир так, как это было обещано. По большей части программный код остается проприетарным, несмотря на то что в корпоративных платформах открытый код доминирует. И сегодня возникает вопрос: как такое возможно?
Программное обеспечение с открытым кодом официально существует на протяжении уже 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 (и бывший директор Capital One) Джим Ягельски. – Но они упираются в нехватку ресурсов и инвестиций, что приводит к провалу соответствующих проектов. А это, в свою очередь, порождает волновой эффект, побуждая руководство организаций возлагать вину за неудачи не на себя, а на программное обеспечение с открытым кодом».
Подводя итог, стоит отметить, что главная причина, в силу которой большая часть программного обеспечения не выходит за межсетевые экраны предприятий, заключается в том, что оно обходится слишком дорого и приносит слишком малую отдачу, для того чтобы оправдать вывод его в категорию программных средств с открытым кодом. По крайней мере, такое складывается впечатление. И изменить это впечатление невозможно, не пройдя по пути открытого кода. Но компании не хотят идти этим путем без четких гарантий. Чувствуете, в чем проблема?
Есть надежда, что в следующие 20 лет открытого кода будет больше
Дилемма курицы и яйца постепенно начинает разрешаться благодаря дальновидным усилиям Google, Facebook, Amazon и других гигантов интернет-отрасли, демонстрирующих ценность программного обеспечения с открытым кодом. Конечно, маловероятно, что State Farm или Chevron будут принимать в этом такое же участие, как Microsoft, но уже сейчас мы видим, как Bloomberg и Capital One оказываются вовлечены в процесс разработки программного обеспечения с открытым кодом, чего они совершенно не собирались делать ни в момент появления термина «открытый код» в 1997 году, ни десять лет спустя в 2007-м.
И это только начало. использования программного обеспечения с открытым кодом стало изменение отношения к инновациям в программной отрасли. Мы начинаем верить (и на то есть причины), что самое лучшее, инновационное программное обеспечение предлагается с открытым кодом.
Не будем забывать и о том, что главным результатом прошедших 20 лет наряду с ростомПравда, относится это не ко всему спектру программных средств. «Открытый код наилучшим образом проявил себя в инфраструктурном программном обеспечении, – отметил директор Apache Software Foundation и главный научный сотрудник компании Adobe Бертран Делакрета. – Для приложений такой результат менее вероятен, потому что чем выше вы поднимаетесь по программному стеку, тем труднее проводить согласования. Справедливо и то, что число разработчиков, проявляющих интерес к программному обеспечению с открытым кодом, по мере движения вверх по стеку будет сокращаться.
Но для ключевого инфраструктурного программного обеспечения именно открытый код становится дополнительным стимулом для инноваций. Перефразируя Уокера, в последующие 20 лет мы будем наблюдать тенденцию к сворачиванию «очередных изобретений инфраструктурных программных колес» на предприятиях с одновременным ростом их участия в работе сообществ сторонников программного обеспечения с открытым кодом.
Подводя итог, можно констатировать, что за прошедшие 20 лет программное обеспечение с открытым кодом принесло нам немало, заложив при этом фантастические основы для дальнейшего движения вперед в последующие 20 лет.