Программное обеспечение с открытым кодом официально существует на протяжении уже 20 лет. Такое, казалось бы, революционное новшество должно полностью изменить сложившийся порядок разработки, продажи и распространения программного обеспечения. Но, к сожалению для тех, кто все же намерен отпраздновать 20-летнюю годовщину, ничего подобного не произошло. Большинство разработчиков большую часть своего времени по-прежнему тратят на создание проприетарного ПО.
Что изменилось за 20 лет, так это восприятие программного обеспечения. Сегодня уже все смирились с мыслью о том, что программные средства могут или даже должны распространяться с открытым кодом, и никакого конца света при этом не наступит. Однако реального полномасштабного открытия кода, возможно, придется ждать еще 20 лет.
Открытый код завоевал инфраструктурные проекты, но не приложения
Возвращаясь в 1999 год, стоит вспомнить слова Эрика Рэймонда о том, что программное обеспечение пишется в первую очередь для его использования, а не для продажи. Следовательно, оно может и должно распространяться с открытым исходным кодом. Однако до сих пор этого так и не произошло. Почти весь код продолжает оставаться закрытым.
За время, прошедшее после того, как термин «открытый код» официально был введен в обиход организацией 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 лет.