О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

29.07.2008

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

CitCity, 18 сентября 2007 г

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

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

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

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

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

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

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

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

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

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

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

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