Unix по функциональности: системы, которые не соответствуют ни пункту (1), ни пункту (2), но тем не менее в большой степени похожи на юникс и совместимы с ним. Сюда входят практически все варианты Linux; сюда же можно отнести открытые BSD-клоны (FreeBSD, OpenBSD и т. д.), которые, хотя и основаны на оригинальном BSD, произошедшем от AT&T Unix, активно развиваются и близки к существующим стандартам. Linux и BSD, разрабатываемые энтузиастами, как правило, достаточно близки к стандартам, но их авторы не горят желанием тратить деньги и время на официальное подтверждение этого факта.
Интересно, что само имя UNIX не рекомендуется употреблять «не по делу», применительно к несертифицированным системам и без значка ®, поскольку оно является зарегистрированной торговой маркой. Зачастую, говоря о *nix-системах, употребляют написание «Unix» или «unix» — вроде бы они зарегистрированными марками не являются[С вопросом больших-маленьких букв в этом слове связан забавный казус: слово «Unix», являясь аббревиатурой, в самых старых документах пишется маленькими буквами с большой "U"; Деннис Ритчи объясняет этот факт просто: «у нас только-только появилась новая пишущая машинка, на которой большие и маленькие буквы различались, и нам очень нравилось с ней играться»].
Несмотря на некоторую отвлеченность 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.
Эта СУБД, поддерживающаяся сообществом энтузиастов, особенно популярна в университетской и научной среде. Она также предлагается многими провайдерами в качестве back-end для веб-разработки. Однако в сфере бизнес-приложений PostgreSQL так и осталась «гадким утенком», поскольку для ее установки (до версии 8) под Windows требовались достаточно сложные телодвижения с установкой cygwin и другим наследием Linux.
По моему мнению, PostgreSQL представляет собой мощный и перспективный «конструктор» для продвинутых разработчиков, которые ценят возможность расширения и доработки движка под свои нужды. Хорошей иллюстрацией «духа» этой СУБД может служить то, что список рассылки ее разработчиков называется «pgsql-hackers». Если уж они сами называют себя хакерами…
Никаких ограничений на использование PostgreSQL нет — это действительно бесплатная СУБД, без всяких подводных камней (в том числе технических и юридических).
Побочный результат эксперимента компании 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 (вернее, на ней построены несколько сайтов агентства) и большинство динамических сайтов (а вот это сущая правда).
У MySQL существует два вида лицензий — Commercial и GPL (community edition). По лицензии GPL пользоваться MySQL можно бесплатно, если обладатель СУБД а) разрабатывает и выпускает OpenSource-продукты, б) использует MySQL только для своих внутренних разработок не-OpenSource-проектов (включая веб-сайты). Как только вы начинаете распространять приложение с закрытым кодом на базе бесплатной MySQL, вы обязаны купить коммерческую лицензию или опубликовать исходный код своего приложения.
Бесплатных СУБД с открытым кодом достаточно много — интересующиеся могут посетить, например, сайт www.faqs.org/faqs/databases/free-databases или набрать в Google «free DBMS» [То есть бесплатные СУБД].
BerkleyDB, SQLite, GnuSQL — вот всего лишь несколько СУБД, про которые можно узнать из обзоров, новостей и рейтингов, но которые большинство разработчиков в глаза не видели, а если и пытались попробовать, то почти всегда сталкивались с одной и той же проблемой — нужно быть крупным специалистом (или нанять такового), чтобы заставить их работать на реальных промышленных данных, а тем паче построить на их базе тиражируемое приложение, которое не страшно отдать в руки чужого администратора с тремя неполными курсами политехнического образования.