| Aleksey Bragin ( @ 2007-08-10 00:36:00 |
| Current location: | в зоне прямой видимости ретранслятора ArtComs |
| Entry tags: | far, reactos, опенсорс |
Переход на опенсорс модель разработки
Команда FAR уже довольно давно обсуждает переход на разработку с открытым исходным кодом, и ведут на эту тему обсуждения. Я решил написать туда свои мысли, получилось не так мало и касается ReactOS. Текст в несколько подредактированном варианте привожу ниже.
Я довольно давно пользуюсь FARом для разных целей, в том числе (как бы это странно не звучало) для разработки ReactOS. У просмотровщика файлов есть замечательная особенность - открывать файл, даже если он открыт кем-то ещё, и открыт на запись, и обновлять его "в режиме реального времени". Всё это нужно, чтобы видеть отладочные сообщения ReactOS под VMWare, записываемые в файл. Иностранные коллеги для этого используют различные извращения с выводом дебаг-сообщений в named pipe.
Естественно тема открытия исходников интересует и меня, но до этого не было времени поучаствовать в дискуссиях. По возможности я готов помочь там, где это необходимо.
Теперь конкретно по теме. Плюсы уже были обсуждены тут не раз (не читал, но уверен).
Проблемы:
- Хостинг: в reactos используем следующее - для выпуска релизов зарегистрирован проект на sourceforge.net, т.к. трафик огромен, а арендовать несколько серверов только для обеспечения download'а - бессмысленно, для всего остального - несколько серверов (одна машина в питере (SVN и прокси), вторая, очень мощная (там движёк сайта, багзилла, форум, вики, buildbot...), - в европе, несколько buildslave-там идёт процесс автоматической компиляции, и сейчас ставим ещё одну серьёзную машину в швеции как резерв).
- Разработка: нужен человек, который координировал бы разработку. Принцип полной свободы и демократии в опенсорсе неработает. Этот человек должен решать, какие патчи войдут в основное дерево, когда и как делать релизы, и кто будет иметь право прямого доступа на запись в дерево. Здесь так же возможны два варианта:
* тотальный контроль: только один человек имеет право вносить (commit) изменения в дерево. Ему присылают патчи, он их тестирует, поправляет, и вносит, естественно, от имени автора.
* небольшая группа разработчиков имеет прямой доступ, а остальные присылают патчи по почте или через багзиллу. Преимущества - быстрее скорость разработки, не всё зависит от одного единственного человека, можно разделить на модули, за которые отвечают конкретные люди. Недостатки - чем больше людей имеющих право записи, тем сложнее за ними следить, тем больше вероятность возникновения проблем. В таком виде идёт разработка ReactOS.
- Координирование разработки: в нефинансируемом опенсорс проекте нет возможности "давить" на кого-либо, строить точные планы по разработке. Поэтому, не всегда удается соблюдать обещания и выпускать релиз в срок (ну, скажем так, и крупные коммерческие фирмы тоже грешат этим
).
- Мотивация разработчиков: donations мягко говоря не основной стимул работы. Даже наоборот, большинство людей приходящих в проект, приходят именно для того, чтобы поработать над чем-то интересным, и без постоянного контроля "вышестоящего руководства".