home of the madduck/ blog/
Complexity and a Ph.D.

Baz is a great tool, and with the advent of bzr, I think GNU arch will likely take off to be among the top leads in the future of SCM. In fact, IMHO, it's going to be between bzr and git (though darcs will continue to be a really nice system for smaller projects). MHO is based on experience with the major SCM tools, I have no experience with Monotone. The Perforce SCM is an interesting tool too, but it's non-free (it does have some wicked cool features though).

Based on Manoj's work, I've started to promote the use of baz for Debian source package management. Ever since the pkg-zope live demo (and earlier too), I've been convinced that the approach Manoj takes is great but just a little too complex for the normal Debian developer (Manoj is beginning to see this too).

On Tuesday I will fly to Dublin and make my way to the University of Limerick (by rental car because Irish public transport is a pain) to meet Prof. Brian Fitzgerald, author of the book Understanding Open Source Software Development, to discuss the possibility of a Ph.D. in the field of workflow and productivity management in distributed (open source) projects, specifically in Debian. I am currently pursuing a Ph.D. in robotics (horribly outdated), but it is not my field as I always find myself to prefer spending time on Debian instead. Even though I am not the type of guy to quit something before completion, this time I have come to the conclusion that I've not been honest to myself, or have not reflected on the topic enough when I chose to continue in the field of AI.

If the meeting in Dublin goes well, I will likely change my field and start researching workflow in Debian full-time. One of the first milestones I have on my mind is ABT, the arch build tool (a temporary name), a tool that simplifies and speeds up the Manoj's arch management approach. The tool should become a typical Unix tool in that it reuses rather than reimplements, but I also want it to become a one-stop helper to Debian source package management for inidividuals or teams alike.

I am already excited by this idea, but it gets better, and this is where the Ph.D. comes in. My work in AI has always been on the "New AI" side, which is the side that does things bottom-up rather than top-down. Tools like SCM (or crypto, or ...) are usually implemented by techies to meet some technical goals. As the tool gains in popularity, more and more users climb the learning curve. This is top-down for me. What I'd like to do is analyse the way Debian developers do things, would like to do things, or what they'd be willing (and capable) to "just learn", and then to design the tool accordingly.

I would like to help improve Debian's workflow and make it more scalable at the same time as I want to make Debian more accessible to developers. A developer who wants to help out and maintain a few packages for e.g. pkg-zope should not be required to spend a week learning just how to use the tools to be able to do the work. Sure, developers are expected to know their tools, but when we decide that pkg-zope uses a complex version control system to coordinate between 30 people, we should not exclude those from contributing who don't consider baz to be among their tools.

And finally, I want to look into ways to play better with Debian derivatives, such as Ubuntu. Mako raises the point with his deriver's council effort, and I think it's a worthy one: Debian should really work much better with its derivers, and if that only means to make it easier for them to work with us. With pkg-zope, I am trying to create a project that will unite Debian and Ubuntu (and ...) developers alike to work on a single "upstream" source for all Debian-based distros providing Zope stuff in their archives.

I always welcome comments about this stuff, best by email.

PS: Sorry for this long post. When I get some more free time, I will try to get PyBlosxom to show only the first paragraph or two and then include a link to the rest. If you know how to do that, don't hesitate to swing the clue bat.

NP: Mono: One More Step and You Die