January SoftwareGR meeting: Eric Sink on version control

Eric Sink, of Source Gear was January’s SoftwareGR speaker. Twenty five or so people turned out for the meeting. Eric chose to speak on the topic that he’s passionate about: version control. This is a deeply nerdy interest and his wife is tired of the subject, evidently. Version control in a nutshell is undo & history of change.

Eric started his career in scientific data visualization tools. Great fun, not much of a market. He worked at SpyGlass. (the origin of Internet Explorer), then founded SourceGear when SpyGlass switched to pursuing mobile browsers.

SourceGear has several version control products. TeamPrise, a client for Microsoft Team Foundation Server (TFS), was recently sold to Microsoft.

There are dozens of successful players in this industry. Some open source tools have millions of users, many successful commercial tools (> $1B market). It’s an unusual market this way, in that there isn’t a single, dominant player.

Eric identified several new, and powerful trends in version control: integration and distribution. The trend toward integration is happening in the enterprise. The trend toward DVCS is happening in the open source community.

Integration Integrating your version control tool with burndown charts, bug tracking, time tracking, project management, requirements, testing, builds, agile planning, etc, is where the enterprise is taking version control.

Eric included heterogeneous environment support (various IDEs, platforms, databases, etc) in the integration trend. The leaders in the integration field are Borland (via StarTeam), MS, Serena, and IBM/Rational.

Distribution Distributed version control (DVCS) doesn’t require a centralized server. Branching is so intrinsic to this approach it’s not called branching.

With distributed version control, everyone has a private workspace. You get much better performance (especially for distributed teams), since you’re committing locally. You get good flexibility, which is handy for large companies and complex situations.

With DVCS you’re committing before you merge. There is no longer a single authoritative version. This stops a lot of people (Eric said you shouldn’t let it stop you from learning about these tools). Several people offered advantages and personal testimonials of DVCS over traditional version control.

Examples of DVCS tools include BitKeeper, Git, Mercurial, and Bzr. BitKeeper got the Linux kernel (a major win), then had a very public falling out with that team (a major PR disaster). However, the BitKeeper disaster led to Git, and other important open source DVCS projects.

The enterprise has problems most of us don’t have. For example, Eric cited Cisco, with 15 terabytes in source control, and 50 developers writing perl scripts on top of ClearCase to serve 6000 users. That scale of problem is something the open source, distributed tools aren’t able to handle.

As interesting signs of change, Eric’s company lost a major retailer client to Collabnet + svn. This is a sign that the enterprise is becoming more open to open source tools. Another sign of change: Microsoft is supporting mercurial. That’s significant because mercurial is a DVCS licensed under the GPL, a double hatred for Microsoft.

Eric claimed major enterprise vendors (TFS, Perforce, and Rational) are trying to convert to DVCS. He predicted that these efforts are bound to failure. Integration and distribution are inherently opposed. Eric predicts the clash of these trends will be resolved by integrated, enterprise version control systems picking up just enough distributed features to make people happy.

This entry was posted in Tools. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

2 Comments

  1. pedant
    Posted January 27, 2010 at 12:33 am

    grammar: “the Bitkeeper disaster lead to git” should be “the Bitkeeper disaster led [past tense] to git”.

  2. Posted January 27, 2010 at 12:33 am

    Thanks for the correction. That’s what I get for blogging during the meeting.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">