В этом году у Linux и ПО с открытым исходным кодом было много достижений, но и много неудач. Давайте же покончим с этим и начнем с худшего.
Неудачи Linux и открытого кода
1) Heartbleed. Если вы подходите к написанию открытого кода должным образом, в результате получается прекрасное ПО. Если же воспринимаете открытый исходный код как колдовство, получаете Heartbleed.
Heartbleed, если вы забыли, — это дыра в системе защиты OpenSSL, которая подвела сотни миллионов веб-сайтов. Первопричина заключалась в том, что буквально все исходили из того, что открытый исходный код — это безопасно. И на протяжении многих лет никто не давал себе труда проверить, действительно ли этот код надежен. А он не был таковым.
2) Бои вокруг systemd. Если вы не углублялись в изучение Linux, то никогда не слышали о systemd. Если же вы серьезно относитесь к Linux, вам не уйти от этого знакомства. Изначально systemd — это инструмент, позволяющий контролировать загрузку программ при запуске Linux. systemd имеет сходство с SysV и скриптами инициализации Linux Standard Base (LSB), но задумывался в качестве простого механизма для замены этих устаревших способов запуска Linux.
Однако, поскольку он превратился в сложную программу, которая пытается делать гораздо больше (например, сейчас она необходима для работы рабочего стола GNOME 3.x), он вызвал много критики. Технические проблемы можно свести к тому, что он не придерживается философии Linux/Unix, в соответствии с которой должны создаваться маленькие инструменты, каждый из которых решает только одну задачу. А он расширен за счет включения в него других утилит и создает новые зависимости между программами.
Не в пользу systemd сыграло и то, что его первоначальный создатель, Леннарт Пёттеринг, выступал против Линуса Торвальдса и других ведущих разработчиков Linux. Те, конечно, тоже были не в восторге от Пёттеринга.
Главное же в том, что systemd, тем не менее, стал системой инициализации по умолчанию в большинстве дистрибутивов Linux. Однако многие разработчики по-прежнему ненавидят его. Словом, ситуация была и остается «скверной».
3) Открытый код не лицензируется. Я вовсе не хочу сказать, что GPL утрачивает свою значимость как универсальная общественная лицензия. Я имею в виду, что множество «открытых» программ выпускается без какого-либо лицензирования открытого кода.
Насколько много? В 2013 г. 77% программ, размещенных на сайте GitHub, не имело лицензий. Ожидаются судебные процессы, и мне придется их освещать. Это ужасно!
4) Не были выпущены ни Ubuntu Touch, ни SteamOS. В это же время в прошлом году я думал, что мы увидим смартфоны и планшеты с Ubuntu Touch и/или игровые машины с SteamOS. Ни того, ни другого не случилось. М-да!
Похоже, первый телефон с Ubuntu Touch будет выпущен в феврале 2015 г., а первая игровая консоль с SteamOS еще позднее.
Ладно, это были плохие новости.
Достижения Linux и открытого кода
1) Основной операционной системой для конечных пользователей является, вероятно, Linux. Как такое может быть, если на настольных ПК по-прежнему господствует Windows? Все дело в коварных — и популярных — смартфонах и планшетах с Android. Я еще жду окончательных цифр за 2014 г., но, судя по темпам роста, похоже, что Android, за которой с очень большим отрывом следуют ChromeOS и дистрибутивы Linux для настольных ПК, сделает Linux главной операционной системой для конечных пользователей.
Черт возьми, стала бы Microsoft переносить Office на Android, если бы не рассчитывала на новых клиентов? Думаю, нет!
2) Открытый код становится основной методологией программирования. Четверо из каждых пяти программистов используют сейчас или использовали совсем недавно инструменты разработки открытого кода. Вы мне не верите? Позвольте еще раз сослаться на Microsoft, разрабатывающую преимущественно проприетарное ПО.
В 2014 г. CEO Microsoft Сатья Наделла сказал, что «Microsoft любит Linux». Думаю, Билл Гейтс или Стив Балмер скорее удавились бы, чем произнесли такую фразу. Microsoft открывает значительную часть кода .NET, сотрудничает с Canonical с целью переноса Windows Server на OpenStack и поддерживает ПО с открытым исходным кодом Docker.
Джим Землин, исполнительный директор фонда Linux Foundation, написал недавно в блоге, что «2014 г. стал переломным. Компании решили, что каждой из них необходимо писать слишком много ПО, чтобы делать это самостоятельно. Они избавляются от исследований и разработок в области ПО массового спроса, вкладывая деньги во „внешние исследования и разработки“ с открытым исходным кодом».
Землин прав, и теперь все об этом знают.
3) Открытый код царит в облаках. Точнее, кажется, любая крупная техническая компания в мире поддерживает OpenStack. Даже конкуренты, такие как Microsoft и VMware.
Каждый работающий в области ИТ знает, что будущее за облаками, хотя не всех это радует. А OpenStack становится одной из главных облачных платформ.
4) Red Hat и Canonical в битве за облака. Хотя Canonical не выпустила свои телефоны с Ubuntu Touch, ее версия Linux остается главной для OpenStack. На лидирующие позиции в использовании OpenStack и фактически облаков претендует также и Red Hat.
Идет ли речь об «инфраструктуре как сервисе» (IaaS) или «платформе как сервисе» (PaaS), эти две компании намерены выяснить между собой, чей вариант Linux будет, в конечном счете, доминировать в облаке.
Это будет очень интересная борьба, которая завершится не ранее конца 2015 г. Я бы не взялся предсказать ее исход. Обе компании имеют сильные и слабые стороны, и будет очень интересно посмотреть, чем все это закончится.
5) Docker меняет наши представления о ЦОДах и облаках. Год назад практически никто из вас даже не слышал о Docker, и почти столь же немногие слышали о контейнерах. Теперь Docker привносит технологию контейнеров чуть ли не в каждую компанию, имеющую ЦОД и занимающуюся облачными вычислениями.
Почему? Да потому, что с технической точки зрения, Docker позволяет разработчикам упаковывать, отправлять заказчику и запускать любое приложение в виде облегченного, переносимого, самодостаточного приложения, которое может работать практически везде. С точки зрения бизнеса, причина заключается в том, что Docker предоставляет компаниям возможность запускать примерно вдвое больше приложений на одном сервере, чем виртуальная машина. А какая же компания не захочет наполовину сократить свои затраты на ЦОД?
Общая картина
Если смотреть в целом, то это был хороший год для Linux и ПО с открытым исходным кодом. А следующий год будет даже лучше.
Поймите меня правильно. В 2014 г. было более чем достаточно проблем. Но теперь, когда все поддерживают Linux и открытый исходный код, 2015 г. станет годом, когда эти родственные технологии начнут доминировать в ИТ в целом. Возможно, года Linux на настольных ПК никогда не будет. Но год Linux-ИТ почти наступил.