[devel] Надёжность Sisyphus

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Пн Ноя 24 14:21:17 MSK 2003


On Mon, Nov 24, 2003 at 09:27:44AM +0200, Michael Shigorin wrote:

 >> Мне кажется, что огранчения первого типа могут вызывать какие-то
 >> неприятности (если они неразумные), а второго типа -- вряд ли. 
 > Да; проблема в том, что (на сейчас) первое автоматизируется,
 > второе -- непонятно как (с тем чтоб реально, а не схема, которая
 > будет великолепна и никем не используема).

Разумеется. Поэтому я и предлагаю схему, которая будет _работать_ (пусть и
не с лучшей эффективностью) даже если на неё все забьют, и при этом будет
работать весьма эффективно, если ей начнут пользоваться (т.е. отсылать
репорты о тестировании).
 
 > >  > > разные периоды тестирования, и тем, что этот период будет
 > >  > > зависеть от того, сколько человек (и какого ранга) подписали
 > >  > Вот и появилось слово "ранг".  Чем же он определяется?
 > > Для некоторых пакетов (openssh, pam, tcb, glibc, login) он
 > > искуственный, и задаётся ручками, скорее всего security
 > > командой. Для всех остальных его можно рассчитывать. По поводу
 > > того какая формула даст пригодный практически результат ещё
 > > стоит подумать, но базироваться рассчёт должен на:
 > >  - количестве прямо зависимых пакетов (и их ранге?)
 > >  - количестве косвенно зависимых пакетов (и их ранге?)
 > >  - группе, к которой относится пакет (скажем если он из группы
 > >    Games, то требовать для него месяц тестирования или десяток
 > >    подписей по меньшей времени неразумно).
 > Вот.  Мне в голову что-то подобное тоже приходило, но у Вас
 > получилось сформулировать.
 > (на самом деле это добавляет в разработку sisyphus еще один
 > спортивно-соревновательный момент :))

Об этом я не подумал. Интересная мысль. Тогда эту статистику в каком-то
виде надо публиковать.

 >>> (собственно, нечто вроде freshmeat/slashdot-like системы
 >>> давно напрашивается применительно к _пакетам_)
 >> Я не знаком с этой системой.
 > Схожая шкала с влиянием оценки на ранг, зависящей от ранга
 > оценивающего (в т.ч.), если правильно понял (в случае /.).

Ввести ранг оценивающего это очень важно, но я себе не очень представляю
как это сделать. Можно, конечно, сделать его зависимым от той же важности
пакетов, мантейнером которых он является, но разумную формулу (которая не
делала бы отчёт человека, у которого, скажем, ещё ни одного пакета, или
его пакет не имеет зависимых от него, бессмысленным).

 > Мы тут подумывали сделать нечто вроде community site с
 > возможностью публикации резюмов и проделанных работ _и_ вот такой
 > вот оценки, чтобы профессиональный журнал человека мог быть
 > оценен и сравнен при принятии решения о взятии его на работу.

Интересная мысль.
 
 >>>> Почему, если для предлагаемой мною модели форка практически
 >>>> не требуется человеческих ресурсов?
 >>> Sure? (я могу чего-то не понимать, но и setup time
 >>> (написание кода для переноса, инициализация этих самых
 >>> рангов, ...), и runtime (подписи, проверка, перекладывание?)
 >>> -- в т.ч. и человекоемкие вещи.
 >> 1. написание кода -- да, это некие ресурсы, если в ходе
 >> обсуждения мы сможем чётко сформулировать ТЗ, то, _возможно_, я
 >> это напишу (руководствуясь основным принципом Open Source --
 >> тебе нужно, ты и пиши).
 > Эт хорошо.

 >> 3. подписи -- один скриптик, и для человека сделать и отправить
 >> подпись будет задачей на несколько секунд.
 >> 4. проверка -- дык если мне пакет _нужен_, то я с удовольствием
 >> его проверю (особенно если у меня из репозитария какая-нибудь
 >> машина автоматом апгрейдится :) А смысл этой проверки -- просто
 >> сказать "да, _меня_ этот пакет устраивает".
 > Ну положим.

Этот пункт критичен, и для реальной работоспособности необходимо именно
его донести до остальных. Человек подписывает пакет не тогда, когда он с
его точки зрения идеален, а тогда, когда лично он готов его использовать
у себя.
 
 >> Вывод: человекоёмким будет только создание этой системы, с
 >> учётом пользы, которую это принесёт, такие затраты вполне
 >> оправданы.
 > Это понятно.  Тут просто наблюдается хроническая нехватка
 > ресурсов на автоматизацию из-за недостатка этой самой
 > автоматизации...

Змкнутый круг. IMHO такой круг рвётся только тем, что задачи по
автоматизации на некоторое время выносятся на самый верх по приоритетам.

 > >  >> С моей точки зрения есть смысл в существовании постоянно
 > >  >> развивающегося дистрибутива средней надёжности (средней, в
 > >  >> смысле на ядерный реактор ставить не стоит). Линукс слишком
 > >  >> быстро развивается, чтобы выход нового дистрибутива раз в год
 > >  >> мог устроить.
 > >  > Почему?  Вон корпоративным пользователям (заметь: деньги они
 > >  > платят, а не пользователи unstable) более удобен цикл порядка
 > >  > трех лет.  С поддержкой продукта в течении.
 > > Добавлю к своей реплике -- "... чтобы мог устроить _всех_".
 > Так не бывает.  См. в т.ч. RH -- это _очень_ хороший пример.
 > Их Федоре вон теперь расти до Sisyphus :)

Дык и я о том же, что сделать пригодное для всех не получится :) Есть
люди, которым нужен 0day софт (разработчики, которым важно видеть заранее
что будет стоять на машинах у пользователей через несколько месяцев), а
есть те, кому и 5-и лет тестирования мало.
 
 > >  > Понятно, что некоторые вещи вроде "чистой BTS" могут быть
 > >  > формальными критериями для скрипта -- только ситуации вроде
 > >  > критических багов, правящихся наживую и попросту не попадающих в
 > >  > BTS -- не отработаются.  Лекарство от этого -- обязать проводить
 > >  > их _через_ багтрекер, но тут мне не нравится слово "обязать".
 > >  > Потому что смотря кого.
 > > Я не пытаюсь изобрести серебрянную пулю, которая позволит
 > > попрыгав с бубном и написав скрипт автоматически получить
 > > дистрибутив, пригодный к использованию в управлении ядерными
 > > реакторами. Боже упаси. У излагаю своё предложение, которое
 > > может помочь _заметно улучшить_ качество _общедоступного
 > > постоянно изменяющегося репозитария_.
 > Да прекрасно понятно :-)  И мне оно нравится, почему же и
 > докапываюсь везде, где могу. (где могут вылезти бяки, которые
 > лучше продумать до -- в разумных пределах)

Ясно, тогда большое спасибо :)
 
 >> Что-то не пройдёт через BTS, может быть какая-то ошибка не
 >> будет исправлена, и с какой-то вероятностью таки попадёт
 >> кривующий пакет в этот дистрибутив. В текущей схеме он попадёт
 >> туда 100%, в предлагаемой мною у него будет масса заслонов.
 > Что-то не слышно мнения QA, кстати.  Удивительно.


 >>>> Реально сделать так, чтобы у них _было время_.
 >>> В такой формулировке это фултайм, period.
 >> Причём тут фуллтайм?
 > Ну, "_было_" == гарантия.  Другое дело, что время, выделяемое
 > человеком, но сэкономленное от всякой ерунды (вроде выделения
 > мышом в xterm пачки пакетов, порожденных hasher, и переноса в
 > подписное отделение и отправки) -- может действительно
 > применяться на более полезные дела.

Я имел в виду под этой фразой другое. Скажем ты делаешь новый апач и
кладёшь его в сизиф. Предположим ты где-то ошибся. Есть ли время у кого-то
кроме тебя протестировать этот апач _до того_, как он попадёт в
репозиторий де-факт использующийся конечными пользователями? Нет, ни
минуты. При введении предложеной мной схемы любой желающий сможет взять
протестировать этот апач _до того_, как он попадёт к _пользователям_.

Можно, конечно, прятать голову в песок и говорить что сизиф только для
разработчиков, но де-факто это не так, и мы все это прекрасно знаем :)

 >> Я не слишком чётко, видимо, сформулировал идею -- речь шла _и_
 >> о временном барьере, _и_ о барьере с подписями. При этом
 >> временной барьер должен уменьшаться в зависимости от числа
 >> подписей. И, возможно, отдельно должны обрабатываться такие
 >> случаи как подписи security team (это повод для немедленного
 >> переноса).
 > Есть подозрение, что security team все равно переносит чуть ли не
 > руками... но ладно.

Насколько я понимаю security team не занимается сизифом, или я ошибаюсь?
 
 >>> Здесь ключ -- "может проверить".
 >>> 1) это QA => ответственность
 >>> 2) это тоже риск
 >>> 3) где грань, когда человек _может_ сказать, что "пакет
 >>>    стабилен"? (применительно как к пакету, так и к человеку)
 >> Абсолютно никакой ответственности. Человек просто говорит что
 >> "лично для меня этот пакет пригоден к использованию и лично я
 >> считаю этот пакет пригодным для установки на свои машины".
 > Если формулировку закрепить для несоздания иллюзий -- согласен.

Именно, только при такой формулировке люди будут реально подписывать
пакеты. Иначе безответственные будут подписывать хаотичным образом, а
ответственные не будут подписывать вообще, прок будет минимальный (хотя
всё равно будет, то что block bug в BTS поставленый вовремя гарантирует
непрохождение пакета уже само по себе полезно).

Ещё мысль -- если висит block или critical bug на пакет, который уже в
протестированом репозитории, то прохождение новой версии этого пакета
должно ускоряться (вопрос только насколько).

 >> Фишка в том, что если посмотрит несколько человек, то заметно
 >> больше шансов что block bug будет найден до переноса в другой
 >> репозитарий.  Собственно и городится всё это исключительно для
 >> этой цели.
 > Это понятно.  Я беспокоюсь о том, чтобы этих несколько человек
 > *нашлось*... впрочем, может, вижу проблемы там, где их нет.

Думаю что в начале их не найдётся, и работать будет в первую очередь
механизм блокирования через BTS и выжидания некоторого время. 
 
 >> Дело всё в том, что Сизиф очень немногих устраивает как рабочий
 >> дистрибутив. А даже для выплнения функций мантейнера
 >> периодический upgrade очень даже желателен. Но геморроя лишний
 >> раз ой как не хочется. А риск от предлагаемого мною репозитария
 >> будет во много раз меньше чем от использования Сизифа, и это
 >> уже устроит как минимум многих домашних пользователей.
 > IMCO главное тут -- не домашние пользователи, не в обиду им будь
 > сказано.  А именно разработчики, которые путем расширения ареала
 > таких систем могут, с одной стороны, обеспечить себе большее
 > удобство (стал бы я портировать пакеты назад на Мастер), а с
 > другой стороны -- обеспечивать все то же дополнительное
 > тестирование уже на уровне перехода testing-->stable.

Угу. Вот как раз это дополнительное тестирование, с моей точки зрения
и является особенно важным. А такое тестирование на живых пользователях
можно делать только если хоть какое-то тестирование выполнено перед этим
самими разработчиками.

 > Домашним пользователям же, как правило, достаточно stable 

Ага, только почему-то именно они любят распосление версии софта. И как раз
их отучать от этого смысла нет (хочется дома человеку помаяться с глюками,
пусть мается, лишь бы разработчикам о них сообщал).
 
 > (плохо разве то, что у нас два года нет stable без выдающихся мелких
 > ляпов, но это вроде как исправляется -- compact-20031026_mike
 > меня в своем роде устраивает); те же, кому недостаточно -- или
 > уже разработчики, или очень быстро ими становятся по вполне
 > понятным причинам.

Или не утруждают себя таким геморроем как использование Линукса. У меня в
одной комнате со мной есть отличным пример -- братец, у которого тоже
Мастер (я ему коробочку подарил). Так вот ему действительно оказалось
вполне комфортно в нём работать. Только вот неработа kppp из коробки (без
правки под рутом), то что apt в некоторых случаях при установке не
ставится (а rpm'ом он пользоваться не умеет), и мерзкий глюк с поддержкой
звука (то, что надо во-первых использовать OSS-драйвера, редактируя для
этого modules.conf, а во-вторых то, что надо убирать сортировку из
/etc/init.d/sound, ибо иначе первым оказывается тюнер) привели его к тому,
что он пользуется виндой даже тогда, когда ему удобнее линукс. Кстати он
весьма странный в этом смысле человек -- хоть и воспитывался уже на
Win'98, но тексты ему набивать нравится больше в Far'е на полный экран,
чем в ворде :)

Домашних пользователей я очень люблю и ценю, и считаю их крайне полезным
для комьюнити, если они могут хотя бы более-менее грамотно отрапортовать
об ошибке.

Чайник с кувалдой тоже может быть хорошо как бетатестер :) Официальные
бета-версии пользователи не так часто себе ставят, а если это непрервыно
меняющийся репозиторий, то он точно так же непрерывно тестируется.

-- 
С уважением, Денис

http://freesource.info

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20031124/5026129b/attachment-0001.bin>


Подробная информация о списке рассылки Devel