Apache Subversion To WANdisco, Inc: Get Real
kfogel writes "The Apache Subversion project has just had to remind one of its corporate contributors about the rules of the road. WANdisco, Inc was putting out some very odd press releases and blog posts, implying (among other things) that their company was in some sort of steering position in the open source project. Oops — that's not the Apache Way. The Apache Software Foundation has reminded them of how things work. Meanwhile, one of the founding developers of Subversion, Ben Collins-Sussman, has posted a considerably more caustic take on WANdisco's behavior."
The beautiful thing, though, is that because development discussion is held in open, publicly archived mailing lists and all development is done in logged, publicly accessible source code repositories, the interested observer can investigate and come to the real conclusion on his own to see whether either party's explanation makes sense.
If you take any organization called "WANdisco" seriously, you have bigger issues than where exactly your open source software came from :P
Monstar L
I don't mean distributed repositories, but the one feature pack that the other systems seemingly have right: branching and merging with real rename tracking
It is entirely possible that this will never happen in any reasonable time frame without re-engineering the whole system. If it can happen with relatively minor changes, it should have happened by now. If it is going to require major changes, somebody is essentially going to have to fork it and redo the core SCM storage from the ground up. A number of minor patches won't do. A version of the Innovator's Dilemma, more or less.
Yeah, I read that. And I get it. Subversion is a rock of a software. Yet still, I remember reading about rename tracking _years_ ago identified as a critical feature by the subversion developers themselves! And now it is on the roadmap for Q1 2012! At that pace, I don't know if maybe moving to another SCM may be the better option.
Here's WANdisco's press release, their CEO's first blog post, and his second blog post responding to community response.
[Note: The summary's second link seems to be getting slashdotted, so I'm copying its contents to a comment here. The words are not my own.]
This entry was posted by Ben Collins-Sussman on Monday, 3 January, 2011
Author’s Note: These opinions are my own. I'm one of the original folks that started the Subversion project, but no longer work on it. These thoughts do not reflect the official position of either the Subversion project or the Apache Software Foundation, which are located here on the ASF blog.
Subversion has reached the realm of Mature software — it’s yesterday’s technology, not cool or hip to work on anymore. It moves slowly. It is developed almost entirely by engineers working for corporations that need it or sell support for it. Alpha-geeks consider software like this “dead”, but the fact is that something like half of all corporate programmers use Subversion as their SCM (depending on which surveys you read.) This is a huge userbase; it may not be sexy, but it’s entrenched and here for the long haul.
Subversion isn’t unique in this position. It sits alongside other mature software such as Apache HTTPD or the GCC toolchain, which are famous projects that are similarly developed by corporate interests. There’s a tricky line to walk: none of these corporations “own” these projects. They understand that they’re acting as part of a consortium. Each interest sends representatives to the open source project, contributes code, and allows their engineers to participate in the full consensus-based evolution of the software. IBM, Apple, Google, and numerous other companies have figured out how to do this correctly:
Today, however, we have a great counterexample of how not to participate in an open source project. Subversion was initially funded and developed by CollabNet; today at least two other companies — Elego and WANdisco — are employing numerous engineers to improve Subversion, and are just as vested in selling support and derivative products. CollabNet and Elego continue to function normally in the community, but WANdisco recently seems to have lost its marbles. Last week, they put out a press release and a CEO blogpost making some crazy statements.
It’s clear that the WANdisco CEO — David Richards — is frustrated at the slow pace at which Subversion is improving. But the two posts are simply making outrageous claims, either directly or via insinuation. David seems to believe that a cabal is preventing Subversion from advancing, and that “debate” is the evil instrument being used to block progress. He believes users are crying for the product to be improved, that the Subversion developers are ignoring them, and his company is now going to ride in on a white horse to save the project. By commanding engineers to Just Fix things, he’ll “protect the future”of Subversion, “overhauling” Subversion into a “radical new” product.
Is this guy for real? It sounds like someone read my friend Karl's book and created a farce of “everything you’re not supposed to do” when participating in corporate open source.
Even weirder, he’s accusing developers of trying game statistics by creating lots of
Nah, they're just going to develop it in a separate branch, and merge it to trunk when it's done.
At work we switched from Subversion to Mercurial last year, after repeated difficulties merging branches back into the trunk with SVN. The "killer feature" of SVN over CVS was supposed to be the ability to move files and directories around without doing it by hand in the repository itself. However, the moment you start doing this in a branched repository - or worse still, delete files and directories - you're into a world of hurt. The guy who wrote the existing branch/merge support has acknowledged it's inadequate[1], while the remaining SVN developers have been promising to fix it in the next version, for about the last four or five major versions. Since switching to Mercurial, we have had a reasonably large branch that was reintegrated into trunk with none of the problems we had with SVN. We've found the tools at least as good as those available for SVN, with various team members using the Mercurial command line client, NetBeans plugin and TortoiseHg.
... On the other hand, git and mercurial just don't have the tooling (GUI) that subversion has with TortoiseSVN, SmartSVN, the Eclipse SVN Handler... There might be equivalents, but they are not as good.
I've used TortoiseHg for a while now, and it seems to be complete. Is it just that I'm a Mercurial Noob?
oops - typo. "Sparse checkout". You can checkout a partial directory structure, update and commit as required.
So if you have a 12Gb source tree stored in your repo, you don't need to get it all out - only the parts you want to work on. Typically you checkout the root item only, then update the required directories to fetch them into your local drive as you need them.