QNX, открой личико!

Алексей Федорчук
18 сентября 2007 г

QNX… Таинственная, несмотря на прекрасную документированность (в том числе и на русском) система, о которой многие слышали, но мало кто видел. Микроядерная ОС реального времени, с собственным, весьма своеобразным, графическим интерфейсом, именуемым Photon (и действительно работающим с субсветовой скоростью). Система промышленного назначения, вовсе не рассчитанная на десктопы (хотя при определенных условиях могла бы использоваться и в этом качестве). Которой приписывают управление ядерными реакторами и ракетными комплексами. Быстрая и компактная (некоторое представление о ней можно получить здесь). Бесплатная при индивидуальном применении и более чем дорогая при использовании коммерческом. И — до недавнего времени — система сугубо закрытая.

И вот — сенсация: производители — а в этом качестве традиционно рассматривается фирма QNX Software Systems, которая с некоторых пор (точнее, вот уже почти три года) фактически принадлежит автомобильному концерну Harman… Так вот, производители начали поэтапное открытие исходных текстов QNX.

Первым этапом было предоставление доступа к исходным текстам знаменитого микроядра QNX Neutrino, главной библиотеки C, некоторых драйверов для взаимодействия оборудования.

В последующем планируется обречь этой же участи исходники графического интерфейса пользователя — не менее знаменитого Photon’а, файловой системы, базовых утилит. После чего эту систему можно будет считать почти столь же открытой, как Linux или любую BSD.

Почти — потому что лицензия, под которой открываются исходники, весьма своеобразна. Это не BSD-лицензия, и тем более не GPL любого рода. Имя ей — QNX hybrid software model. На деталях ее пока задерживаться не буду, так как в ближайшие дни рассчитываю на полное прояснение ее условий. Пока же, в меру своего понимания, замечу, что она напомнила мне лицензию, под которой Trolltech распространяет Qt: возможность сторонним разработчикам вносить изменения в код, бесплатность для некоммерческого использования и платность — для использования коммерческого. Причём разработчики не обязаны делать достоянием общественности свои достижения, а вполне могут сохранять их в составе закрытых систем (и здесь мы видим влияние скорее лицензии BSD, нежели GPL).

О причинах, толкнувших на такой шаг разработчиков, не берусь даже гадать. А вот о его возможных последствиях порассуждать интересно.

В первую очередь, каких последствий точно не воспоследует.

А именно, не следует ожидать, что разработчики Open Source всё бросят и кинуться писать драйверы для QNX, призванные поддерживать все изобилие PC’шного оборудования. То есть «десктопизации» этой ОС не произойдет. Хотя приток независимых разработчиков в областях традиционного использования QNXС, конечно будет — вероятно, это и есть один из резонов производителя открыть исходники.

Во-вторых, наивно было бы ожидать и того, что конечные пользователи Linux или BSD будут сносить свои годами проверенные и привычные системы, устанавливая вместо них (или даже вместе с ними) QNX.

В-третьих, не следует думать, что своим актом разработчики превратили QNX в систему открытую и свободную (в понимании ли FSF или движения Open Source). Нет, она остаётся собственностью соответствующей компании (а в конечно счёте, вероятно, концерна Harman). И последней вольно как открыть исходники, так и закрыть их — если нынешнее мероприятие почему-либо не оправдает ожиданий собственника. В 90-х годах это проделывали и Sun со своим Solaris’ом, и DEC с Tru64 Unix (хотя исходники последней закрывал, кажется, уже Compaq).

Нет, значение открытия исходников QNX видится мне в другом. А именно — во взаимном обмене идеями. Как известно, все хорошее, что появляется в Linux’а, очень быстро перекочевывает в BSD-системы, и наоборот. Так что теперь и многое хорошее из QNX теоретически может перекочевать в открытые Unix-подобные системы. И не обязательно на уровне кода — возможно, на уровне идей.

А что хороших идей в QNX заложено немало — думаю, спорить не будет никто из тех, кто хоть раз видел эту систему. Одна идея сверхлёгкого и сверхбыстрого Photon’а дорого стоит. Кто знает, а вдруг она найдёт свое предназначение, например, в Minix3? Или — в DragonFlyBSD? Ведь из всех монолитно-ядерных систем последняя идеологически наиболее близка «микроядерщикам».