LXF70:Debian
|
|
|
Sarge, наконец-то, вышел. Когда-то в это верилось с трудом — казалось, скорее полетит поросенок, впрочем, и сейчас люди говорят не о новых функциях и усовершенствованиях, а о задержках и недостатках. Ричард Драммонд (Richard Drummond) рассуждает о том, что ждет самый свободный дистрибутив Linux в будущем.
Содержание |
6 июня этого года мир практически услышал вздох облегчения тысяч разработчиков Debian со всех уголков земного шара: дистрибутив Debian GNU/Linux 3.1 под кодовым названием Sarge был официально выпущен в свет после трехлетнего периода созревания. Кое-кто даже не надеялся дожить до этой даты.
В индустрии разработки программного обеспечения редко удается отдохнуть. Едва закроется дверь за очередной версией, как уже пора подумать о следующей. И проекту Debian придется столкнуться с новыми трудностями по мере работы над Etch — таково кодовое имя будущей стабильной версии Debian.
Основной проблемой является внутренний менеджмент: как разработчики смогут гарантировать пользователям, что Etch не придется ждать еще три года? Люди, может быть, и согласятся ждать столько времени благодаря особому положению, которое занимает Debian среди других дистрибутивов Linux. Однако, с учетом большого числа «потомков», приобретающих все большую популярность, Debian не может позволить себе терять времени даром.
Проект Debian — это сообщество разработчиков, связанных целью создать высококачественную операционную систему исключительно из свободных компонентов. Слово «Debian» происходит от имени основателя проекта Яна Мердока (Ian Murdock) и его подруги (а сейчас — жены) Деборы. Сегодня, все официальные выпуски Debian строятся на ядре Linux и утилитах, созданных в рамках проекта GNU Project, таким образом, самым правильным названием является Debian GNU/Linux, хотя его часто сокращают до «Debian».
В том, что касается популярности, дистрибутив Debian обычно занимает вторую строчку рейтинга, уступая лишь Red Hat. Он также является самым крупным и включает в себя 15 000 пакетов, поддерживаемых для 11 основных аппаратных архитектур и еще большего числа субархитектур, варьирующихся от КПК до мейнфреймов. Однако, Debian существенно отличается от своих конкурентов.
Начнем с того, что Debian — это некоммерческая организация, существующая за счет пожертвований Software In the Public Interest, и, самое главное, все разработчики Debian — добровольцы.
Во-вторых, Debian очень серьезно подходит к вопросу использования только свободного ПО. Его обязательства перед сообществом и пользователями изложены в Социальном Договоре Debian (Debian Social Contract), в котором ясно говорится: «Debian останется свободным на 100 %». Руководство Debian Free Software Guidelines (DFSG) перечисляет требования, которым должна удовлетворять программа для того, чтобы ее признали свободной и приемлемой для включения в основной репозитарий Debian.
Случилось так, что DSFG было использовано инициативой Open Source Initiative в качестве основы для дефиниции Open Source Definition, используемой для продвижения концепций свободного ПО в мир большого бизнеса. Идеи, изложенные в данном документе, насчитывают уже 12 лет и относятся к дате рождения Debian.
Новый тип дистрибутива
Проект Debian был представлен миру в августе 1993 года. В то время крупных коммерческих поставщиков Linux: Red Hat, SUSE, Mandrake еще не существовало, а доступные дистрибутивы не отличались высоким качеством. Основатель Debian Ян Мердок был по горло сыт популярным в те дни дистрибутивом SLS. Он писал в Манифесте Debian (Debian Manifesto): «Вероятно, это самый ненадежный и плохо поддерживаемый дистрибутив из ныне существующих, к сожалению, он же, видимо, и самый популярный».
С уверенностью, присущей только очень молодым и очень опытным, Мердок, тогда еще студент университета Падью (Purdue university) в штате индиана, решил, что он может сделать нечто большее. К счастью, это высокомерие не ослепило его и позволило видеть ошибки создателей других дистрибутивов. SLS и подобные решения обычно собирались одним человеком или небольшой группой людей, у которых просто не было возможности производить, тестировать и поддерживать высококачественный дистрибутив. Мердок понял: чтобы все сделать как нужно, ему потребуется помощь добровольцев.
Второй гениальной догадкой было позаимствовать схему, успешно применяемую линусом Торвальдсом для разработки ядра Linux. Впоследствии, антрополог свободного сообщества Эрик Рэймонд (Eric Raymond) назовет ее Базаром (Bazaar). Ключом к созданию операционной системы в распределенной, децентрализованной среде явилась модульность, в качестве единицы которой Мердок предложил использовать программный пакет.
Теперь на каждого добровольца была возложена ответственность за сопровождение одного, двух или большего числа пакетов. Процесс их сборки контролировался строгими правилами, благодаря которым все они легко составляли единое целое — полноценную операционную систему.
В наши дни легко забыть, какой революционной была эта идея, поскольку сейчас ее используют все. Пионером, тем не менее, был Debian. Конечно, чтобы развить инструменты и методы и сделать Debian таким, каков он сейчас, потребовалось время. Самые первые выпуски дистрибутива не использовали для управления пакетами dpkg. Эта утилита, как и политика ее использования, была предложена про- граммистом Яном Джексоном (Ian Jackson) в 1994 году. Также, хотя Debian всегда был сторонником свободного ПО — в своем Манифесте Мердок критиковал создателей других дистрибутивов за «тенденцию замалчивать, что Linux — свободная ОС», эта приверженность оставалась не увековеченной в камне Социального Договора до тех пор, пока бразды правления проектом не перешли к Брюсу Пиренсу (Bruce Perens).
Неважно, как Debian изменялся с годами, но его задача всегда оставалась прежней — создавать и поддерживать высококачественный, свободный от ошибок дистрибутив Linux. Говоря словами Мердока из того же Манифеста: «Главная задача проекта Debian — создать, наконец, дистрибутив, достойный ассоциироваться с именем Linux. Debian собирается заботливо и добросовестно и будет поддерживаться с таким же вниманием».
Преимущество Debian
У Debian есть почитатели и в высших кругах. HP предлагает поддержку и решения на базе этого дистрибутива, Мюнхен выбирает его для использования на 14 000 рабочих станций, а правительство области Экстремадура в Испании создает на основе Debian собственный дистрибутив Linex для внедрения в офисах и школах.
Фактически, Debian приобретает все большую популярность как фундамент для создания специализированных решений. Настольные дистрибутивы от коммерческих поставщиков Linux, Linspire и Xandros, берут свое начало в Debian. В недавней статье на Slashdot утверждается, что на Debian базируется больше дистрибутивов, чем на Red Hat. Мало того, по данным сайта distrowatch.com «потомки» Debian еще и популярнее, чем отпрыски Red Hat.
Что же привлекает миллионы пользователей со всего мира? И почему Debain – разработка сообщества – так интересует организации и правительственные учреждения?
Влечение бизнес-структур к Debian объяснить не так уж сложно. Он привлекателен для них по той же причине, что и Linux, и Open Source в целом. Помимо технических аспектов, ключевым преимуществом Debian является свобода и потенциал создающего его сообщества. Debian уже 12 лет и он пока что не собирается уходить со сцены – разве только 1000 с лишним разработчиков решат, что с них уже достаточно и займутся садоводством. Debian не является коммерческой организацией, а потому не может обанкротиться или быть купленным другой фирмой.
Безопасность в числах
Таким образом, Debian является надежной основой для бизнеса. Как пишет Ян Мердок на сайте http://www.ianmurdrock.com: «Речь идет не о технологиях, а о свободе. Вы можете сами управлять своей судьбой, создавать свое будущее, не связывая себя стремлением к прибыли одной американской компании». Эта свобода относится и к индивидуальным пользователям, и к миру бизнеса. В статье, названной «Почему Linux? Почему Debian?» («Why Linux? Why Debian?»), вышедшей этим летом, разработчик Манои Шривастава (Manoj Srivastava) восклицает: «Я не хочу, чтобы моя ОС была заложником чьего-то бизнес-плана!»
Более того, проект Debian очень серьезно относится к использованию только свободного ПО, причем в его понимании слово «свободный» имеет очень строгое определение. В основной репозитарий Debian принимаются только те пакеты, чьи лицензии удовлетворяют DFSG (см. врезку «Степени свободы» внизу этой страницы). В свою очередь, DFSG допускает к использованию лишь лицензии, защищающие право пользователя на применение, изменение и повторное распространение ПО. Однако, требование отказа от авторских прав (copyleft) не является обязательным, поэтому GPL, лицензия X11 или BSD в равной степени совместимы с положениями Руководства.
В прошлом году, разработчики Debian проголосовали за усиление своей приверженности к свободе и распространению этих требований за рамки программного обеспечения. Например, теперь необходимо, чтобы свободная документация не ограничивала право на модификацию текста.
Первая гарантия, которую обеспечивает поправка к Социальному Договору, касается свободных «произведений», а не «программного обеспечения». «В документе Debian Free Software Guidelines предоставлен свод правил, позволяющих определить, является ли произведение свободным. Мы обещаем, что Debian и все его компоненты останутся свободными в соответствии с данными требованиями. Мы будем поддерживать людей, которые создают или используют как свободные, так и несвободные произведения в Debian. Однако, система никогда не будет зависеть от несвободных компонентов».
Благодаря DFSG, коммерческие структуры могут быть уверены, что пока они используют пакеты из основного репозитария Debian, они используют свободное ПО, не связанное ни с какими лицензионными проблемами и вряд ли влекущее за собой юридические последствия.
Зачастую люди считают популярность Debian заслугой пакетного менеджера APT. Он (а скорее, какой-нибудь графический интерфейс, вроде Synaptic) позволяет вам легко загружать на свой компьютер новые или обновленные приложения – и, что более важно, программы, от которых они зависят. APT автоматически разрешает зависимости и избавляет вас от мороки с установкой ПО. Считается, что APT – это «изюминка» Debian, так правда это или нет? В двух словах, нет.
За пределами APT
Несмотря на то, что APT – это великолепный инструмент, сам по себе он не придает веса Debian. Компания Conectiva (впоследствии слившаяся с Mandrakesoft и сменившая имя на Mandriva) четыре года назад переработала APT для дистрибутивов, использующих RPM, но «вкус» получился уже не тот. Существуют другие решения, подобные APT, например, urpm или yum, но и они кое в чем проигрывают своему «прототипу». Возможно, так происходит потому, что RPM по ряду позиций все же не дотягивает до dpkg из Debian. Один из разработчиков Mandriva, Клаудио Мацуока (Claudio Matsuoka) писал в своем дневнике (http://tweek.dyndns.org:8080) о «десяти главных проблемах RPM», среди которых упоминались «разнящаяся обработка файловых зависимостей и большое число скрытых зависимостей, автоматически добавляемых RPM».
Очевидно, dpkg гибче RPM. Например, dpkg допускает большую свободу в описании взаимоотношений между пакетами, которые уже не просто зависят друг от друга. Один пакет может «предварять» (pre-depend) другой, если его необходимо установить и настроить для нормальной установки исходного, «рекомендовать» (recommend) его, что обеспечивает не абсолютную, слабую зависимость, или даже «предлагать» (suggest) другой пакет. В последнем случае наличие пакета не является обязательным, но обеспечит дополнительную функциональность.
Возможности dpkg включают в себя и постинсталляциионные сценарии, которые выполняют любую (в том числе, интерактивную) конфигурацию пакета. В состав Debian включена система debconf, которая предоставляет стандартные средства для организации диалогов в этих скриптах. Кроме того, dpkg предлагает несколько различных интерфейсов (текстовый, GTK и Qt) и может быть настроен на запрос различного объема информации в зависимости от приоритетов. В случае автономной инсталляции debconf может не задавать ни единого вопроса, и все параметры будут заполнены значениями по умолчанию.
Конечно, ни RPM, ни dpkg не являются совершенными, хотя dpkg универсальнее и надежнее. Основной причиной, по которой Debian превосходит RPM-дистрибутивы в управлении пакетами, является всесторонняя политика Debian, устанавливающая правила для сборки пакетов и инструменты, которые претворяют ее в жизнь. Стабильный выпуск Debian никогда не будет включать в себя пакеты, не удовлетворяющие политике Debian Policy. Строгие правила и мощь dpkg приводят к тому, что базовая инсталляция Debian гораздо меньше по размеру, чем дистрибутив на базе RPM. В частности, правила Debian Policy требуют, чтобы разделяемые библиотеки составляли отдельный пакет (а не распространялись вместе с использующими их программами), имя котрого выбирается в соответствии с ABI (Application Binary Interface, бинарный интерфейс приложения) текущей версии библиотеки.
Это весьма помогает в борьбе с «кошмаром DLL», когда невозможно установить две разные версии одной и той же библиотеки из-за их конфликта. В Debian такой проблемы просто не существует. Эти технически преимущества, вкупе с гарантиями, предоставляемыми Debian, упрощают персонализацию системы и делают его популярной основой для желающих создать свой собственный дистрибутив.