Google Analytics

суббота, 2 апреля 2011 г.

The Canterbury Project-апрельская шутка, которая заставляет задуматься о совсем не шуточных вопросах недостаточного взаимодействия дистростроителей

Вчера зашёл на www.archlinux.org, а там висит новость о создании нового проекта The Canterbury Project. В анонсе говорилось о создании нового дистрибутива, который будет простым как Arch, стабильным как Debian, податливым(скорее всего на этом месте должно быть слово "гибким", а не "податливым", т.к. обороты речи не переводятся дословно) как Gentoo, иметь солидный фреймворк для создания Live систем как Grml, и открытым(для новых идей и коммитов, наверно...) как openSUSE.

На сайтах всех упомянутых дистрибутивов висела одна и та же страничка приветсвия.Скриншот и ссылки прилагаются:

  • Новость на www.archlinux.org
  • Новость на сайте openSUSE
  • Новость на сайте Grml
  • Новость на сайте Gentoo
  • И, наконец, признание Debian, что это всего лишь первоапрельская шутка.

    Что эта новость - шутка, было понятно сразу. Союз таких разных проектов подобен лебедю, раку и щуке из небезизвестной басни Крылова. Разница в организации пакетных менеджеров, где у Debian и openSUSE c Grlm классический подход, с использованием обычных бинарных пакетов(deb и rpm, но они очень похожи по своему устройству). У Arch бинарные пакеты более простого устройства, и более шустрый менеджер пакетов, а также система PKGBUILD'ов похожая на скрипты для сборки пакетов в системах семейства BSD. А Gentoo вообще создан на идее собирать пакеты под используемую архитектуру со всеми мыслимыми и немыслимыми оптимизациями. И только с нужными вам USE-флагами. Это позволяет вам держать в системе только те программы, которые нужны вам, и только с нужным вам функционалом. Такой аскетизм в IT позволяют получить компактную, нетребовательную к ресурсам и заточенную под ваши нужды ОС. Но при этом немало времени у вас будет уходить на доводку системы до ума. Надо будет изучать зависимости, хорошо разбираться в конфигурации системы и вникать во многие тонкости и ньюансы системы. Кроме того, в отличии от похожего в этом отношении Arch'а вам самим прийдётся собирать все пакеты для вашей системы. И если для таких целей у вас нет сервачка с билд-сервером в подсобке, то сборка пакетов при массштабном обновлении может идти сутками:)

    Кроме того, openSUSE силён в удобстве настройки всего и вся из GUI, прекрасным дизайном и юзабиити, и великолепной поддержкой и документацией.

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

    Grml это базирующийся на Debian дистрибутив, главное достоинство которого - это очень хорошая платформа для создания Live систем, которые грузятся с CD/DVD, а также флеш-брелков и внешних винтов. Используют это чудо бородатые сисадмины и прочий, помешанный на порядке и безопасности, люд.

    Главные достоинства Arch-это простота системы иниациализации, скриптов для сборки пакетов и файов конфигурации. А также свежий, и очень свежий(из AUR) и Git(посредством своих PKGBUILD'ов) софт. Обратная сторона медали-софт не всегда стабильный, у меня например страшно глючил Abiword(при любом размере шрифта курсор оставаля маленьким, и не получалось удалить набранный текст. Исчезала только узкая полоска внизу строки.

    Gentoo-это не дистрибутив, а конструктор LEGO. Из него можно собрать что угодно, хоть игрушку, хоть необыкновенно хорошую и стабильную систему. При этом вы всё затачиваете под свои нужды, и возитесь с его доводкой до ума не меньше, чем с коньками, или Emacs.

    Очень они разные. И объединить их не реально. Но, как мы все знаем: сказка ложь, да вней намёк. Дистрибутивы очень много сил теряют, тестируя и сопровождая одни и те же пакеты, а также изобретая одни и те же велосипеды, но под другим девизом. Почему бы не создать одну рабочую группу, которая бы разработала стандартную систему пакетов, систему разрешения зависимостей и систему сборки и конйигурации, а также иниациализации и тестирования. Ведь имея набор стандартов, и одних и тех же пакетов-работать было бы легче. Пакеты, патчи, различные системы, окружения и фреймворки должны быть стандартными. И разрабатываться одним глобальным сообществом разработчиков. А вот включение в дистрибутив по умолчанию того, или иного пакета или набора пакетов, оформление и т.д. - вот это те облати, которые должны быть в компетенции дистростроителей. Ведь и так уже ясно, что разработка велосипедов, и отличия в устройстве систем управления пакетами, систем сборки пакетов и решение о принятии патчей разработчиками каждого из дистрибутивов в индивидуальном порядке, всё это на годы тормозит прогресс во всей сфере Linux. И это - то, что отпугивает многих разработкчиков профессионального ПО, а также коммерческих игр и приложений. Ведь в ОС, в которой нет стандартов на инсталляционные пакеты, нет гарантии, что нужная библиотека присутсвует в ОС(или что нужная версия библиотеки хотя-бы присутсвует в репозиториях дистрибутива), и даже пути к "стандартным" каталогам на самом деле могут отличаться, а боле старая(или новая) библиотека в зависимостях их ПО может при установке потребовать удалить многие другие программы-такая ОС слишком капризна и сложна в сопровождении для разработчиков подобного ПО.

    В настоящее время гарантированно работают в любом дистрибутиве только открытые программы, исходники которых сопровождающие их разработчики могут пропатчить и собрать с более старыми/новыми версиями библиотек, идущими по умолчнию в данном дистре.

    Так нужен ли нам Canterbury Project? Я думаю-нет, не нужен. Но тесное взаимодействие между разработчиками всех дистрибутивов, создание общей и открытой площадки для создания новых стандартов, и общих проектов по стандартизации и развитию сообща всей экосистемы Linux-да, такой проект нужен. А то провальный LSB, со своими постоянно устаревающими и не актуальными стандартами, явно не справляется со своей работой.

    Комментариев нет: