Девять дней, которые потрясли Open Source

Citkit, 14 ноября 2006 г

Вспомнить об этой уже относительно старой заметке меня побудили некоторые события и размышления, связанные с давним моим хобби — файловыми системами вообще, и, в частности, последним увлечением в этой области — файловой системой btrfs. О чём надеюсь рассказать в ближайшее время.

— У меня есть все основания думать,
что я и один справлюсь со своим делом.
— … В таком случае … у меня есть
не меньшие основания предполагать,
что и я один смогу справиться с вашим делом.
Ильф и Петров, Двенадцать стульев

Как известно, большевикам, чтобы потрясти устои старого мира, потребовалось десять дней. По крайней мере, таковы были результаты подсчетов американского писателя Джона Рида, очевидца, а возможно, и участника тех событий, сочинившего по сему поводу соответствующую книгу, которая так и называется: «Десять дней, которые потрясли мир».

Как известно, большевикам, чтобы потрясти устои старого мира, потребовалось десять дней. По крайней мере, таковы были результаты подсчетов американского писателя Джона Рида, очевидца, а возможно, и участника тех событий, сочинившего по сему поводу соответствующую книгу, которая так и называется: «Десять дней, которые потрясли мир».

Для того, чтобы потрясти мир Open Source, достаточно оказалось 9 дней — оно и понятно, он чуть поменьше мира в целом. Которые уложились в интервал с 25 октября по 2 ноября. Впрочем, точными вычислениями с учетом времени суток и часовых поясов я не занимался, вполне возможно, что хватило всего восьми астрономических дней…

Итак, первый из этих дней выпал на 25 октября, когда компания Oracle объявила о выпуске собственного дистрибутива, предназначенного для работы с ее собственной же СУБД. Впрочем, если принадлежность СУБД Oracle одноименной фирме никем не оспаривается, то относительно дистрибутива возникают вполне обоснованные сомнения. Ибо являет он собой ни что иное, как пересобранный и несколько разгруженный Red Hat.

Как известно, после расщепления Red Hat на ветвь чистого Open Source — Fedora Core, и корпоративный RHEL, свободное распространение последнего в виде, готовом к употреблению, прекратилось. Разумеется, дистрибутив этот, в соответствии с лицензией GPL, по прежнему можно безвозмездно (то есть даром) скачать с официальных серверов — но только в виде исходников, так называемых srpm-пакетов. Из которых, впрочем, можно собрать точный функциональный аналог «настоящего» RHEL — только без фирменной техподдержки. Процедура сборки таких клонов и их распространение, в соответствие с буквой и духом GPL, абсолютно законна, чем уже давно пользуются майнтайнеры, выпуская своего рода «нишевые» продукты — Scientific Linux, ориентированный на использование в сфере науки и образования, и CentOS — своего рода «RHEL для бедных», то есть всякого рода малого бизнеса и пользователей-индивидуалов.

Так что, казалось бы, и Oracle не свершила ничего крамольного, просто использовав возможность разжиться готовой системой на законных основаниях. Почему же ее действия получили столь громкий резонанс в кругах, тем или иным образом связанных с движением Open Source?

«Что позволено Юпитеру, не позволено быку» — говаривали древнеримские греки. К нашему случаю эта фраза применима в инвертированном виде: что вполне естественно для «бюджетных» майнтайнеров, выглядит несколько странно в исполнении гиганта софтверной индустрии. От которого можно было бы ожидать если не создания дистрибутива «с нуля» (в наши дни это просто нецелесообразно), то по крайней мере существенной доработки. Ну и вообще обратной отдачи на благо сообщества.

Нельзя сказать, что Oracle совсем не приложили руку к своему дистрибутиву, получившему имя Unbreakable Linux (от перевода воздержусь — смысл интуитивно понятен, а точный эквивалент подобрать затрудняюсь). Но приложение это было, так сказать, со знаком «минус»: из их фирменной сборки был изъят ряд компонентов, в частности, «конкурирующие» программы — Postgres и MySQL. Впрочем, ознакомиться с этим дистрибутивом «вживе» мне пока не удалось. Хотя он и доступен для свободного скачивания на https://linux.oracle.com/, однако ему предшествует процедура регистрации, а я с некоторых пор принципиально этого не делаю.

Предлагает Oracle и техническую поддержку для корпоративных пользователей — причем по ценам, чуть ли не вдвое более низким, чем Red Hat.

Собственно, последнее и было вторым фактом, вызвавшим возмущение общественности, каковая усмотрела желание «подсидеть» фирму-производителя родительского дистрибутива. Не случайно ответным шагом компании Red Hat стал лозунг — Unfakeable Linux (в переводе, думаю, также не нуждается). Хотя мне первый фактор — то есть отказ от собственного вклада в развитие Open Source, — представлялся более важным.

Однако, когда отгорели костры первых эмоций, настало время задуматься: а так ли все суицидально, как показалось сначала? По здравом размышлении, можно представить себе два сюжета развития дальнейших событий. Первый вытекает из факта предоставления Oracle технической поддержки своего дистрибутива в целом. А это неизбежно вызовет создание соответствующей инфраструктуры и ее развитие, в том числе и финансирование разработчиков открытого софта примерно в тех же формах, как это ныне делают Red Hat и Novell. То есть, в конечном счете, того самого обратного вклада в движение Open Source, которым не пренебрег еще ни один коммерческий пользователь его продукции. И в итоге на поле открытого софта появится просто еще один корпоративный игрок — и игрок далеко не последней категории.

Второй сюжет — это превращение «Несгибаемого Linux’а» от Oracle просто в довесок к их же СУБД, своего рода «стартер» для ее запуска и среду функционирования. И в этом случае мы получаем просто еще один «нишевый» продукт — правда, ниша его оказывается ох какой глубокой (в финансовом выражении). Но на развитии Open Source это скажется, по моему, весьма мало — как мало заметно влияние на него Linux’ов для встроенных устройств и тому подобных узко специализированных систем.

Другой вопрос, как тот или иной сценарий скажутся на положении старейшего коммерческого Linux-дистрибьютора — компании Red Hat. В первом случае она оказывается в положении Кисы Воробьянинова из процитированного в эпиграфе диалога. И, вероятно, ей не останется иного выхода, кроме как, подобно Ипполиту Матвеевичу, в той или иной форме вступить в число пайщиков-концессионеров.

При «нишевом» развитии событий Red Hat тоже ожидает не так уж много хорошего. По данным от Линуксцентра — крупнейшего онлайнового магазина России, распространяющего дистрибутивы, до 80% покупок RHEL (вкупе с фирменной технической поддержкой) выполняется с целью обеспечения работы Oracle. Ведь именно RHEL долгое время был одной из двух официально сертифицированных Linux-платформ для этой СУБД. Но тут у Red Hat возникает возможность «обратиться к истокам» — и вплотную заняться внедрением Linux в десктопную сферу. Не возьмусь судить, насколько это может быть коммерчески выгодно — но вот польза сообществу Open Source от этого была бы несомненно.

Так что первое потрясение Open Source при ближайшем рассмотрении оказывается не столь уж фатальным — хотя на мир свободного софта оно влияние окажет безусловно — и чуть позже я еще вернусь к вопросу, как именно это влияние может проявиться. А вот масштабы второго пока оценить трудно.

Второе потрясение оказалось приуроченным ко второму ноября, когда компания Novell — уже более двух лет являющаяся владельцем второго из «корпоративных» дистрибутивов Linux, Suse, — и корпорация Microsoft объявили о начале сотрудничества в технической, маркетинговой и патентной сферах.

Ну, с техническим сотрудничеством все более или менее понятно: оно направлено на обеспечение совместимости Windows и Linux (точнее, конкретно SLES) в гетерогенных средах, совместимости форматов документов (впрочем, далеко не все из них фигурируют в опубликованных материалах), увязку фирменных служб каталогов (ActiveDirectory и eDirectory).

Маркетинговое сотрудничество также вопросов не вызывает: отныне Microsoft «дает добро» тем своим пользователям, которые нуждаются еще и в Linux’е, на применение SLES от Novell. Конкретно этот «одобрямс» пока выражается в том, что Microsoft будет распространять купоны на техническую поддержку SLES — как это будет выглядеть в реале, я, честно говоря, представляю с трудом.

Так что наибольшее внимание широких народных масс привлекла патентная сторона соглашения. Согласно которой Microsoft предоставляет своего рода индульгенцию разработчикам Novell на использование в Linux’е своих патентованных технологий. А также дает иммунитет пользователям Linux-дистрибутивов Novell от судебных преследований по патентным искам. Более того, индульгенция распространяется, как будто бы, и на независимых разработчиков открытого софта, не используемого в коммерческих целях.

Все это, конечно, очень благородно и должно только приветствоваться. Вот только о том, что патентованные технологии Microsoft тем самым станут открытыми в плане доступности кода и свободными с точки зрения условий распространения, не говорится ни слова. И потому сразу же возникает тот же самый вопрос, который встал после предположения Эрика Реймонда о возможности включения в ядро Linux фрагментов проприетарного кода, в частности, драйверов устройств.

С этим вопросом тесно связан и другой момент, который можно назвать идеологическим или, если угодно, психологическим: не есть ли допуск разработчиков Open Source к патентованным технологиям попыткой вовлечения их в дебри проприетаризма? И не будет ли в дальнейшем найдена юридическая лазейка для требования оплаты патентных отчислений? Или, того паче, для «прихватизации» свободного кода, созданного с использование кода патентованного (или тесно с ним интегрированного). Существующие законы о патентном и авторском праве, а также свободные, GPL-совместимые, лицензии, как будто бы не могут такого допустить. Однако, зная изощренность Microsft в юридическом крючкотворстве, помноженную на финансовую мощь корпорации, кто рискнет утверждать невозможность подобного исхода?

И если такой исход будет иметь место — последствия его предсказуемы с трудом. Опыт давнишней истории с System V и BSD учит, что избавиться от самой малости проприетарного кода гораздо сложнее, чем его включить. И это в свое время сыграло роковую роль в судьбе всех BSD-систем вообще и FreeBSD в частности.

Кстати: в ответ на соглашение Microsoft и Novell компания Red Hat в буквальном смысле грудью бросается на амбразуру дзота. Предлагая своим клиентам, в случае патентных претензий третьей стороны (предлагается угадать с трех раз, какой именно), «встать на их место» и принять удар на себя. Юридически или технологически — это другой вопрос. Судя по всему, предполагается переписывать код, вызвавший патентные трения. Вот только насколько легко это будет сделать? И не окажется ли это той самой соломинкой, которая ломает хребет верблюду?

Есть и еще один осложняющий фактор. Не секрет, что многие разработчики Open Source давно уже не являются энтузиастами-любителями, сочиняющими код в качестве хобби (вспоминается фраза из давнишней статьи в ныне не существующем компьютерном еженедельнике «Софтмаркет»: В свободное от службы время поручик был программером и сочинял разные программки). Нет, многие из них состоят в штате IT-компаний и получают зарплату именно за разработку открытого софта. В частности, кое-кто из ключевых разработчиков ядра Linux расписывается в платежных ведомостях компаний Novell и Red Hat. И как они поведут себя в том случае, если встраивание закрытого кода в ядро будет их служебным заданием? Если положительно — то корпорации, выплачивающие им зарплату, вполне могут полагать, что подобно сыну турецкоподданного, и сами прекрасно справятся с делом дальнейшего развития Linux.

С другой стороны, те же самые ключевые разработчики ядра не только непосредственно программируют сами — кроме того, они еще и аккумулируют код, написанный множеством независимых разработчиков, которые получают зарплату совсем в других местах и совсем за другое (тут на память приходит Кон Коливас, врач-анестезиолог — но имя таким разработчикам легион). И возможность такой аккумуляции зиждилась и зиждется исключительно на доверии: на убежденности широких программирующих масс в том, что ключевые разработчики действуют в интересах сообщества, а не той или иной корпорации. Если это доверие будет поколеблено (обоснованно или необоснованно — это другой вопрос), распадется вся «вертикаль власти», связывающая сообщество. И последствия этого могут быть весьма печальными. В частности, многочисленные форки ядра Linux, что, при наложении на уже имеющееся изобилие его дистрибутивов, даст картину воистину апокалиптическую. В лучшем случае, это будет откат «чистого» Open Source на позиции до 1999 года, когда в прессе и народе впервые заговорили о Linux-буме.

Да и «коммерческому» Linux’у это счастья не принесет — база его разработчиков резко сузится. Причем за счет наиболее квалифицированных энтузиастов — и наибольших энтузиастов среди квалифицированных.

И, наконец, нельзя забывать о «несгибаемых» — Ричарде Столлмене, GNU/FSF и разработчиках Debian. Которые заведомо не пойдут на компромисс ни с какими проявлениями проприетаризма. И они могут оказаться третьим центром кристаллизации среды Open Source.

В общем, не буду выступать в роли пророка. Одно ясно — после этих «Девяти дней» мир Open Source изменится — и весьма сильно. К добру это будет, или к худу, мы узнаем уже через несколько месяцев…