Смена версии в мире ИТ — это яркая презентация с фуршетом и сувенирами для прессы, интервью отцов-основателей, устало улыбающихся на камеру, толпы поклонников, осаждающих магазины и готовых продать почку, чтобы заполучить новинку раньше других. Ничего этого не было 29 мая, когда руководитель самого масштабного софтверного проекта на Земле известил о решении дать следующей версии скромный номер 3.
В сопроводительном письме для коллег он так и написал: никаких революционных новшеств, никаких принципиальных изменений, только рутинные фиксы ошибок. А номер сменил потому, что настало время. Стоит ли говорить, что позволить себе такое мог только один человек? Речь конечно же о Линусе и его Линуксе.
Линус Торвальдс начал разработку собственной операционной системы в 1991 году, ещё будучи финским студентом. Изюминкой проекта стала избранная автором лицензия (GNU General Public License), разрешающая почти неограниченную свободу действий пользователя. Несколько упрощая можно сказать, что человек или компания, получившие копию Linux, вправе запускать, изучать, модифицировать и распространять её как им заблагорассудится, при соблюдении единственного условия поставлять вместе с копией и её исходные тексты, так чтобы другим пользователям были доступны те же возможности.
Линус переехал в США в 1997, но и по сей день занимается тем же самым, с чего начинал: он руководит процессом разработки сердца Linux — её ядра (для простоты его называют Ядром, с большой буквы).
Свежая версия выпускается раз в несколько недель, причём последние восемь лет нумерация велась в рамках ветки 2.6.x. За это время были сделаны четыре десятка только крупных стабильных релизов, не считая вспомогательных, а размер кода вырос почти втрое (до 15 млн. строк на языке C). Неудивительно, что вот уже год как ведётся дискуссия о необходимости смены номера. Среди предложений был переход к серии 2.8, но Линус счёл объём наработок достаточным, чтобы в своей обычной шутливой манере анонсировать 3.0.
Регулярный выпуск версий, учитывающих все нововведения, означает, что по крайней мере с конца девяностых смена номера не несёт серьёзных, резких изменений в механике работы Linux. Преимущество такого подхода — отсутствие огромного количества багов, которые неизбежно сопутствуют большим переменам в коде. Таким образом переезд на версию 3.0 должен пройти безболезненно, ведь новое Ядро лишь незначительно отличается от предшествующих ему 2.6.32-2.6.39, которые уже используются дистрибутивами Linux.
В свою очередь линуксовые дистрибутивы живут по схожим правилам. Это огромные коллекции программ, построенные вокруг Ядра, и эксплуатирующие для взаимодействия между собой стандартные протоколы, так что замена одного из компонентов на более свежую версию не требует перестройки всего комплекса. Кроме того, в подавляющем большинстве случаев, добавление новых функций не означает уничтожения старых.
В результате Linux, словно вода, плавно заполняет одну нишу за другой. К примеру, в самом популярном из независимых дистрибутивов, Debian GNU/Linux, сегодня содержится около 30 тысяч программ, а работает он на всех популярных микропроцессорных архитектурах.
Ядро Linux и его разработка являют собой образцовый пример управления большим проектом. Сегодня его основатель редко пишет код сам (вспоминая о таких минутах как о счастливых), он давно делегировал полномочия программистов другим участникам, сосредоточившись на координации их действий. Фактически Ядро создаётся руками тысяч энтузиастов и (по большей части) компаний, заботящихся о драйверах для своего «железа» и совместимости со своими программными комплексами.
Общий объём кода, написанный лично Линусом, составляет теперь менее одного процента; больше того, он детально осведомлён о работе лишь незначительного числа узлов. Линус, которого — с его собственной подачи — называют «великодушным диктатором», не определяет даже общий курс проекта, предоставив это право рынку.
Инициатива добавления новых функций почти всегда исходит от рядовых участников. Если случаются пересечения и одна идея оказывается реализована дважды, приговор менее удачному из двух выносят пользователи. Эту нехитрую стратегию, на первый взгляд кратчайшим путём ведущую к краху, Линус изложил в своей книге «Just for fun: рассказ нечаянного революционера», опубликованной десять лет назад. И с тех пор её эффективность только подтверждается.
Да, эти годы не были самыми удачными для Linux на десктопе. К примеру, свободная, а потому бесплатная ОС казалась идеальным вариантом для нетбуков, но среднестатистический пользователь оказался не готов менять свои привычки. Волна возвратов привела к тому, что большинство портативных машин класса low-end продаются теперь с насильственно изувеченной MS Windows 7, словно бы в издёвку названную «начальной». Но Линукс отыграла своё в других сегментах рынка.
Девять десятых из пятисот самых мощных суперкомпьютеров планеты работают сегодня под управлением свободной ОС. Доминирует она и в мобильном секторе, где все, за исключением iOS, имеющие хоть какое-то влияние операционные системы фактически являются её вариациями. Android, Chrome OS, MeeGo, webOS — всё это Линукс, подвергнутый косметическим изменениям.
Наконец, давайте не будем забывать о той незаметной роли, которую играет Linux в жизни глобальной сети и многих веб-проектов, появившихся за последние годы. Представьте, насколько дороже стал бы интернет-доступ и интернет-услуги вообще, если бы провайдеры были лишены свободных (читайте: бесплатных) Linux-инструментов. А состоялся бы Facebook, поднятый на свободном софте в студенческом общежитии? А феномен Android с нулевыми лицензионными отчислениями?
Постперсональная эра обещает новые препятствия, но Линус смотрит в будущее с оптимизмом. Основатель свободной ОС уверен, что инновационный акцент уже перенесён собственно с ядра на уровень прикладных программ. А значит и противостоять проблеме софтверных патентов, осваивать облака и планшетки будет не только узкий круг ядерных хакеров, но всё сообщество пользователей.
Ядро же останется уникальным фундаментом для любых начинаний. Linux давно стала самой переносимой операционной системой и продолжает активно осваивать новые архитектуры, включая как выведенные на массовый рынок новейшие gCPU (см. «Слияние CPU и GPU…»), так и малоизвестные экспериментальные процессоры вроде дешёвого китайского UniCore и массивно-параллельного американского Tile.
Что касается релиза за номером 3 и связанной с ним шумихи, то её скорее всего не избежать. Официально ядро Linux 3.0 будет выпущено в июле-августе, ближе к 20-летнему юбилею системы. По мере того как разработчики дистрибутивов будут интегрировать новинку в свои продукты, начнётся и стихийная PR-кампания. Увы, публика любит круглые даты и ровные числа. Так что, наверное, придётся праздновать.