I know that this will generate criticism from fans of distributed version control (GIT) because some of the issues we are going to tackle are the stick with which they beat Subversion. I am sure we will face cynicism from some factions of the Subversion project, but in some cases this is because of commercial interests that are dependent on the perception that they are the ones developing Subversion.
As the saying goes: you can’t make an omelet without breaking eggs.
We are not doing this for direct commercial reasons. We are doing this to protect the future of Subversion. We are doing this because we care. We are doing this because we need to. We are doing this because it is the right thing to do.
I’m sure there are lots of questions. Here is a selection of those I have tried to answer:
What Does This Mean? Are You Forking Subversion?
At this point, NO. We don’t believe that it is necessary. What we are doing is committing our resources to develop several features that both WANdisco and our user community believe are critical to both the long and short-term welfare of the Subversion project.
Hang on a Minute! Didn’t the Community Just Announce A Road Map?
Yes they did, but that’s pretty much all that happened (and that really pisses us off.) The commit logs (code committed by developers to the project) tell the real story. We are not happy with the volume, speed or participation on the project right now. Blogging, or answering questions on user lists are important, but so is writing source code. We also believe it’s unhelpful when certain unscrupulous committers decide to commit trivial changes in large files to simply get their stats up. That behavior has no place in any open source project; it’s a bad form and wastes everyone’s valuable time.
The requirements that we are committing to build, namely merging and branching, are not new. Many of these have been in the mainstream and documented since 2007. I find it more than a little annoying that, given their importance to many Subversion users; these areas have not been tackled.
Yes, they are difficult. Yes, they will take time. That is why a corporation needs to step up to the plate and commit to deliver.
What Does WANdisco Get From This?
We have a thriving business. Almost all of our customers are Subversion users and, frankly, we’re biased. A bit like Henry Ford’s choice of car color, that’s how we see SCM: You can have any SCM so long as it’s Subversion. Do the math. It is really simple: The more [happy] Subversion users – the more potential customers for WANdisco and, yes, then we make money.
Who Attended This Summit at the WANdisco Offices?
We invited in the region of 10 companies, representing the largest implementations in the world, some with up to 40,000 users. We selected the organizations based on a very significant vested interest and, due to their complexity; any problems or issues would be magnified exponentially. Of course, everyone had their own special requests that were very specific to their situation but there was also a common theme: branching and merging must improve.
I can’t name all those that attended but they are companies of similar standing to Intel and Juniper Networks.
I Would Like to Help, Can I?
Hyrum Wright is managing this process he can be contacted at Hyrum.Wright(at) WANdisco [dot] com. We will work with ANYONE. In fact, we would prefer that this be a community effort. Time is of the essence. Let’s not waste time in endless debate. Let’s act together.
Subversion is a Community. How is this Working with a Community?
Ultimately, the community will decide if this work will be accepted. When Google decided that httpv2 (awful name and description by the way) was a good idea they developed it and presented it to the community. It was not a fait accompli . It made sense, so it was accepted. In this case, the requirements have been out there for several years. Subversion users have been tweeting, blogging and complaining about branching and merging. We held a summit to discuss what needed to be done with the Subversion users. This was their number 1 requirement! We are doing this for the wider Subversion community.
Are You Guys Trying to Take Over The Subversion Project?
Subversion is an Apache project, ideally it should not be inside a corporation.
After This, Then What?
We are still calibrating the requirements, but one hypothesis may be to completely upgrade the backend of Subversion. This is definitely not the end – we still have lots more to do.