As I predicted in yesterday's blog post, today was a very full and productive day at the Subversion Vision Conference. We convened at roughly 9am — this time with all five of the expected attendees — and for the next ten hours (minus lunch), it was all Subversion chatter.
After briefing Stefan and Karl on the events of yesterday, we really started to work on refining what we will eventually propose as the new vision statement and associated business-card-sized slogan for Subversion. Now, admittedly, a slogan seems a bit like a superficial bit of marketing, but a simple statement of purpose can go a long way towards keeping a project on track. The project's original slogan — "A compelling replacement for CVS" — was instrumental in focusing our development energies in the early days of the project on what needed to be done not to unseat ClearCase or Perforce or RandomVersionControlSystem, but to specifically replace CVS as the de facto standard for open source version control. It's that kind of focus that we hope to gain from a new simple slogan constructed from a meatier vision statement.
Crafting a vision statement and slogan sounds simple, but in reality this exploration led us into a pretty detailed discussion about Subversion's future target audience. Obviously, Subversion has enjoyed widespread success and acceptance by nearly every class of possible user in the past six years. But the version control landscape is different now than it was then, and it's not sufficient to be merely "good enough" for most folks — especially when a whole class of them have "even better for my needs" at their disposal in the newer distributed family of VC offerings. Subversion's foothold is in the enterprise, where centralization and control are (and will likely remain) highly valued.
With that in mind, we arrived at a very broad criteria for determining how Subversion could meet the needs of the enterprise without particularly alienating other classes of users:
- Maintain a centralized approach to version control.
- Continue to be simple enough for everyone to use, techie or otherwise. In fact, become even easier to use.
- Reward those who can afford to devote cycles towards detailed administration of the tool.
- Serve as a legitimate basis for an overall Software Configuration Management (SCM) solution.
We revisited the feedback harvested recently from enterprise users of Subversion to see how their requests supported the established goals. This again provided an opportunity for several brief "dips" out of the higher-level metadiscussion and into some technical details from time to time. Many of these technical sidebars led to the all-too-common place of feeling limited by Subversion's repository storage layer. Fortunately, Jon Trowbridge returned in the afternoon to share with us observations of that layer based on his experiences with writing a brand new Subversion repository backend from scratch for Google Code. Jon's a wonderful guy with a lovely sense of humor and a special knack for making you feel good even as he beats you up for poor technical decisions. I think we all learned a great deal about what kinds of things to avoid if we find ourselves seriously considering a new open source backend for Subversion repositories.
Other sidebar discussions occurred throughout the day, covering all sorts of technical and non-technical topics. We concluded by identifying the agenda for tomorrow's half-day of discussion, when we'll take up the task of developing a roadmap for Subversion over the next five years. It's possible that we won't have time to complete that discussion before going our separate ways again, but the time spent working together on the supporting materials for that process is time well-spent regardless.