Shaking-up Subversion by Listening to the User Community and then Committing to do the Work.

Today we announced the radical step to overhaul the Subversion project by actually fixing and improving several areas that Subversion users have been crying out for.

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?

Absolutely!

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.

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

8 Responses to “Shaking-up Subversion by Listening to the User Community and then Committing to do the Work.”


  • Written by David Weintraub on the Subversion User list (I think this explains what and why we are doing this very well).

    I am going to look at this a bit differently: Has IBM taken over
    Linux? A majority of the changes in Linux are done by IBM paid
    employees. IBM has its own goals and its own ideas about what they
    want to do with Linux.

    However, I believe most people feel that Linux isn’t an IBM project
    despite the massive amount of work done by a single company.
    Basically, IBM benefits from Linux, so they do a lot of code work,
    sometimes working on areas that have been previously neglected. The
    better Linux is, the more IBM can sell Linux solutions.

    Subversion has had a lot of problems since version 1.5 has come out.
    Basically, the merge/branch tracking isn’t that great. In fact, many
    people prefer the 1.4 version which doesn’t make any pretensions about
    tracking branching and merging.

    Meanwhile, many people feel Subversion is past its prime. Many open
    source projects are moving from Subversion to Git. Actually, this
    makes sense for open source projects, but it is beginning to affect
    commercial applications. People are starting to push Git as a
    commercial SCM package.

    I recently pointed out on another list that I might recommend a piece
    of software I don’t think is as good as another piece of software
    simply because the “inferior” product plays better with the other
    software the company uses and because users are more familiar with it.

    I might not like Git as a commercial version control system, but if
    most developers are more familiar with Git than Subversion, and 3rd
    party products start integrating with Git in better ways than they
    integrate with Subversion, guess what I’m going to start to recommend.

    So far, Subversion isn’t being forked, and a fork would not be good
    for WANdisco. They are heavily dependent upon people selecting
    Subverson as a version control system. What they want to do is fix
    some of the underlying issues Subversion has had for the last three
    years and get the Subversion project to accept them. I can’t see any
    reason why the Subversion project would reject them. After all,
    Subversion was once run by CollabNet which had commercial interests in
    Subversion. Yet, no one complained about CollabNet “dominating” the
    project.

    I hope that WANdisco is able to fix many of the issues that have been
    plaguing Subversion for years. I don’t believe that those who are
    leading Subversion have “failed”, but that a private company
    committing resources to an open source project can be a good thing.

  • In the press release it says:

    “With more active developers from the Subversion project on staff than any other company, WANdisco will”

    in this blog it says:

    “We are not happy with the volume, speed or participation on the project right now.”

    So, if there is a problem, who’s to blame?

    Why are you issuing a press release that amounts to “our staff are not good enough, we’ll do better?”

    Speaking personally I don’t trust or respect companies who make these kinds of noises in open source projects. Stop blaming everyone else and take responsibility – that’s the way community led open source projects work.

    This is marketing drivel and bears no relation to the work of SVN committers, including your own. Hell if I was on your staff and I saw this I’d be seriously p***ed off.

    Mr President and CEO of WanDisco – how come you don’t get it?

  • Another comment on the Subversion user list from Johan:

    I like the “call for action”, and the intention to invest more in the
    development of Subversion. However, I do not like the blog entry. I
    may be overly sensitive to this kind of thing, but I’m rather
    antagonized by the paragraph “Hang on a Minute! Didn’t the Community
    Just Announce A Road Map?”.

    I can feel the frustration with the lack of progress (or translated
    frustration of Wandisco’s big customers). I understand this
    frustration (I feel it too sometimes), and the desire to do something
    about it (that’s why I got involved myself). However, this paragraph
    has an undertone of blaming it on lack of involvement/dedication by
    the community and developers, and bad behavior by some developers.

    This is not a good way to motivate the community positively to work
    with you, it’s a negative message. At least that’s how it sounds to me
    (admittedly, I may not have the full picture of all that’s going on,
    but so do probably most readers of the blog).

    I’m specifically talking about the following sentences:

    – In answer to the question “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.) ”

    What? I’m subscribed to the dev-list and the commits-list for that
    last year and a half, and I’ve seen a *ton* of work being done. Yes,
    it can always be more/better/faster or more predictable, but it’s not
    that nothing has been done. And I always thought it was kind of
    obvious that work on new stuff from the roadmap would have to wait for
    1.7 to be finished. Ok, 1.7 is slipping, but it seems it was harder
    than anticipated. Regardless, I see a lot of people working hard. So
    I’d just say: thanks to all the people who keep up the good work.

    – “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. ”

    I know (hope) you’re probably not criticizing all those volunteers
    spending their free time on Subversion, but it can be read that way.
    As a participant in the user community, and beginning contributor
    dev-wise, I feel kind of personally attacked by your unhappiness with
    my lack of participation.

    – “Blogging, or answering questions on user lists are important, but
    so is writing source code.”

    Ok, the software needs to work, and features need to be developed. But
    I do hope you’re not down-playing answering questions on the user
    list. I can’t stress enough how important this list is to a lot of
    users (and how many people put in countless hours to help out others).
    Also, I think it’s great that there are some developers who follow the
    users list closely, answering some difficult user questions with
    detailed explanations, backed by knowledge of svn internals. Ok,
    that’s time they aren’t spending on coding, but IMHO it’s time very
    well spent.

    – “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.”

    What? What are you talking about? I have seen nothing of the sort. Ok,
    as I said, I only see part of the picture, so I might have missed
    something. But even if it’s true to some extent, I don’t think it’s a
    good idea to make some vague accusations about it in this way. It puts
    all committers in a bad light. Besides, even if this were the case, is
    it really that big of a deal?

    Cheers,

    Johan

    Johan,

    Firstly, thank you for caring about Subversion – we *do*, passionately.

    1. The feeling of a lack of progress is not new and it’s not just “WANdisco’s big customers” as you put it. I don’t think I am blaming any individual – it’s just a fact of life as I said “We are not happy with the volume, speed or participation on the project right now”. This is not new – it’s been a criticism since 2007. In fact these [fundamental] requirements have been around and published since then. What we are saying, in fact, is that Subversion cannot live in a vacuum – there is no point in us complaining about a lack of action. That will achieve *nothing* about from wasting time. As I say at the outset “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.”

    2. On the question of the road-map / commit logs. Firstly WC-NG, httpv2 etc were already in train and we were already working on those things. Julian Foad, for example, one of our core developers was actually a long way into obliterate but he *had* to switch over to 1.7. I therefore don’t regard 1.7 as an issue with the road-map. There are more immediate issues that *must* be tackled now, ideally in parallel associated with branching & merging. Developers are working hard but there simply aren’t enough of us, for whatever reason, *actively* working on the project right now. Not a criticism – just a fact of life.

    3. On the question about “answering questions on user lists”. Note I did say “Blogging, or answering questions on user lists are important” Active user lists are a good measure of an open source project and so is commits. I have already received several offers to help code and that is *very* much appreciated.

    4. “unscrupulous committers decide to commit trivial changes in large files to simply get their stats up.” I’m not going to go into that here but I repeat that the best way to create open source developers is by hiring great people who create wonderful source code. The core developers of Subversion, in my experience, are amazing individuals who maintain and create the best SCM product on the planet I am *not* repeat *not* criticizing or setting any of you / them in a bad light. that will *never* happen.

    Johan, I hope this set’s the record straight. We knew that by doing this that we would open ourselves up to criticism. We have tried alternative paths to effect change on the project but we feel that now it the time to act.

    Feel free to contact me directly and I am more than happy to talk directly with you.

    – David

  • John, not entirely sure I understand the correlation you are trying to draw but this whole thing isn’t about blame it’s about action. We are promising to act to deliver requirements that Subversion users are asking for.

  • I am new here. What exactly are the technical issues? What deficiencies need to be addressed?

  • Here’s the spec: http://www.wandisco.com/svndisco – many are and have been in the SUbversion defect tracker for quite a while.

    The requirements for merging have been well documented within the Apache Subversion Project and were first published prior to Subversion 1.4. Here at WANdisco, we believe that there are still some vital use cases that are captured in this documentation but are not yet implemented. We are going to focus our attention and dedicate our resources towards implementing some of the remaining higher priority requirements. These include:

    Subversion tracking of renames to eliminate tree conflicts during merges

    Enhance Subversion merge tracking and merge base ancestry calculation

  • > A majority of the changes in Linux are done by IBM paid
    employees

    Nope, IBM only does about 2-3% of the development. There are thousands of contributors every release, and no one person/company does a majority of the work.

    http://lwn.net/Articles/395961/

  • I used CVS for years, then SVN, but ever since I discovered BZR, from the corporation behind Ubuntu, I’ve been hooked. Its commands are so backward compatible with SVN that it requires very little retraining to use it as a centralized repository, but it also can be distributed, or any combination of the two, which means you can have the same business processes as you do with SVN, just with more innovation being possible. It also doesn’t have very many of the problems I’m constantly plagued with when using SVN at work. Plus, there is a BZR-SVN bridge that lets you use BZR with SVN repos almost transparently.

    I guess I don’t understand the need for “fixing” SVN. Just move to BZR and use it against existing SVN repos until you can move everyone in your organization over.

Leave a Reply