First of all I should point out that WANdisco has products that enable Subversion to perform on various different scales. Subversion MultiSite products provide service over a Wide Area Network (WAN) while Subversion Clustering is our specialist Local Area Network (LAN) system.
Some of the large-scale implementations we oversee have as many as 40,000 users, 2,000 repositories and over 18 million transactions a day. Of course not all of our customers are on that scale, but quite a few are and obviously Subversion is pretty important to them. Actually, let’s not beat around the bush, WANdisco Subversion is critical to the vast majority of those clients – mission critical.
About 18 months ago we started to hear a few murmurs from sources within the industry, including some of those big implementations, that we should really be involved in the core development of the Subversion project.
Why? Well, what happens to most (if not all) volunteer-based open source projects is that they go though phases. The initial phase is the really cool phase – it’s a blank sheet of paper and you have a bunch of guys that basically say “OK let’s go climb Everest… and we’ll do it on a diet of coffee and pizza”.
So many of these projects never get off the ground because the guys that can do that have to be capable of climbing a huge mountain – people like Karl Fogel, Jim Blandy, Ben Collins-Sussman, Brian Behlendorf, Jason Robbins and Greg Stein. These are the kind of guys that would; (a) even conceive the idea of building a brand new SCM product from scratch and; (b) actually get off their arses to do it (the latter is much easier said than done!)
The initial goal of our project was, basically, to create a better mouse-trap than CVS. At the time CVS was the de facto SCM product. Much like Subversion is today.
The CVS project was beginning to resemble the abandoned Mary Celeste. The committers had simply moved on. There was no innovation and proprietary vultures such as Perforce, Accurev and Serena began to circle. Unfortunately (for them) Subversion was coming into view on the horizon.
Subversion had a couple of key features that were missing from CVS including Atomic Commits, efficient binary diff storage, versioning of symbolic links, web access via Apache and the open source license was not restrictive (unlike CVS), meaning vendors could take it and pretty much do what they wanted.
Sounds good, so why the concern?
Well the good news is that the initial phase was a raging success. The moment Forrester Research recognized Subversion as the sole leader in the Standalone Software Configuration Management (SCM) category in 2007 was the moment that everyone knew Subversion was it. The market from that moment was going to be IBM Clearcase and Subversion. Can you even imagine trying to be any other vendor in this market where one product is free and the other is IBM? Game-set-and-match you would think. Well, not quite.
Without corporate sponsorship you don’t tend to get key enterprise features on a product road-map. You’re probably familiar with these kind of projects – they usually don’t involve a UI and have labels like ‘LDAP integration’, ‘security’, ‘performance benchmarking’, and so on. Let’s face it nobody’s going to tackle those problems over a cold beer on a cold November evening. And that’s not a criticism of open source; it’s just the way things go.
And that’s really why we decided to get involved on the scale that we did.
We didn’t get involved to take the credit for creating Subversion. That credit goes to the guys I mentioned earlier.
We got involved to push the creation of a road-map and to tackle the trick un-sexy tasks that just need to get done. We have a fantastic team of open source engineers and we don’t interfere with what they do on a day-to-day basis because they are 100 per cent hired to develop Subversion.
WANdisco is now making some big improvements to the working copy that will be released in SVN 1.7. We are improving the JavaHL bindings so you won’t need to use the third party GPL SVNKit product. Subversion 1.7 is a very promising release that will see not only huge performance improvements but also the beginnings of features that some ‘GIT fanatics’ criticize us for.
The emergence of GIT has brought with it a breed of DVCS fundamentalists – the ‘Gitterons’ – that think anything other than GIT is crap. The Gitterons seem to think software engineering happens on their own island and often forget that most organizations don’t employ senior software engineers exclusively. That’s ok but it’s not how the rest of the market thinks, and I am happy to prove it: GIT, at the last look had less than three per cent of the market while Subversion has in the region of five million users and about half of the overall market.
The problem we saw was that the Gitterons were firing (cheap) shots at Subversion. Tweets like “Subversion is so [slow/crappy/restrictive/doesn’t smell good/looks at me in a funny way] and now I have GIT and [everything works in my life/my wife got pregnant/I got a girlfriend after 30 years of trying/I won six times running on the blackjack table]. You get the picture.
So we decided to do something about it. We pointed out that shelving would enable, if an organization chooses, working in a disconnected mode. Oh boy did the Gitterons not like that. How dare we make Subversion better?!
Thankfully, Subversion has a very bright future and WANdisco is 100 per cent committed to it. Our team is led by Hyrum Wright, Subversion’s release manager since early 2008, and backed by others including Julian Foad, Philip Martin, Erik Huelsmann and Stefan Kung(TortoiseSVN). They’re all very talented and dedicated to the task of making Subversion the best and last centralized version control system.