Компьютерра - Журнал «Компьютерра» № 20 от 30 мая 2006 года
Тем временем закончились Unix-войны. Усталая AT&T на все плюнула и продала все связанные с Unix права, патенты и исходные коды фирме Novell; та тоже недолго мучилась и продала Unix частями: все права на торговую марку и название ушли в упомянутую выше X/Open, а права на исходный код — в печально знаменитую SCO Group (которой эти права не принесли счастья).
А вот из X/Open, в которой объединились ведущие поставщики Unix для создания общего стандарта[Собственно, именно это, а не уход AT&T, положило конец Unix-войнам], вышел толк. Объединившись в 1996 году с Open Software Foundation, под общим названием The Open Group, заполучив в свои ряды практически всех основных unix-игроков, некоммерческая организация занялась разработкой общей спецификации Unix (Single UNIX Specification), которая и вышла в 1998 году. Некоторое время Single UNIX Specification и POSIX существовали параллельно (причиной тому — бытовавшая в IEEE странноватая практика продавать копии стандартов за большие деньги и запрещать их свободное распространение); однако, в конце 90-х была создана специальная Austin Group, занятая объединением двух стандартов. В результате, в 2001 году вышла Single UNIX Specification 3, которая является одновременно и POSIX-стандартом IEEE.
Будучи по сути одним и тем же документом, SUS и POSIX преследуют различные цели: POSIX, как уже было сказано выше, это стандарт, которому должна соответствовать операционная система для переносимости программ; в то время как SUS — стандарт, которому нужно соответствовать, чтобы иметь право употреблять торговую марку UNIX.
И здесь мы возвращаемся к началу статьи и вопросу «что есть Unix». На сегодня все *n?x-системы (в том числе и BSD-клоны, в названии которых нет ни "n", ни "x") принято делить на:
Unix по происхождению: это ОС, которые основываются на оригинальном исходном коде Unix, разработанном в AT&T. Эти ОС совершенно необязательно соответствуют каким-либо стандартам. Этот тип, как правило, включает различные «исторические» версии Unix (созданные еще до появления всяких стандартов).
Unix по праву имени: системы, которые прошли сертификацию The Open Group и имеют право употреблять торговую марку UNIX в своем названии и/или описании. При этом совершенно не обязательно использовать оригинальный код AT&T. В основном это коммерческие дистрибутивы: HP-UX, Solaris и т. п., у авторов которых есть необходимость доказать пользователю «качество» системы и достаточное количество денег и времени, чтобы пройти непростой процесс сертификации.
Unix по функциональности: системы, которые не соответствуют ни пункту (1), ни пункту (2), но тем не менее в большой степени похожи на юникс и совместимы с ним. Сюда входят практически все варианты Linux; сюда же можно отнести открытые BSD-клоны (FreeBSD, OpenBSD и т. д.), которые, хотя и основаны на оригинальном BSD, произошедшем от AT&T Unix, активно развиваются и близки к существующим стандартам. Linux и BSD, разрабатываемые энтузиастами, как правило, достаточно близки к стандартам, но их авторы не горят желанием тратить деньги и время на официальное подтверждение этого факта.
Интересно, что само имя UNIX не рекомендуется употреблять «не по делу», применительно к несертифицированным системам и без значка ®, поскольку оно является зарегистрированной торговой маркой. Зачастую, говоря о *nix-системах, употребляют написание «Unix» или «unix» — вроде бы они зарегистрированными марками не являются[С вопросом больших-маленьких букв в этом слове связан забавный казус: слово «Unix», являясь аббревиатурой, в самых старых документах пишется маленькими буквами с большой "U"; Деннис Ритчи объясняет этот факт просто: «у нас только-только появилась новая пишущая машинка, на которой большие и маленькие буквы различались, и нам очень нравилось с ней играться»].
LSBНесмотря на некоторую отвлеченность Linux от Single UNIX Specification, у линуксоидов тоже есть свои стандарты. Во-первых, стандартно ядро (в силу своей единственности); во-вторых, всякий Linux в меру сил POSIX-соместим; в-третьих, существует LSB.
LSB — это Linux Standard Base; стандарт, расширяющий POSIX, цель которого — увеличить совместимость Linux-дистрибутивов. Помимо вопросов, оговариваемых POSIX’ом, LSB определяет «правильное» расположение основных папок в файловой системе (/bin/ для программ, /etc/ для конфигурационных файлов и пр.), некоторые расширения системы X Windows, систему распространения пакетов[Кстати, система распространения пакетов — одна из крайне спорных частей LSB. Дело в том, что их существует как минимум две («как минимум» — известных и употребляемых во многих системах): rpm (произошедшая от RadHat Linux) и deb (произошедшая от Debian); причем deb гораздо старше и считается более зрелой, но стандарт навязывает использование rpm] и т. п. В отличие от POSIX, LSB в большой степени определяет облик Linux, а не только интерфейс взаимодействия ОС и прикладного софта.
Сертификацией на соответствие LSB занимается та же The Open Group, впрочем, слово «Linux», к счастью, можно использовать и без сертификации. Из распространенных дистрибутивов сертифицированными являются SUSE и RadHat.
Университеты: Виды бесплатного сыра
Авторы: Алексей Ковязин, Кузьменко Дмитрий
Представьте, что идете вы по супермаркету, а вам предлагают не просто попробовать кусочек колбасы нового сорта или продегустировать божоле нового урожая, а бесплатно взять с собой целые батоны сервелата и круги сыра, ящики с вином и пивом. Невольно задумаешься, с чего бы вдруг такая щедрость?..
В супермаркетах, к сожалению, о таком рае для потребителей приходится только мечтать, но вот в мире баз данных сложилась ситуация, весьма сходная с описанной: за последние годы среди производителей стало принято раздавать свои продукты бесплатно, причем это касается не только открытых СУБД вроде Firebird и PostgreSQL, но и коммерческих монстров вроде IBM DB2 и Oracle. Что же стоит за этими внезапными приступами благотворительности?
Бесплатное бесплатному розньДля тех, кто ничего не знает о бесплатных базах данных[Кстати, не бросайтесь сразу набивать карманы. Во-первых, эти продукты никуда не денутся, а во-вторых, некоторые дистрибутивы (например, DB2-C и Oracle XE) «весят» сотни мегабайт], сделаем небольшой обзор. Прежде всего отметим традиционные продукты с открытым кодом: PostgreSQL, Firebird и, конечно же, MySQL.
PostgreSQL
Эта СУБД, поддерживающаяся сообществом энтузиастов, особенно популярна в университетской и научной среде. Она также предлагается многими провайдерами в качестве back-end для веб-разработки. Однако в сфере бизнес-приложений PostgreSQL так и осталась «гадким утенком», поскольку для ее установки (до версии 8) под Windows требовались достаточно сложные телодвижения с установкой cygwin и другим наследием Linux.
По моему мнению, PostgreSQL представляет собой мощный и перспективный «конструктор» для продвинутых разработчиков, которые ценят возможность расширения и доработки движка под свои нужды. Хорошей иллюстрацией «духа» этой СУБД может служить то, что список рассылки ее разработчиков называется «pgsql-hackers». Если уж они сами называют себя хакерами…
Никаких ограничений на использование PostgreSQL нет — это действительно бесплатная СУБД, без всяких подводных камней (в том числе технических и юридических).
Firebird
Побочный результат эксперимента компании Borland c ее СУБД InterBase в 2000 году, когда она была опубликована под лицензией InterBase Public License. Группа бывших разработчиков InterBase и просто энтузиастов скопировала исходные коды и затеяла проект под названием Firebird (любопытно, что проектом никто не владеет — существует только некоммерческая организация Firebird Foundation для поддержки процесса разработки Firebird).
Благодаря почти полной совместимости с InterBase и наличию готовых дистрибутивов для Windows и различных вариантов Linux/Unix, новая СУБД быстро завоевала популярность. Долгое время ее называли «бесплатный InterBase». В настоящий момент готовится к выходу версия Firebird 2.0, которая хоть и сохраняет совместимость с предыдущими версиями InterBase, но сильно отличается от своего предка.
Надо отметить, что коммерческий InterBase (ныне версии 7.5) поныне живет и здравствует, причем наличие InterBase 6 Open Edition и Firebird сыграло ему только на руку в плане увеличения популярности среди начинающих разработчиков, ведь Firebird очень удобна для разработки в качестве «встраиваемого» приложения — то есть «молчаливого» сервера базы данных, который устанавливается в тиражируемых приложениях (например, Firebird используется в качестве движка для компакт-диска журнала «Upgrade»). Конечно, это не означает, что сервер годится только для маленьких приложений, он прекрасно обслуживает системы с числом пользователей 100—150 человек и размером баз данных до 60 Гбайт.
Firebird не имеет никаких юридических или искусственных технических ограничений по использованию.
MySQL
MySQL — первая база данных с открытым кодом, на которой ее создателю, компании MySQL AB, удалось-таки заработать деньги (любой OpenSource-проект финансируется либо спонсорами, как Firebird и PostgreSQL, либо живет за счет продажи услуг и платных лицензий, как MySQL). Это, по утверждению ее PR-службы, самая быстрая в мире СУБД (при определенных условиях, естественно), ее использует NASA (вернее, на ней построены несколько сайтов агентства) и большинство динамических сайтов (а вот это сущая правда).