SVN Summit, 16-18 October 2006, Google campus, Mountain View, California, U.S.A.
Remember, you can add agenda items even if you can't attend the summit!
Blog
The shared blog is up on Blogger.
Travel
Please see SVNSummitTravel for travel and hotel information. (Page is access-restricted to people eligible to attend the summit, who have created wiki accounts, and been authorized. If you had registered an account on the wiki before this page was locked down, you are authorized - just log in. For the three summit attendees who do *not* have a wiki account: register one, then ask on the #svn-dev IRC channel for someone to grant authorization.)
Directions, Location, Meals
Please see SVNSummitSchedule for information on where we'll be meeting, and when, during the three days.
PGP signing
(A pictorial history of the summit PGP Keyring is available in the Mercurial respository, in the subdirectory home-movies/. This is snapshots of the graph on SVNSummitKeys as it evolved.)
You need to bring:
- Two forms of ID, at least one of them with photo.
The following information about your key, on a piece of paper (like this, maybe):
- Key size (number of bits)
- Key type (RSA or DSA, normally)
- Key ID (8 hex digits, ought to be the same as the last digits of the fingerprint, unless you have an unusual key)
- Key fingerprint (long string of hex digits)
Mercurial
We decided that it would be worthwhile to gain experience with a distributed VCS, so that we could have a more informed opinion on the topic. Therefore, notes relating to the summit are being kept in a Mercurial repository: SVNSummitMercurial.
Scope
Anything is up for discussion, but let's please remember that there are many developers who can't make it to the Summit, and therefore ideas agreed on at the Summit must still be taken to the project community as a whole for final decision.
Agenda
Start agendizing for SVN Summit here; put more detailed ideas and questions for discussion in links.
Please add stuff you'd like to talk about.
Presentations
- Ben Collins-Sussman would like to give a (very brief) welcoming presentation on (1) why our community is so healthy, (2) what we can do to keep it healthy, and (3) a plea to begin focusing our goals for svn 2.0.
Daniel Berlin will discuss the design for Merge Tracking. Dan Rall will describe the current state of the implementation.
Dan Berlin also on his new design for FSFS, perhaps using mercurial's revlog format; SVNBackEnd has notes/comments/references on this.
Blair, would you like to talk about non-standard uses of Subversion, as in: "...people using Subversion in software development shops where the standard methodology of simple trunk, branches, tags, don't work too well. I've seen some odd things, such as at XXX Corp and YYY Corp."
- Justin on how to make WebDAV accesses even faster. All hail Serf and proxies.
Brane on his ideas for Subversion 2.0 (project organisation, API/bindings, repository design).
Garrett is willing to give an update on Subversion, Inc. Trademarks, copyright assignments/CLAs, all that jazz. (I wouldn't mind getting a clarification on the use of Subversion libraries by (L)GPL'd code, while we're at it).
- Presentation of the current Buildbot setup, how to use the buildbot client to try out patches before committing, and gathering of ideas to further improve it. (lgo)
- SVK for Subversion developers --- what exactly SVK is, how its merge algorithms compare to DannyB's, how its mirroring compares to svnsync, UI things we like about it (interactive commit, etc). (clkao, glasser)
- sussman/fitz are willing to chat about Google's bigtable-filesystem backend, if there's sufficient interest. It may be a proprietary backend, but there may be interesting lessons to gleam from our experiences, possibly for future opensource backends...
Coding sprints
New Win32 build system? Justin wants a Win32 build system that just works(TM) and doesn't force the directories to be laid out in a particular way. This has to be a solvable problem. Having a bunch of us spend a few hours together on this would be really nice way to jumpstart it. (sussman and eh have been talking about writing such a system in python for a while!)
Discussions
Should svn 2.0 be a decentralized system? Some think SVN should do SVK-style mirroring. (Uh, SVK doesn't do mirroring -- it does replication. Which do you mean here? SVN already has svnsync for true mirroring...) Garrett suspects this means local copies of remote branches and pushing changes from one repository into another, and would also like to talk about it. Ben has some strong thoughts on this too.
- How has SQLite been turning out for the merge tracking work? Should we consider it for libsvn_wc too?
- UI/Design for customizable 'incomplete' working copies: allowing users to selectively show/hide subdirs in a wc.
"Why hasn't Subversion achieved total world domination yet?" What's missing from the current product that's preventing existing CVS users (Mozilla: status, requirements; OpenOffice: migration status) from moving? What's causing other projects to go with non-CVS-alike (git, Hg, Arch...) tools (OpenSolaris SCM requirements which ended up with Hg)? Do we even want to achieve Total World Domination, or are there some problems that we don't want Subversion to be able to solve (non-centralised development, perhaps?).
"What is Subversion 2.0?" What kind of thing have we been putting off so far to 2.0, what blue-sky ideas could we consider for 2.0, and when should we start thinking about doing it?
- How can we fix the python test framework to make it easy and fun to write regression/acceptance tests? [I've never seen a test framework that makes test fun to write ...]
- Requirements gathering/design for the authentication/authorization module (roles, wildcards in paths, LDAP integration with groups...)
- A good design for a replacement for CVS modules, whether that's in-repository symlinks, client-side viewspecs.
Completing incomplete(?) ideas (SVNIncompleteIdeas): inherited properties, text-base-less working copies, etc.
- Making the bindings into first-class citizens (getting full API coverage, allowing sync problems b/w bindings and core APIs to block releases)
- Is the Buddy System for filing issues helping or hurting us?
- Is our patch-tracking system (dev@ list first, Patch Manager, etc) working?
Basing cvs2svn conversions on CVS revision dependency graph (see proposal).
- Come up with a complete description of what it means to version trees (which tree changes constitute conflicts; which ones can be merged; when to update a file, when to conflict, etc)
- Take the opportunity to clear out our issue database: we have many very old (way pre-1.0) issues which may or may not still apply. Which ones do we want to preserve?
- Lieven will take time to explain about builbot and its benefits for us svn developers. (A relevant question after we all understand this stuff: do we want to try to convince all testers to start using buildbot setups?)
- What do we need to do to make building svn on win32 not suck?
How can we improve our release process? (look at the dates in the release directory to get an idea of how long 1.4.0 has taken so far)
- Should SVN 2.0 use a language other than C?
Reporting Summit Results
Since not all svn developers can attend, naturally the presentations and discussions will be of great interest to the dev@subversion.tigris.org list. We need to make a concerted effort to have at least one (or more!) note-takers for each session. Possible strategies:
Use shared-network editors like SubEthaEdit or Writely
Garrett would suggest Gobby, since it's a native program (more responsive than Writely, no 10 second delay) and is cross platform. Grab release 0.3.x (since that's what's currently available in production versions of ubuntu) from http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi/wiki/Download
- Multiple note-takers need to combine notes and elect someone to write a 'final summary'
- Perhaps the notes can be posted to a shared group blog?
Other stuff
PGP Key signing: A quick organized session with the aim of every attendee signing the keys of every other attendee, to produce a fully-connected web-of-trust (SVNSummitKeys shows our current web). If you're joining in, see the section above for more information about what you need to bring.
Something Social on Tuesday: CollabNet would like to sponsor something social and fun on Tuesday night. Any ideas? A dinner off-campus someplace nice is a safe bet, but other options could be fun. Open tab at Greg's favorite local pub? Bowling? Go-cart racing? Doing donuts in the parking lot at Microsoft? Send suggestions to brian@collab.net . (Thanks, CollabNet! I like the bowling idea, since, assuming there's a bar at the bowling alley, people can drift between bowling and just chatting over beers as they please. -kfogel)
Who's attending?
Please add your name to this list.
If you are willing to participate in PGP signing during the summit, please add your key-ID(s) after your name and be prepared as discussed in the keysigning party how-to.
Ben Collins-Sussman [EC6B5156]
Daniel Rall [674F05E0] (expecting my firstborn the following week, so might have to bow out)
Garrett Rooney [9BCFCE2F]
David Anderson [EE506461]
Paul Burba [53FCDC55]
C. Michael Pilato [1706FD6E]
Malcolm Rowe [33D38008]
Jani Averbach [16D8B41C]
Max Bowsher [C0F2C580]
Lieven Govaerts [8CD4D8DE]
Karl Fogel [DB00A248]
Justin Erenkrantz [E2226795]
Brian Fitzpatrick [F894BE12]
Michael Haggerty [1C1F9809]
Wilfredo Sánchez Vega [C59C3270, 63ED5466]
David Glasser [F9FFE928]
Chia-liang Kao [51240396]
Blair Zajac [DA561D91]
Branko Čibej [C8628501]
Ivan Zhakov [C3BCC62D]
Bhuvaneswaran Arumugam [7A13E5B0]
Eric Gillespie [A025C702]
David James [AA890EBE]
Jack Repenning [3B82E870, E67DF57D, 0CA5C999]
Sander Striker [DE885DD3]
Greg Stein [E005C9CB]
- Bryan O'Sullivan
- Daniel Berlin
- Brian Behlendorf
- Zack Brown
- Madan U S
- Jason Robbins
