Маленькое замечание: Петр сгладил некоторые острые углы и в английском варианте оно звучит более мягко
Открытое письмо сообществу Debian Дорогие друзья, уважаемые коллеги. К вам обращается один из российских членов сообщества Debian. Несмотря на то, что я не являюсь какой-либо знаменитостью в сообществе Debian или в России, я решил написать это письмо. Я хочу как высказать свое мнение, так и поделиться некоторыми соображениями касательно Debian. Сразу оговорюсь, что при написании письма я не ставил целью кого-либо обидеть или приуменьшить заслуги как отдельных людей так и сообщества в целом. Я хотел бы, чтобы все заинтересованные люди задумались над теми вопросами, которые я здесь описываю и возможно изменили свое отношение к ним. Но довольно предисловий, приступим. Впервые я установил Debian 3 года назад. До этого я работал с Slackware. Помню свои первые впечатления, о том как сперва испытывал неудобства, но затем проникся удобством и красотой дистрибутива Debian. И по сей день, я очень ценю глубокую продуманность Debian в плане четкой организации каталогов, великолепных возможностей менеджера пакетов dpkg, хорошей наполненностью дистрибутива, в котором есть почти все. До последнего времени, Debian устраивал меня практически во всем. Однако, на сегодняшний день, пути развития Debian отклоняются от тех, что я мечтал и желал бы. Первый недостаток, на мой взгляд, заключается в том, что Debian неоправдано раздулся. Я считал и считаю оптимальным размер в один CD. Один CD - бинарники и один исходники. Мне возразят, что я сам себе противоречу, одновременно желая наполненности дистрибутива и в то же время ограничивая его размер, но я отметаю эти возражения. На сегодняшний день в том же POTATO есть много ненужных пакетов. Я не говорю, что ненужных всем, нет, не всем, но большинству. Кому нужен, например, baby shell? А никто не смотрел сколько в POTATO пакетов с разными версиями IRC клиенов, ftp клиентов, finger, mail клиентов? Зачем так много? Конкретные примеры: сколько у нас MTA? Три штуки: sendmail, exim, smail. А сколько IRC клиентов? bezerk, bitchx, bitchx-gtk, epic, epic4, irssi, liece, sirc, tinyirc, tirc, xchat (в 3-х модификациях), zircon. Аж 12 штук! Куда? А сколько finger? cfingerd, efingerd, ffingerd, fingerd, xfingerd? 5 штук! Куда? Ну и т.д. А ведь это все занимает место. А игры? Многие ли будут играть в такую игрушку как XBill? А скажите мне, зачем в секцию doc были добавлены материалы по анархизму? Кому нужен этот хлам? А Библия? Зачем она там? Религиозные люди имеют дома печатные экземпляры, нерелигиозные не будут ее читать. Как, вы не согласны? А не положить ли вам тогда еще и Коран? А также Бхават-Гиту и т.д. А сколько в дистрибутиве на сегодняшний момент старья? Как вы думаете, это не черезчур, держать версии Tk7.6 и Tcl7.6 только потому, что TkDesk не перенесен на более новые версии. Может лучше его удалить, а вместе с ним и старые версии библиотек? А сколько версий библиотеки Gtk в дистрибутиве в данный момент? Аж три: gtk1.0 gtk1.1 и gtk1.2. Зачем? Если есть старье, которое не собирается с новой gtk1.2, то место ему в помойном ведре, а не в дистрибутиве. Я призываю лидеров пересмотреть принципы формирования дистрибутива. Надо, чтобы дистрибутив содержал ТОЛЬКО необходимые вещи и ТОЛЬКО лучшие, а не все возможные. В дистрибутиве нужен irc клиент. Хорошо! Но пусть это будет ЛУЧШИЙ irc клиент. В дистрибутиве нужны игры. Хорошо! Но пусть это будут такие игры, в которые интересно играть не только детям младшего школьного возраста. И пора почистить дистрибутив от старья. Не вызывает радости бардак, который сейчас царит в POTATO с пакетами, имеющими суффиксы "-dev*" и "-doc*". Теоретически, первые должны были бы находится в секции devel, а вторые в секции doc, но практически они встречаются где угодно. Может все-таки надо повнимательнее следить за такими вещами? Теперь подходим еще к одному "острому углу". Я проанализировал POTATO с точки зрения русского пользователя, которому не нужны пакеты, не относящиеся к русскому и английскому языкам. Я обнаружил, что спокойно могу выбросить более 100 мегабайт. Судите сами - зачем мне нужны китайские шрифты, если я не знаю китайского? Вы скажете, что Debian пользуются многие другие пользователи, а не только русские. Вы правы, но что мешает разделить Debian на интернациональную и национальную части? Представляете насколько бы было удобнее? Тогда скажем я, как русский, мог бы брать общую (интернациональную) часть и русскую, а японец общую часть и японскую. Тогда скажем пользователи-европейцы могли бы даже ничего и не знать про canna, wnn и китайские шрифты, так как эти пакеты им просто не нужны. Зато можно было бы иметь загрузочные дискеты, собранные под нужный язык, а у приложений делать настройки по умолчанию для нужного языка. Таким образом Debian стал бы русским, французским, немецким, японским и любым другим буквально "из коробки". Ну и наконец, сократился бы объем. Многие наверное скажут, что их мало волнует количество CD на которых выходит Debian. Я не хочу жаловаться, но скажу, что, например, мне будет тяжело покупать у дистрибьюторов более 2-x CD. Но не подумайте, что именно из-за этих соображений я агитирую уменьшить объем дистрибутива. Подумайте лучше о том, что большой дистрибутив труднее поддерживать, доводить до ума, выпускать. Задумайтесь над тем, не связан ли столь долгий выход POTATO с увеличением размера дистрибутива. Сроки выпуска новых версий - это снова недостаток Debian. POTATO помоему уже установил рекорд длительности. Так долго не затягивали ни с одной версией ранее. Вот вышел POTATO. С одной стороны - это хорошо, а с другой стороны мы имеем версию Debian, отставшую от жизни минимум на полгода. Наверное, вам не нужно объяснять, что полгода в жизни информационных технологий, а тем более в мире Linux - это очень много. Теперь я хочу поговорить о стандартах. Стандарты - это на мой взгляд тот базис, в котором нуждается Linux и Debian. Не то чтобы стандартов совсем не было. Нет они есть, но некоторые области ими, к сожалению, не затронуты. Возьмем сетевые службы. Их великое множество: httpd, ftp, samba, NFS, IRC, ICQ и т.д. Но вот представьте, что вам хочется узнать какие из них в данный момент установлены в системе. Оказывается, что единственный способ - это посмотреть какие пакеты установлены. Но ведь это крайне неудобно. Намного лучше было бы иметь ОДИН файл, в котором были бы размещены соответсвующие описания. Разработать стандарт на этот файл и добиваться, чтобы при установке каждая сетевая служба была там зарегистрирована. Можно даже пойти дальше и придумать в каталоге /etc целое дерево с каталогами и файлами, где будет хранится информация не только о сетевых службах, но и о многих других вещах. Ну скажем: /etc/registry |-X11/ | |-window-managers информация о установленых менеджерах окон | +-xservers информация о установленых в системе X серверах |-network/ | |-servers информация о установленных сетевых службах | +-clients информация о установленных клиентах сетевых служб ... Я уверено, что немного подумав, вы вполне сможете сами продолжить список. На мой взгляд, существование такого механизма намного облегчило бы жизнь как пользователям, так и программам. В связи с этим, хочу выразить свое несогласие с тем, что файл /etc/X11/window-managers больше не используется. Как было удобно раньше - сразу можно было увидеть все менеджеры окон, установленные в системе и было понятно, что запускаться будет первый. Теперь же все намного хуже, чем было. В версии 1.3 (да и помоему в 2.0 тоже) была возможность отключить запуск xdm, даже если пакет xdm установлен. Это делалось в файле /etc/X11/Xsession.options путем добавления ключевого слова no-start-xdm. Сценарий /etc/init.d/xdm проверят файл /etc/X11/Xsession.options и если видел там данную опцию не производил запуск xdm. Однако в более поздних версиях эту возможность убрали. Но господа, если я установил xdm - это еще не значит, что я хочу запустить его прямо сейчас. xdm - это только пример. Я хочу сказать, что неплохо было бы иметь файл /etc/daemons, каждая строка которого имела бы вид: daemonname: yes|no и любой сценарий, из каталога /etc/init.d, который запускает демон, сперва должен бы был просмотреть файл /etc/daemons и если там стоит "no", то не запускать данный демон. Это бы позволило очень легко и просто избегать нежелательных запусков демонов, даже если пакеты с ними установлены. Не скажу, что эта идея нова. Один мой знакомый сказал мне, что нечто подобное есть в HP/UX. В заключение позвольте пройтись насчет менеджера пакетов. Да, он хорош. Но не кажется ли вам, что за время существования Debian в dpkg так и не было добавлено ничего принципиально нового? Не застой ли это? В то же время, при работе с пакетами есть ряд вещей, которые просто режут глаза. Вам не кажутся странными названия libxxx0-1.deb, libxxx1g-1.deb, libxxx1-1.deb. Что это? Это ОДНА библиотека, но разных версий. А такие названия должны быть потому что dpkg не умеет работать с таким понятием как "сосуществование" разных версий. В результате, чтобы не делался upgrade или downgrade нужны такие названия. А вот если бы в файл control добавить информацию о том, что эти две версии могут сосуществовать вместе и соответственно дописать dpkg, то можно было бы наконец-то избавится от этих ужасных суффиксов в названиях пакетов. У меня есть еще пара-тройка идей как доработать dpkg, но хотя бы сперва избавится от этого. Я не уверен, что многие и особенно лидеры Debian воспримут это письмо серьезно, хотя надеюсь на это. Однако, если хотя бы кто-то задумается на тем, что я изложил, я буду рад. Я заранее приношу извинения, если мысли и идеи изложенные здесь стары, не оригинальны и обсуждались раньше. Ввиду моего плохого знания английского языка я не могу участвовать в живом обсуждении всех событий сообщества Debian. Еще раз извиняюсь за свою эмоциональность, но это от того, что я болею за дело и очень переживаю, когда вижу, что-то на мой взгляд нехорошее. Перевод на английский осуществил Петр Новодворский, за что ему огромное спасибо. Если кто-нибудь в силу праведного гнева захочет высказать мне все, что он обо мне думает, то можно писать мне на адрес [EMAIL PROTECTED] Виктор Вислобоков Пермь, Россия