Персональные инструменты
 

Subversion’s Future?

Материал из CustisWiki

Версия от 19:33, 3 сентября 2008; WikiSysop (обсуждение | вклад) (1 версия)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Перевод статьи Subversion’s Future? («Что ждет Subversion?») выполнен сообществом компании «Заказные ИнформСистемы».


Согласно статистике Google Analytics, один из самых просматриваемых постов в моем блоге — это тот, который я написал годы назад — «Риски распределенного управления версиями». Там полно сердитых комментариев о том, насколько я неправ. Думаю, надо дополнить тот пост новостями и свежими идеями.

Итак, должен сказать, после некоторого времени использования Mercurial, я думаю, что распределенное управление версиями — штука весьма изящная.

Пока идет тестирование последней предрелизной 1.5 версии Subversion, в которой уже будут ограниченные возможности отслеживания слияний, в коллективе разработчиков Subversion присутствует некая неясность, каким же все-таки будет его будущее. Системы Mercurial и Git сейчас повсюду, и постоянно становятся все более популярными, особенно среди «20%» — разработчиков-новаторов. Какая роль у Subversion — «лучшей из лучших» централизованных систем контроля версий — в мире, где все потихоньку двигается в сторону использования децентрализованных систем?

Subversion четко выполнила задачу, которую мы поставили в 2000-м — «заменить CVS. Но останавливаться нельзя — если у Subversion не будет четких планов на будущее, то она будет заменена чем-то лучшим. Это могут быть Mercurial или Git, а может — чем-то еще. В идеале Subversion должна заменить себя сама. :-)

Итак, что бы мы заложили в «Subversion 2.0», если бы нам выпала честь его проектировать? На прошлой неделе один из наших разработчиков написал изящный e-mail, где очень хорошо обобщил возможную новую миссию. Это нужно видеть — вот неплохая аннотация:


Сейчас я бы почти наверняка не выбрал Subversion для небольшого нового open-source проекта. [...] Значит ли это, что Subversion мертва? Что нам пора сменить корабль, написать новый GUI для Git и добиться чтобы все это работало под Windows? Нет. Централизованный контроль версий все еще хорош для некоторых вещей.

  • Работа над огромными проектами, где помещение всей рабочей версии исходного кода на все машины неосуществимо, уже не говоря о всей истории (однако здесь атомарные транзакции через произвольные части проекта все же требуется).
  • Механизм авторизации по чтению! Клиент-серверная модель — лучшее решение, если Вы планируете не позволять давать всем все данные (Несомненно, есть теоретические пути осуществить авторизацию по чтению на распределенных системах, но это не очень-то и просто.)

Итак, что делать? Проект Subversion больше не должен тратить время на попытки улучшения применимости для небольших открытых проектов. Subversion уже подходит для этой задачи, и у других систем есть больший потенциал, чем она. Мы должны сфокусировать внимание на задаче представления Subversion как лучшего средства для организаций, чьим пользователям необходимо нетривиально взаимодействовать с репозиториями. [...] Я общался с другими разработчиками, и мы пришли к некоторым схожим личным заключениям по поводу будущего Subversion.

Во-первых, мы думаем, что это, вероятно, «последняя» централизованная система, написанная в «мире открытого кода» — и представляет «заключительную черту» для этой модели огранизации кода.

Она будет продолжать использоваться в течение многих лет, причем в корпоративном мире — с громандной популярностью, пока не проиграет (окончательно) распределенным системам в мире open-source.

У всех нас, погруженных в «open-source», действительно несколько искаженное представление о реальности. Нам кажется, что «все переключаются на Git» но когда вы смотрите на график публичных (т.е. общедоступных, не частных) серверов Subversion под Apache, обнаруженных в Инете, видно, что Subversion никоим образом не «исчезает».

Как раз наоборот: его применение в корпоративном мире все еще растет квадратично, без малейших признаков замедления. Все это происходит независимо от новаторов-опенсорсщиков, теряющих интерес к Subversion.

Subversion может, в конце концов, стать полноценно «корпоративным» open-source проектом, (то есть, вся разработка будет финансироваться корпорациями-пользователями Subversion), но это прекрасный выход для для зрелого программного обеспечения.



Внимание! Данная статья выбрана для репликации во внешнюю базу знаний компании. Пожалуйста, не допускайте в этой статье публикацию конфиденциальной информации, ведения обсуждений в теле статьи, и более ответственно относитесь к качеству самой статьи — проверяйте орфографию, пишите по-русски, избегайте непроверенной вами информации.