Why we got so heavily involved in the Subversion project..

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.

avatar

About David Richards

David is CEO, President and co-founder of WANdisco and has quickly established WANdisco as one of the world’s most promising technology companies. Since co-founding the company in Silicon Valley in 2005, David has led WANdisco on a course for rapid international expansion, opening offices in the UK, Japan and China. David spearheaded the acquisition of Altostor, which accelerated the development of WANdisco’s first products for the Big Data market. The majority of WANdisco’s core technology is now produced out of the company’s flourishing software development base in David’s hometown of Sheffield, England and in Belfast, Northern Ireland. David has become recognised as a champion of British technology and entrepreneurship. In 2012, he led WANdisco to a hugely successful listing on London Stock Exchange (WAND:LSE), raising over £24m to drive business growth. With over 15 years' executive experience in the software industry, David sits on a number of advisory and executive boards of Silicon Valley start-up ventures. A passionate advocate of entrepreneurship, he has established many successful start-up companies in Enterprise Software and is recognised as an industry leader in Enterprise Application Integration and its standards. David is a frequent commentator on a range of business and technology issues, appearing regularly on Bloomberg and CNBC. Profiles of David have appeared in a range of leading publications including the Financial Times, The Daily Telegraph and the Daily Mail. Specialties:IPO's, Startups, Entrepreneurship, CEO, Visionary, Investor, ceo, board member, advisor, venture capital, offshore development, financing, M&A

23 Responses to “Why we got so heavily involved in the Subversion project..”


  • Those are the same people who complains windows/freebsd/Solaris and anything else except Linux. Faggots

  • Subversion is crappy more than CVS, Git is the future !

  • The contention with many users of SVN is that it was initially proposed by the CVS developers as a better CVS. CVS was great when it came out but had a lot of manual complexities especially when involving common large group type activities (merges, deleting directories,etc.). SVN fixed many of the complexities, but kept the moniker of being a newer CVS.

    GIT on the other hand was designed from the ground up by someone who dropped any prejudices of how a version control tool is supposed based on tool X. In this way, I believe GIT has a built-in marketing advantage of not being related to anything CVS.

  • Quote: “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.”

    Love it, so true. I believe that if Red Hat had not taken Linux to the level that it has, then Linux would still be “Just that other OS”. The other distros are great, but Fedora development and RHEL support made it so Linux could make its way into places it may have never been given a chance. It was refined because of enterprise level support and is now the incredible OS it was destined to be and at a much quicker rate.

  • Rob C. Fair point and the community have already recognized the weakness associated with the vision to be a better moustrap (as i put it) than CVS. Moreover, it was simply just dated – the project had already done that (10 times over).

    Some time in late March Hyrum Wright, Mike Pilato, Greg Stein, Stefan Sperling, and Karl
    Fogel met for a couple of days to discuss, among other things, a new vision for Subversion. The result of that was a new vision

    “Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.”

    you can read more here: http://svn.haxx.se/dev/archive-2010-04/0047.shtml

  • Why no hyperlink for my name? It should be http://jrobbins.org/.

    Full disclosure: I never worked hands-on on subversion myself. In the early days I helped create an environment at CollabNet where the subversion team could work more independently, while also helping to keep the pipeline full of early corporate adopters. I helped run tigris.org back then. And, I gave small random bits of advice to the team here and there. E.g., the slogan “A compelling replacement for CVS” was mine.

  • From Jason Robbin’s blog, there’s this marvelous quote:

    A really powerful tool changes its user — Donald Knuth

    I used Subversion without prejudice over CVS because it was better. Today I use Git without prejudice over the other two. Git has changed how I work. I use facilities in Git that are not possible with Subversion or CVS.

    The actual developers of Git (whose comments you should heed) aren’t firing shots at Subversion.. they’re firing shots at the developers who created Subversion as a better CVS. You can paint them in a bad light, but that’s not going to fix Subversion. It’s better you put your actions into fixing Subversion rather than paying heed to those who laugh at you.

    If those who wrote Git are arrogant, I don’t fault them. They are in a position where they can be arrogant, because they created something better to show for it.

  • Granted, there are a lot of fanboys around Git, probably largely because of how it ties into the narrative about Linus Torvalds as some sort of a programmer hero who made a better SCM for himself in two weeks when he lost access to Bitkeeper. Men love stories about heroes, and Linus was one even before Git.

    That said, I think the market share figures should be taken with some context. CVS was a de facto standard, and SVN initially aimed to be a drop-in replacement. It was the actively developed, alive project, and it naturally inherited a lot of CVS’s users. It’s also free, very much unlike Microsoft’s products or Perforce or ClearCase.

    Git, on the other hand, was first released in 2005 and it took some time before it grew even somewhat friendly user interfaces. Git’s data structure and mode of operation is profoundly different from the conventional SCMs and it certainly wasn’t a drop-in replacement for anything at all. To this day even experienced programmers seem to have trouble grokking the fundamental concepts of Git and why they might be useful. It’s even more difficult to get corporate managers to understand them, especially when so much of the accepted wisdom about software project management revolves around SVN-like version control. Bearing all that in mind, Git’s adoption rate has been phenomenal, and it has sprouted an astonishing amount of tools and documentation and whatnot around it. Arguing Git vs. SVN at this point is pretty futile. Both are doing fantastically well.

  • The thing is, git is far more superior from a technical viewpoint than subversion. If your software engineers lack the necessary skills or experience to apply distributed version system principles you can also stick to a simple centralized model with git, and then you will still get the performance benefits.

    Git solves real problems subversion does not — like simple and powerful merging, fast and cheap local branching, local history with incredible performance and so on. For my team what matters is how efficient they can be when it comes to these activities, which they do several times a day. If it takes 20 minutes to do a merge in subversion and 20 seconds in git, at the end of the day that’s a huge cost saving for the company — and less stress for your developers.

    Sticking to subversion is like installing Windows 95 on your developers’ PCs. If they don’t know anything better they won’t complain, though it might not be a bright decision from a management viewpoint.

  • I’ve worked with Subversion, Microsoft VSS, Git and Mercurial and I have to say both Git and Mercurial currently are a lot better than Subversion (and almost everything seems to be better than Microsoft VSS). I’m a C# developer, if that matters.

  • hmm, you write in the same douchebag style as the “Gitterons” you criticize. please come back to some normal discussion level.

    subversion has some major flaws and is long not what you want to manage source code.

    for me branching and merging is mostly broken. subversion never did this correct and good. because of that, most people have great fear of branching which is a very bad thing in daily work.

    it’s good to see some effort to correct these flaws. I’m very curious to see the results.

    but you must accept that there are other tools out there, that does the job better than subversion. learn from them, accept, adapt and grow.

    oh, and because subversion has over 30% in your little statistic does not mean, subversion is good or perfect or better than X. it only means, that it’s used more than others. ok, maybe more, because there are three kinds of lies: lies, dirty lies and statistics. ;)

  • This article starts out with “ad hominem” atttacks. “Gitterons are fundamentalists”, without regard to their tenets or practices.

    The article would persuade more–and reflect better on wandisco–if you had started with the time-and-place-for-centralized-tools

  • billm, I must point out that ‘Gitterons are fundamentalists” may or may not be an attack (such as fundamentalists themselves are known for, thus the distasteful association) but it is an accurate observation.

    Wandisco’s efforts to help SVN be more and better can only be a good thing, even if it takes some of GITs precious bragging rights away from them. When projects like these compete, we are all eventually the winners; this is something commercial development will never know, the glory of “co-opertition”.

  • Considering that the #2 SCM listed is Microsoft VSS, which has not only been obsolete forever now (TFS was 2005!), but is widely regarded as a total piece of trash (*especially* by the folks who use it), I wouldn’t stand on those market share numbers as any kind of proof of superiority. For what it’s worth, I tried SVN about a year ago, and while I didn’t mind the product itself, the Windows clients (I tried both Tortoise and Ankh) were so problematic that I took SVN out and replaced it with TFS… and this was for *personal* use. Yes, I did the monolithic TFS install because the SVN Windows’ clients were that bad. That’s pretty sad when you think about it.

    J.Ja

  • A bar chart, when a pie chart is the obvious correct answer?

  • I’ve worked with CVS, ClearCase, Subversion and also had some short experiments with Git and Mercurial.
    I still don’t understand the argument from the ‘Gitterons’ that branching/merging is fundamentally broken in SVN. Could you point to resources where this is explained.
    IMHO it is not really broken in SVN. Actually, I think it works quite nice – at least at lot better than in CVS.

    I DO see that Git/Mercurial have some really nice features, but IMO opinion they are still too complicated and not mature enough to be used by Joe Average developer.

  • “‘Gitterons are fundamentalists’ … is an accurate observation”

    K. L. Estes, I guess that makes you a Subversioneron Apologist then?

    Seriously, argue your point without resorting to such pathetic diatribe and name calling.

    Monotone, Git & Mercurial are revolutionary ‘start-over’ approaches to version control. All Subversion can do is copy features to keep up. The only reasons to carry on using it is cost of change and (not trolling here) the general unwillingness to change *anything* in the enterprise. It’s the IE6 of version control – what’s the point?

  • Firstly, anything that improves subversion must be a good thing. But really, it appears from your post that you dismissed git because it has a bit of a learning curve and a bunch of rabid fans.

    If I was asked what I don’t like about subversion, performance would not be on the list. The list would be:Hard to treat features as branches and merge them, hard to maintain multiple branches and choose which branches patches belong in, and hard to back the trunk up if a particular branch isn’t working out well. These are all things git does well.

    Now I don’t use git day-to-day yet because it isn’t polished enough with sufficient pretty tools (jira support, DB development integration etc). But I’m pretty sure that git or a similar tool is the future and I’ll jump ship from subversion in another year or so.

  • VSS does have quite a reputation for corrupting repo’s [Hence the nickname Visual Source Shredder] but, as annoying as it is, people still use it. Sorry if facts get in the way here. Those numbers are not based on guess work but are from a Forrester / Dr Dobbs.

    To better understand what’s going on in development shops, Forrester conducted a survey for Dr. Dobb’s of more than 1,000 platform-agnostic, programming-language-independent Dr. Dobb’s readers. Collectively, they best represent the software development community. We asked them what types of applications they’re writing, how they’re writing them, and what they think about the state of application development. Our survey turned up seven trends that could have major implications for your IT strategy.

  • I agree… if you fancy creating one. Send it to me and I’ll replace it :)

  • David –

    It isn’t that I *doubt* the numbers in the slightest. It’s that considering the number of people using VSS, I wouldn’t use popularity as a measure of quality.

    J.Ja

  • Instead of looking at Git as a competitor to subversion, why not look at them as complementing each other. Subversion is amazing if you have access to a server where you can push commits at any given time. The server is centralized and backed up on a regular basis like any other server. But, if you’re not attached to that server you can’t commit (bad). IE, the longer you go without committing your changes, the more ground you’ll have to cover if a potentially serious bug is introduced into the codebase. I’ve been there, it’s not fun.

    Git on the other hand is decentralized so, if you have sub-teams of developers working on specific portions of the codebase. They can split off and work together committing locally and pushing changes to each other without needing to be connected to the central server. When their work is QCed and ready for integrating into the main server it can be done all together.

    Subversion is great at what it does, Git is likewise great at what it does. Together, you have an extremely effective toolset to create a multi-tiered organizational structure in a software development company.

    The reason people evangelize distributed version control (other than they’re stupid) is that it has the ability to handle branching in a manner that svn and its predecessors never quite got right. That may seem insignificant in a software organization with a hierarchical set of software submission procedures in place but in the Open Source world, branching is absolutely essential for developers to be able to do any substantial work before it can be reviewed and pulled by a project’s admin. That’s one of the driving factors behind why Linus wrote git in the first place.

  • The comment

    [the reason why some really like DVCS] in a software organization with a hierarchical set of software submission procedures in place but in the Open Source world, branching is absolutely essential for developers to be able to do any substantial work before it can be reviewed and pulled by a project’s admin.

    is absolutely correct! Finally! The problem is that the Gitterons think that model used by open source projects should be implemented by corporations with process, procedure, intellectual property concerns, sarbanes oxley, differentials in skill levels, cooperative development that rely on constant (guaranteed) check-in’s, etc etc. Linus himself, remember, started this controversy by saying that CVS (and by implication Subversion) users “belong in some kind on mental institution”. Subversion users are the silent majority as you can see by the chart above. Subversion is no longer just a compelling replacement for CVS – no – it’s THE BEST – centralized source code management repository in the world.

Comments are currently closed.