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

Subversion’s Future?

Материал из CustisWiki

Перейти к: навигация, поиск

Перевод статьи 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), но это прекрасный выход для зрелого программного обеспечения.




Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».