Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] Package management with distributed SCM

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Daniel Drake <dsd AT gentoo.org>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] Package management with distributed SCM
  • Date: Sat, 16 Jun 2007 23:06:27 -0400

Hi,

Quick intro: Being involved with Linux kernel development, I got curious as to whether any distributions are being run in a similar development style. One of the most significant differences between kernel dev and traditional distro dev is the usage of a distributed SCM for the kernel, and how the workflow has been built around that principle. I am also a Gentoo developer so I am familiar with the common distro-building challenges.

So far, SourceMage is the only distro that I've found that uses a distributed SCM for package management.

Gentoo uses a centralized SCM (CVS) for the package tree. One of the ongoing challenges in Gentoo, which also seems to be a common challenge for SourceMage, is that there aren't enough people working on the package tree. In Gentoo I attribute this largely to the fact that we restrict direct contribution flow (i.e. commit access) to people that we certify as "Gentoo developers", and the certification process is long (4+ weeks) and drawn out. In my experience, many developers like to scratch an itch and move on -- an idea which does not fit into Gentoo's current developer recruitment processes at all. In addition to the length of the recruitment process, we make it sufficiently complicated to ensure we don't accept any sour grapes.

There are also overheads involved with having a concept of "developer access" -- SSH accounts, CVS permissions, RSA keys, etc.

In contrast, the kernel development community has none of these problems, contributors just publish their own trees through whatever means, and the people up the chain can trivially merge large sets of changes from anyone. This is only possible because of the distributed SCM approach.

So, I am wondering if SourceMage have benefited similarly through maintaining grimoire in git.

I set about researching this. My first port of call would be to clone a your tree and generate some statistics.

I hunted through your website but didn't even find a mention of git. I moved to the wiki and found a git guide, but this only detailed developer access. However, I found a webserver running on the same system that hosts the developer git access, which appears to provide the git repositories over http. However, as git-update-server-info had not been run there, it was not possible to clone this way.

Next, I tried Google. This pointed me towards a gitweb interface to your trees, but not to any clone access. I'm also surprised that I have yet to find a reference to this gitweb on either your site or wiki.

I next asked on IRC, and Eric Sandall provided me with a public access git:// URL. Unfortunately this was not working either, but Eric (or someone else) fixed the http access so I could clone that way.

To help anyone else on a similar path, I added details about the above resources to the GitGuide page on the wiki, but my additions were removed a few hours later. I apologise if I was out of line here and there is some reason you want to keep the public access information relatively quiet.

Anyway, with a clone of grimoire.git in front of me, I started looking through to get a better idea of if you have been able to leverage contributors outside of the developer community with the ease that git provides (although I wasn't too confident I'd find promising results due to my own troubles with finding and cloning the tree):

- I found a total of 42 authors of the whole repository (after manually
filtering those with slight name/email variations).
- After removing sourcemage.org email addresses, this list decreased to
22.
- After removing names found on the developers list on your website, the
list decreased to 4.
- After removing names with only single commits, this list decreased to
2.

The remaining 2 people have made a total of 67 commits, or 0.3% of the total.

So, my initial thoughts are that you haven't really had people outside of the developer community asking you to pull from their trees. Is this a mostly accurate assumption? I do realise that you could have had external git contributors but you later promoted them to developers.

The 2 names remaining on the list are Armando Vega and Matthew Clark. I'd be interested to know if these people are actually unlisted developers (i.e. people with commit access to the central grimoire.git), or if they really are external contributors.

I'm also interested in any other general comments regarding the pros/cons of using a distributed system for package management. Congratulations on reaching a first in the distro world :)

Thanks,
Daniel




Archive powered by MHonArc 2.6.24.

Top of Page