Subversion Vision/Roadmap Proposal Submitted for Public Review and Comment

It’s done. I’ve finally submitted the Subversion vision and roadmap proposal resulting from the Subversion Vision Conference last week to the Subversion developer community for digestion and debate. The proposal is the result of many hours spent crawling through my notes from the conference, browsing photos I snapped of our whiteboard scribblings there, distilling all that information into organized thoughts, composing drafts of the proposal, and then editing it to death. (Many thanks to Hyrum Wright, who collaborated with me on the manifesto proposal and provided invaluable editorial review.)

You can read the full text of the proposal (and follow any subsequent discussion which may occur) in the development list archives at http://svn.haxx.se/dev/archive-2010-04/0047.shtml. I’ll highlight some of the key suggestions here, though.

The first order of business was to define Subversion’s target market, and some of the key benefits that Subversion can offer to that market. My proposed project/product vision sums it up quite nicely (if I do say so myself):

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.

With that vision in mind, we are empowered to start talking in generalities about feature roadmaps and trends. Here’s what is proposed:

  • 1.7: WC-NG; HTTPv2; ‘svn patch’; typical slew of various bug fixes
  • 1.8: repository-dictated configuration; tree conflicts improvements; WC-NG-enabled stuff (rename tracking, compressed pristines, shelving/checkpointing, …)
  • 1.9: Editor v2 (for server->client rename handling improvements)
  • 2.0: FS-NG (ideally a parallelized task), with some (to-be-identified) FS-NG enabled features.

An admitted shortcoming of this roadmap is its lack of associated release dates. Realistically speaking, I think the myth of returning to six-month release cycles in Subversion has been dispelled by experience. The relatively easy work we were doing years ago is all done, leaving only the challenging stuff. I suspect this means we’ll have roughly 9-15 month release cycles, at least until more of the larger plumbing-type tasks are completed. That said, we’ll be trying to identify in our public roadmap not just what we’re doing, but what we wish we could do if we had more manpower.

That brings me to the topic of communication. The proposal speaks about our community’s need to do a better job of communicating with our target audience. Many of you already benefit — and have been benefitting for nearly a decade — from “getting the inside scoop” on Subversion via your relationship with CollabNet. That channel is certainly not going away (and if anything, I suspect you’ll find it being enhanced). But this doesn’t excuse the developer community from being a bit more transparent about its efforts via our recently redesigned project website. Overall, my hope is that enhanced lines and media of communication between Subversion’s developers and its vast user base will be mutually beneficial, and that Subversion consumers with money and developer hours to spend will be encouraged, enlightened, and empowered enough to apply those resources towards the acceleration of Subversion’s roadmap.

C. Michael Pilato

C. Michael Pilato is a core Subversion developer, co-author of Version Control With Subversion (O'Reilly Media), and the primary maintainer of ViewVC. He works remotely from his home state of North Carolina as a software engineer for CollabNet, and has been an active open source developer since early 2001. Mike is a proud husband and father who loves traveling, soccer, spending quality time with his family, and any combination of those things. He also enjoys composing and performing music, and harbors not-so-secret fantasies of rock stardom. Mike has a degree in computer science and mathematics from the University of North Carolina at Charlotte.

Posted in Subversion
6 comments on “Subversion Vision/Roadmap Proposal Submitted for Public Review and Comment
  1. adobni says:

    Who announces a roadmap on april 1st? Oh, wait, these guys did that: [http://blog.hudson-ci.org/content/announcing-hudson-20-roadmap?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ContinuousBlog+%28continuous+blog%29&utm_content=Google+Reader]
    but I really don’t recommend it.
    Seriuosly, good job. I think SVN is a nice product but need the focus of a vision/roadmap to go on.

  2. Feldhacker says:

    “Enterprise Authentication Mechanisms” appears as a bullet point, but nothing more is said — it doesn’t appear on the “roadmap” anywhere.
    What does “Enterprise Authentication Mechanisms” mean exactly? (Path-based LDAP authorization?)
    For what version milestone is this feature targeted?

  3. C. Michael Pilato says:

    Feldhacker:
    “Enterprise authentication mechanisms” refers to authentication protocols that are typically used in large corporations. When interviewing many of CollabNet’s Subversion customers, I heard concerns about Subversion’s lack of a way to securely cache authn credentials client-side in a unified, OS-independent fashion. I mean, basic secure storage is available — you can use the Windows encrypted store there, the Mac OS X keychain there, and on Linux you’ve got access to the Gnome keyring or KDE kwallet. But many of these shops are, say, universally Kerberos-based, and want their version control tools to play along with their particular mandated authn protocol, too.
    Regarding the milestone for that feature: there is none right now. Part of the exercise we undertook in NYC was to determine what our community could hope to accomplish with the resources we have *right now*. Quite frankly, we lack the domain knowledge *right now* to feel that we could do that feature proper justice. There’s room here, of course, for increased investment by Subversion’s corporate sponsors (CollabNet or otherwise), and/or for manpower/knowledge donation by Subversion’s users, etc.
    This roadmap belongs to the community, and is a living document. Acceleration and amendment are quite possible. Desirable, even — we’d love to get more done and in less time! I’m sure that CollabNet and others are already investigating ways in which they can do exactly that. If your organization has a strong need for this feature, I’d encourage you to work in whatever way you can, directly or via a relationship with CollabNet, to amend and accelerate toward that end.

  4. v says:

    One thing that I have found quite weak in SVN as compared to other tools is reporting and providing tools that help you ‘see’ the history of files/branches. Perhaps adding something to the vision about that might help cause it to be?

  5. Olly says:

    Well, comming from a comercial VC system we actually use subversion as our backbone for software developement in our mid-size company with roughly 200 software developers. It works fine.
    What we are missing, from our point of view, are, as mentioned before, additional report and selection functions. As we are working in the automotive buisiness there are some standards that we need to fullfill, e.g. functional safety standards, CMMI .. This is why we added some internaly used properties to some files and directories defining a kind of lifecycle for a software component (So, to adress a component and not a single file it seems to make sence to attach these properties to directories).
    Well, this is all allready posible in Subversion, working fine.
    Now, when using this kind of lifecycle definition there are some qustions that need need to be answerd:
    1.: Statistics of the next release (how many files are to be tested, how many are “ready for release ..)
    2.: Same for older revisions
    3.: Include this information in some kind of softwere component lifecycle report: when was the component in a certain state ..
    … and much more
    To be able to actually do this kind of operations it would be very helpful if the metadata of the subversion repository would be stored in a kind of database where it could be queried in many ways. And, adding some selection functions, it would be very helpful if this was a part of the SVN standard. Because just if it becomes part of the standard most additional tools/clients will support it.
    Helpful selections could be update or switch operation related to this kind of metadata.
    Anyway, Subversion and the infrastructure around it is for sure a powerful and mature solution for CM, in my personal view even better than a lot of comercial products.

  6. Jason Webb says:

    Great article. I enjoy hearing about entrepreneurs who triumph potentially devastating situations and rise from it with a leaner, more efficient business and go on to achieve everything they desire.
    Thanks and Regards/-
    Jason Webb

Leave a Reply

Your email address will not be published. Required fields are marked *

*