Будущее Subversion

From WikiSandbox
Jump to: navigation, search

Будущее Subversion.

Вступление

According to Google Analytics, one of the most heavily trafficked posts on my blog is the one I wrote years ago, the Risks of Distributed Version Control.

Согласно Google Analytics, один из самых просматриваемых постов в моем блоге - это тот, который я написал годы назад - "Риски Распределенного Контроля Версий".

It's full of a lot of semi-angry comments about how wrong I am.

Там полно "полусердитых" комментариев о том, насколько я неправ.

I thought I would follow up to that post with some newer thoughts and news.

Я думал, что буду продолжать этот пост новыми мыслями и новостями.

I have to say, after using Mercurial for a bit, I think distributed version control is pretty neat stuff.

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

As Subversion tests a final release candidate for 1.5 (which features limited merge-tracking abilities), there's a bit of angst going on in the Subversion developer community about what exactly the future of Subversion is.

Поскольку Subversion тестирует последнюю предвыпускную версию 1.5 (которая предоставляет ограниченные возможности отслеживания слияний), в коллективе разработчиков Subversion присутствует некая неясность, каким же все же будет будущее Subversion.

Mercurial and Git are everywhere, getting more popular all the time (certainly among the 20% trailblazers).

Системы Mercurial и Git сейчас повсюду, и постоянно становятся все более популярными (а именно среди 20% разработчиков-новаторов).

Роль Subversion

What role does Subversion - a "best of breed" centralized version control system - have in a world where everyone is slowly moving to decentralized systems?

Какая роль у Subversion - "лучшей из лучших" централизованных систем контроля версий - в мире, где все потихоньку двигается в сторону использования децентрализованных систем?

Subversion has clearly accomplished the mission we established back in 2000 ("to replace CVS").

Subversion четко выполнила задачу, которую мы поставили в 2000-м ("заменить CVS").

But you can't hold still. Но вы не должны останавливаться.

If Subversion doesn't have a clear mission going into the future, it will be replaced by something shinier.

Если у Subversion нет четких планов на будущее, то она будет заменена чем-то лучшим.

It might be Mercurial or Git, or maybe something else.

Это могут быть Mercurial или Git, или что-то еще.

Ideally, Subversion would replace itself. :-)

В идеале Subversion заменит сам себя. :-)

Мертва ли Subversion?

If we were to design Subversion 2.0, how would we do it?

Если мы решили проектировать Subersion 2.0, как бы мы это сделали?

Last week one of our developers wrote an elegant email that summarizes a potential new mission statement very well.

На прошлой неделе один из наших разработчиков написал изящное сообщение по e-mail, где очень хорошо обобщена потенциальная новая миссия.

You should really read the whole thing here. Here's a nice excerpt:

Вы непременно должны прочитать все это. Вот неплохая выборка:

I'm pretty confident that, for a new open source project of non-huge size, I would not choose Subversion to host it [...]

Я почти полностью уверен в том что, для нового небольшого проекта с открытым исходным кодом, я бы не выбрал Subversion [...]

So does that mean Subversion is dead? That we should all jump ship and just write a new front-end for git and make sure it runs on windows?

Означает ли это, что Subversion мертва? Что мы должны "перейти на другой корабль" и написать новый графический интерфейс для Git, добиться, чтобы все это работало под Windows?

Nah. Centralized version control is still good for some things.

Нет. Централизованный контроль версии все еще хорош для некоторых вещей.

Централизованный контроль версии

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

Что ждет Subversion?

My opinion? The Subversion project shouldn't spend any more time trying to make Subversion a better version control tool for non-huge open source projects. Subversion is already decent for that task, and other tools have greater potential than it. We need to focus on making Subversion the best tool for organizations whose users need to interact with repositories in complex ways[...]

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

I've chatted with other developers, and we've all come to some similar private conclusions about Subversion's future.

Я общался с другими разработчиками, и мы пришли к некоторым схожим личным заключениям по поводу будущего Subversion.

First, we think that this will probably be the "final" centralized system that gets written in the open source world - it represents the end-of-the-line for this model of code collaboration.

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

It will continue to be used for many years, but specifically it will gain huge mindshare in the corporate world, while (eventually) losing mindshare to distributed systems in the open-source arena.

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

Those of us living in the open source universe really have a skewed view of reality.

У всех нас, живущих в прострации открытого исходного кода, действительно существует перекошенное представление о действительности.

From where we stand, it may seem like "everyone's switching to git", but then when you look at a graph like the one below (which shows all public (not private!) Apache Subversion servers discoverable on the internet), you can see that Subversion isn't anywhere near "fading away".

С нашей точки зрения, похоже, "все переключаются на Git", но когда вы смотрите на диаграмму (которая показывает всем общедоступные (не закрытые!) сервера Apache Subversion, обнаруженные в Интернете), Вы можете видеть, что Subversion и близко не подходит к "исчезновению".

Quite the opposite: its adoption is still growing quadratically in the corporate world, with no sign of slowing down.

Как раз наоборот: его применение все еще растет квадратично в деловом мире, без признаков замедления.

This is happening independently of open source trailblazers losing interest in it. It may end up becoming a mainly "corporate" open source project (that is, all development funded by corporations that depend on it), but that's a fine way for a piece of mature software to settle down.

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

// немного отредактирована


Student06


http://blog.red-bean.com/sussman/?m=200804

Граф

[svg]