A Niche The Size Of A Canyon

Yosemite, Tunnel View

I admit it's been a while since I had to use a source code management system for real - over 10 years in fact. So I was intrigued to read what Stephen O'Grady recently published about distributed source code management (DSCM) in one of his signature Q&As. He makes a number of interesting observations, but I was interested by the omission of a whole thread of analysis around the assertion Mark Shuttleworth makes that merging is the key to source code management.

Sun has a long history with DSCM, and the tool used internally by many teams (Teamware) is in fact the predecessor of Bitkeeper written by the same author, Larry McVoy. The development of both Solaris and the Java platform uses Teamware and the distributed approach is a fundamental factor in the development culture of both products.

When we open sourced Solaris and seeded the OpenSolaris community, it was very much an act of opening an existing distributed community to public participation rather than the creation of a new community. That's why it was obvious to that community to want a DSCM to maintain the source code in OpenSolaris. Since Teamware was (and is) a proprietary tool, they selected an open source system for community use.

Stephen seems to suggest that in some way centralised SCM like Subversion is a natural choice for open source, but I would suggest that needs more thought. A DSCM is in some ways a group of inter-related CSCMs with added capabilities that reflect the nature of a diverse ecosystem. Yes, a team of developers needs a source code management system. But an ecosystem - with upstream builds and downstream distros, with multiple platform versions, with experimental features - also needs to be able to handle the reconciliation of changes as easily as possible.

So I'd suggest that while CSCMs may be ideal for the team-based development found in smaller open source projects, DSCM is for ecosystems and thus is the natural choice for open source communities. In other words, it's a trend.

Comments:

While I certainly agree that DSCMs are becoming the trend, I'm worried about the increased responsibility required to 'centralize' some of the work into a shippable source or binary release that has some sort of official status. The DSCMs make that harder, encouraging forks rather than potentially working with upstream. Sure, choice is good and DSCMs allow easy merging, but how far do we want to go?

Posted by Glynn Foster on July 02, 2007 at 09:38 AM PDT #

"Stephen seems to suggest that in some way centralised SCM like Subversion is a natural choice for open source, but I would suggest that needs more thought." which bit, out of curiosity, suggested that? no such assertion was intended. quite the contrary, in fact.

Posted by stephen o'grady on July 02, 2007 at 10:58 AM PDT #

That was the drift I picked up - that although you felt yourself it had obvious qulaities that it would remain niche, implying the natural reaction of FOSS was CSCM. My mistake, obviously.

Posted by Simon Phipps on July 02, 2007 at 11:00 AM PDT #

Post a Comment:
Comments are closed for this entry.
About

Thoughts and pointers on digital freedoms and technology markets. With a few photos too.

Search

Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today