Ядра и обрамление

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

Все системы BSD-клана на протяжении длительного времени разрабатывались именно как системные целостности (и, что немаловажно, всегда -- сравнительно узкими коллективами разработчиков). Поэтому почти все составляющие их базовых комплектов -- это неотъемлемые части этих ОС, созданные специально для них. Хотя есть и исключения, о чем я скажу чуть позже.

С Linux ситуация принципиально иная. Ибо большинство наиболее важных компонентов Base Linux, такие, как компилятор gcc, общесистемная библиотека glibc или командная оболочка bash, были разработаны до Linux'а, независимо от него, и по большей части в рамках проекта GNU, развивавшегося на протяжении многих лет с целью создания свободной альтернативы классических UNIX-утилитам проприетарного характера. И которые ко времени зарождения Linux'а имели за собой длинную историю.

Так что, по выражению Столлмана, проекту GNU не хватало только ядра для превращения в полноценную, противостоящую проприетарным UNIX'ам, операционку. И потому кажется, что термин GNU/Linux, на котором, применительно к этой ОС, настаивают Столлмана и FSF (а вслед за ними и многие другие), имеет право на существование.

Однако лично мне он не нравится. Во-первых, он оскорбляет мой литературный вкус. Во-вторых, и это важнее, он не вполне правилен по существу. Ведь, если обратиться к истории, можно увидеть, что не проект GNU ухватился за столь недостающее ему ядро. Напротив, это Линус для обеспечения работы своего ядра использовал отдельные компоненты из GNU-арсенала. В полном, к слову сказать, соответствии с духом и буквой GPL и движения FSF.

Так что заслуга построения Linux'а как цельной, самостоятельной и самодостаточной системы принадлежит Линусу. Ну и тому множеству разработчиков, которые приняли в этом участие -- никто из них ведь не настаивал на том, чтобы в названии системы фигурировало его имя или название программы, которую он написал.

Интересно, что никто вроде бы не настаивает на термине GNU/Solaris, хотя, как я уже говорил на предыдущей странице, пользовательское обрамление её ядра и системных средств -- те же самые GNU-утилиты, что и в Linux. Не применяется суффикс GNU и в отношении клона OpenSolaris, Nexenta, в которой имеется не только пользовательское GNU-окружение, но и инфраструктура пакетного менеджмента, заимствованная из Debian'а -- дистрибутива, наиболее последовательно следующего идеологии GNU. Хотя, с другой стороны, достаточно давно развивается проект Debian GNU/kFreeBSD, не так давно обрётший официальный статус.

Кроме того, особенностью комплекса Base Linux (и это -- второе важное его отличие от Distributions из FreeBSD и Base остальных BSD-систем, а также от Solaris и его клонов) является его альтернативность. Причем даже для самых ключевых компонентов базовой системы -- командной оболочки, главной системной библиотеки, средств работы с файловыми системами.

Так что альтернативность Base Linux -- неотъемлемая черта этой операционной системы. И потому ОС Linux -- не только (а может быть, и не столько) ядро и набор базовых программ, а в первую очередь алгоритм для построения такого набора. Видимо, именно этим он и привлекает определенную категорию пользователей -- возможностью соучастия в построении основы основ системы, недостижимую не то что в Windows, но даже в мире BSD с его камерным стилем разработки. Не зря дедушка русского линуксописания, Владимир Водолазкий, отметил в свое время, что быть просто пользователем Linux- скучно. И действительно, рано или поздно любой линуксоид становится творцом -- по крайней мере, в масштабах своей локальной машины. Правда, в не меньшей мере это относится и к пользователям BSD-систем. А с недавних пор аналогичный конструктор в виде Nexenta Core Platform предлагается и для систем на базе Solaris.

В заключение разговора о том, как кого следует называть, приведу свою версию этой проблемы. А именно, по хорошему к каждому названию UNIX-подобной операционной системы нужно прибавлять букву X -- в знак использования в ней Иксов. Потому что, как уже было сказано, большинству GNU-компонентов можно подобрать более иные альтернативы. Тогда как Иксы заменить абсолютно нечем. А ведь без Иксов ни о каких десктопных применениях Linux, любой BSD или Solaris говорить просто не приходится. Да и всякого рода серверные и сетевые приложения всё чаще использую графические web-интерфейсы, без Иксов не реализуемые.

Шутка, конечно, -- но лишь с долей шутки. Ибо когда проект XFree86 выпустил очередную версию своей реализации Иксов, 4.4, под новой лицензией, требующей чего-то подобного, причём в гораздо более мягкой форме, он был подвергнут остракизму всеми ревнителями свободы софта. В результате чего и был повсеместно заменён на Xorg. Сначала это сделали пуристы, типа разработчиков Debian. А потом их примеру пришлось последовать, совместимости ради, даже абсолютно индифферентным к таким вопросам людям вроде Патрика Фолькердинга и разработчиков NetBSD.


Теги: