Сага о системе управления исходниками для Linux

Roman I Khimov, Четверг, 07 Апрель 2005, 17:04

Для начала, конечно же, слово Линусу, письмо было опубликовано с темой "Сага о системе управления исходниками для я" ("Kernel SCM saga.."):
Итак,
как многие уже знают (а в некоторые знали об этом несколько последних недель), мы пытались уладить конфликт с использованием BK в течение последнего месяца или двух (и есть ощущение, что даже больше . Уладить его не удалось и, как результат, команда разработчиков ядра ищет альтернативы.

[ И, похоже, это уже дошло до slashdot, так что теперь знают _все_ ]

Нельзя сказать, что мой выбор BK был совсем бесконфликтным ("Что, правда? Да ладно! А, ты имеешь ввиду гигабайты за гигабайтами флейма, который у нас был?"), так что, в каком-то смысле, это было неизбежно, но я действительно надеялся, что это произойдет тогда, когда у нас будет достойная альтернатива с открытыми исходниками. Сейчас же нам придется некоторое время побороться.

Кстати, не вините BitMover, хотя это скорее всего будет самая первая реакция. Ларри действительно старался уладить проблемы, но мы пришли к тому моменту, когда я решил, что я не хочу более пытаться удерживать вместе два кусочка, которые требовали столько клея, сколько они требовали.

Мы использовали BK три года и, на самом деле, самая большая проблема на сегодня - это то, что многие теперь стали очень придирчивы к используемым инструментам, после того как они попробовали лучшие. Я тоже вхожу в эту группу, но реально те, кому использование BitKeeper помогло больше всего, _вокруг_ меня, те, кому стало значительно легче синхронизироватся с моей веткой и посылать свои ветки мне.

Конечно, наверняка есть и тысячи людей, которые просто использовали BK как лучший (и более быстрый) клиент "анонимного CVS". С этим мы справимся, но сегодняшняя проблема в том, что я трачу большую часть своего времени, пытаясь придумать лучший способ для кооперирования.

ВАЖНО! BitKeeper никуда не исчезает. На сегодня, единственное, что произошло реально, так это то, что сейчас я решил не использовать BK для того, чтобы определить альтернативы и вместо того, чтобы продолжать "работать как ", я решил поймать зубами пулю и просто посмотреть на то, как выглядит жизнь без BK. Пока что это серый и мрачный мир.

Так что не надо принимать это за нечто большее, чем оно есть на самом деле. Я буду фактически в оффлайне на неделю (считайте это обычным "Линус взял ") и я просто прошу тех, кто продолжает поддерживать ветви BK, попробовать также обеспечить отсылку результатов мне в виде (отдельных) патчей, так как мне придется собирать их как-то по-другому.

Кстати, эти "отдельные " - одно из ключевых слов. Одним из особенно хороших свойств BK и тем, что нравилось многим даже если они не использовали BK, было то, что он позволял нам поддерживать гораздо более точное представление об изменениях. Это не должно никуда исчезнуть.

На самом деле, одно из последствий использования BK для нас (и особенно для меня) стало то, что он в корне изменил методы нашей работы. Это включает в себя все от точных наборов изменений до того, что я стал доверять разработчикам гораздо большие области работы, без необходимости просматривать патч за патчем. Так что три года работы с BK точно не потеряны даром: я уверен, что они привели нас к тому, что мы стали делать многое лучшими способами и одна из вещей, за которой я слежу, это то, чтобы эти способы продолжали работать.

В общем, я просто хотел сказать, что лично я полностью удовлетворен работой с BK и Ларри. Она прекратилась, но она однозначно внесла большие изменения в разработку ядра. И мы справимся с временной проблемой необходимости нахождения набора инструментов, которые позволят нам продолжать работать так, как мы это делали с BK.

Да начнется флейм.

Линус


PS. Не надо рассказывать мне о Subversion. Если хотите помочь, начните чтение с "monotone". Похоже, что это наиболее жизнеспособная альтернатива, но не надо сильно докучать разработчикам, иначе они не смогут работать. Они уже знают о моих проблемах


Интересно, пожалуй, то, что даже несмотря на призывное "Да начнется " Линуса, реальное обсуждение сейчас в LKML идет значительно тише, чем, например, когда это было при обсуждении вопроса о наименовании версий ядра (которое привело к созданию ветки -stable, 2.6.x.y).

Разработчики SubVersion уже ответили на это письмо своим письмом "Please Stop Bugging Linus Torvalds About Subversion" ("Пожалуйста, прекратите надоедать Линусу Торвальдсу SubVersion'"). Но здесь все очевидно, SubVersion действительно не предназначен для таких распределенных проектов, каким является разработка ядра Linux.

А параллельно выясняется, что мало существует свободных/открытых решений для ведения столь масштабной разработки. От Darcs, судя по всему, уже отказались из-за его медлительности и использования довольно экзотичного языка (Haskell). Был предложен Bazaar-NG, который имеет неплохие характеристики и написан на Python, но пока еще находится в стадии ранней разработки. Также рассматривается родственный ему Arch и SVK, созданный на базе SubVersion, но приспособленныйдля распределенной работы. Впрочем, слово "рассматривается" здесь не совсем корректно - Линус пока еще не высказывался более подробно о конкретных системах (кроме упомянутого в письме monotone), я лишь сообщаю обсуждаемые в LKML системы, которые Линус скорее всего будет тестировать и из которых, собственно, и можно сейчас выбирать.

На мой взгляд, очевидно то, что уход разработчиков Linux от BitKeeper подстегнет разработку открытых/свободных решений, которые будут способны работать с такими большими проектами, а это, в целом, будет способствовать "оздоровлению" сообщества open source, ведь использование закрытого проприетарного продукта для управления разработкой Linux всегда вызывало смешанные чувства у разработчиков и пользователей. Плюс, естественно, сам факт того, что у сообщества появится (а она обязательно появится) свободная/открытая система управления исходниками такого уровня тоже многого стоит. И хорошо, что это произошло сейчас, а не позже, ведь чем больше используешь инструмент, тем больше к нему привыкаешь и тем сложнее потом от него отказаться.

Так что, стоит сказать спасибо Ларри МакВою как за предоставление три года назад бесплатной версии BitKeeper, так и за то, что сейчас BitMover эту версию сворачивает, как говорится, все, что ни делается, все к лучшему.


это контент от Центр информации по операционным системам
( http://www.osrc.info/plugins/content/content.php?content.89 )