To Fork Or Not To Fork: Lessons From Ubuntu and Debian

At LinuxTag, Libre Software Meeting and What The Hack, I gave different versions of a developer-oriented talk on the way that Ubuntu is developed and the reason folks from a wide range of different Free Software projects might be able to learn something from it. I will export and post the slides and notes for those talks in one big lump at some point in the next week.

However, the best way for those that missed the talks to get informed on the issue may be to read the article titled To Fork Or Not To Fork: Lessons From Ubuntu and Debian (the same as the talks) which was published in the LinuxTag conference proceedings.

In the essay I explore the experience of the Ubuntu project in building a distro on top of Debian. I argue that the scale of certain free software projects are forcing developers toward a new kind of forking using technologies like distributed version control and host of other technical and social tools and processes and look at some of the early successes and failures of Ubuntu in this regard. I also describes some of the techniques in question and argue for the techniques’ applicability and importance in a wide range of free software projects.

If others think it’s a good idea and if I can find somewhere appropriate, I may be interested in publishing a version this article in a magazine or journal. If you know of a place where this article might be welcomed, please contact me.

You can can currently pull the article down in the following formats:

Financing Voluntary Free Software Project Talk Notes

A bit more than a month ago, I posted about an essay I’d written on Problems and Strategies in Financing Voluntary Free Software Projects. Thank you to everyone who sent me feedback.

As I mentioned then, I wrote the paper for a talk at this years Linuxtag in Karlsruhe, Germany. I gave the talk as planned and am using this opportunity to upload the talk notes and the slides. They are based quite heavily on the pre-paper version of the talk I gave at FISL 5 in Porto Alegre, Brazil a bit more than a year ago.

I’m not sure that these notes add much to the paper but if people couldn’t make it to the talk and liked the paper, they’re here for you to check out in the following shapes and formats:

Libre Software Meeting

Tomorrow I will be at the Sixth Libre Software Meeting or Les 6èmes Rencontres Mondiales du Logiciel Libre. I’ll be giving a talk on Ubuntu as part of my aforementioned Ubuntu Does Europe tour and, due to my own weak will and the persistent nature of the conference organizers, also be giving two other talks.

Here is the line-up:

  • On July 5, I’ll be opening the "taking Free Software beyond IT" theme with a talk called Broadly Defined Freedom and Radical Non-Discrimination based off of some of the writing I’ve done with Biella Coleman including How Free Became Open And Everything Else Under the Sun. It’s some of my older work but I think it’s still important to repeat every once in a while.

  • On July 6, I’ll be giving a LinuxTag redux of To Fork Or Not To Fork: Lessons From Ubuntu and Debian on the Ubuntu derivation model and how other projects can learn from our successes and challenges and why I think the model is an important step toward the way that free software will be built in the future.

  • Later on July 6, I’ll be giving a final talk on Creative Commons and why I think it has fundamentally misunderstood (or at least misapplied) the structure (and goals, but that’s another talk) of the Free Software movement.

    I’ve had a concise and rather stinging article on this I’ve been circulating semi-privately for over a year and that I’ve been unsure about what I wanted to do with it. Cory Doctorow read it and compared me to a trot and Richard Stallman somehow managed to get a copy and has been repeatedly urging me to release it — along with a number of other people I respect in the movement. As a result, I’m going to give the topic a go at LSM and then, if all goes well, incorporate any meaningful and helpful criticism I receive and release the article afterward.

    If you’re not at LSM but you want a preview of the article or know of someone who might be interested in publishing it, please get in contact

You’ll have to check the posted conference schedule for details, precise times, and rooms. Please find me if you’d like to sign keys or introduce me to an excellent French wine.

Slides, notes, and the like are on their way from my LinuxTag talks and I’ll link to them some time this week.

Linuxtag and Beyond

After taking one year off, I will be back in Karlsruhe for Linuxtag this week. I have two papers in the Linuxtag conference proceedings and will giving talks based on each. These include:

  • Problems and Strategies in Financing Voluntary Free Software Projects – The talk will be at 16:00 on June 24th. I’ve already distributed a draft of this paper and received some good feedback.

  • To Fork or Not To Fork: Lessons from Ubuntu and Debian – There are, believe it or not, two Ubuntu talks running head to head at 17:00 on June 25th and mine is one of them. It seems that Michael Kofler (who I did not even realize was giving a talk on Ubuntu until I saw the schedule ) is giving more of a general overview and introduction to Ubuntu. My talk will go into a good deal more technical detail and be geared more toward developers who want to learn from Ubuntu’s experience in trying to create a project that is developed in parallel with an existing project by diverging and maintaining a sustained inter-project relationship over time.

    It’s tricky stuff and I don’t claim to have all the answers but I hope I can shed some light on the situation. There’s been a lot of noise about this lately on Debian lists — some positive and some very critical. I hope that my talk can help describe the processes so far and the thinking behind them, distill some solid advice out the criticism we’ve all heard, and package it all in a way that is educational and helpful for folks working on very different types of projects.

I’m going to work a little more on my paper for the second talk and I’ll link that that here when I’m done. As always, I’ll also post slides and such for people that want to give similar talks of their own.

I am told that the Ubuntu community in Germany has arranged for some space sharing with GNOME and will have a bit of table space in that booth. I’ll be there there for some time handing out CDs and answering questions. There will also, I’m sure, be a great Debian booth packed full of hackers and you should be able to find me there as well.

I’ll be staying in Europe until the very beginning of August and will be at RMLL/LSM, Debconf5, and WhatTheHack. I’ll have a bit of time in between and will be popping up here and there for talks on Ubuntu around Europe and in areas nearby. If you’d like to host such a talk, and especially if you’ve got a great LoCo Team, get in contact with me and lets see if we can arrange something.

My Northeast Tour

I own a pair of lace-up leather pants (i.e., trousers, thanks) but, while it helps, the costume doesn’t make the rock star.

The Debian and Ubuntu teams that I’m on are (in a weird, dysfunctional way) slightly like rock bands. We have the long hair. We have the late nights. We have the binge drinking. Putting out a release is a bit like putting out a album.

So, to round it off, I’ve decided to go on tour. It’s a pretty wimpy tour but it’s a start. After some time locked in the studio, I’m out to promote Ubuntu’s newly released "Hoary Hedgehog" and to play a few tracks from Debian’s upcoming "Sarge" offering.

The two next stops include:

Both events promise to be relatively laid-back with manageably-sized groups that should leave enough time and space for questions, chatting, food and drink. I’ll bring key fingerprints if anyone wants to trade keys while I’m there.

Ubuntu and Customizing Debian Talk

As announced earlier, I recently gave a talk on Ubuntu and its relationship to Debian and the process of derivation and the difficult process of balancing forking and collaboration in Manizales, Colombia. This talk ended up being more of an introduction to Ubuntu and to Debian and Debian derivation and I didn’t really get to dig my teeth into the key issues that the title might imply to the degree that I’d hoped. The talk was mostly a combination of my recent talks Customizing Debian given at NYLUG and BaDoPi and Introducing Ubuntu given at GULEV.

In addition to the fact that there was a packed gym of more than 1,500 highly receptive people, the talk will probably be most memorable for the fact that I managed to spill water onto and severely damage my laptop during the talk and for the fact that the power went out for 10 minutes in the middle of the speech.

For folks that are interested in a general introduction to Ubuntu and its relationship to Debian, or who want to give their own version of the talk, you can use all of the information I have:

I hope to revisit this topic again soon and do a small part to stimulate a productive discussion in Ubuntu on ways the relationship to Debian can be improved and reinforced and in Debian about ways that we can manage relationships with derivers more constructively.

Clearly, Ubuntu folks are learning a lot, through things done right and through things we can do better in the future, on how to collaborate in doing what I really believe has the potential to become a new, better kind of fork that — if we can pull it off — may have a lasting impact on the way that Free and Open Source software (and distributions in particular) and developed. The CDD folks are shedding light on the issue from another interesting angle.

Recent Talks on Customizing Debian

I’ve recently given two talks on Custom Debian Distributions and on deriving distributions from Debian more broadly. I finally got around to putting the information on my website so I thought I would mention it here for anyone that was there and wanted the notes/slides, for those that want to derive their own version or just for anybody who is interested.

The first talk was given on November 17th at my current "local" LUG, the New York Linux User Group (NYLUG). It was called Customizing Debian: Fork Yours With Debian GNU/Linux (a name I can’t and won’t take credit for). The talk was two hours and focused on the goals and techniques used by a number of groups that are deriving new distributions from Debian. I introduced Debian and gave an overview of the universe of Debian customizers. I then broke down the idea of customizing into a number of logical pieces and, using the examples of UserLinux, Ubuntu, and Debian-NP and Skolelinux (representing internal "CDD" groups), I walked the audience through the nitty gritty of customization using in-depth descriptions and a couple code samples.

You can get information on the talk in the following forms:

The second talk was simply a shorter stripped down version of the NYLUG talk. It was only 45 minutes and was given at the Grupo de usuarios de Software Libre de Barcelona, AKA, Badopi. The modified versions of the slides I used are below. I gave the talk without notes.

Report From GULEV

I am writing this from the plane returning from Veracruz, Mexico where I gave a keynote talk on Ubuntu at GULEV’s Congreso de Software Libre. The keynotes at the conference were given by Randall Schwartz, Maddog Hall, Richard Stallman and myself talking about Ubuntu. Another Ubuntu developer asked me, "you were in parentheses, right?" Well, apparently not! There was massive turnout for the talk which went extremely well and generated a lot of energy that culminated in what nearly turned into a physical tussle over who got the last Ubuntu CDs. It was an honor to share the stage with both the other keynote speakers and the local Mexican hackers and just to be able to address the extremely interested and active Mexican Free Software community. I had a great time and hope I can make it next year.

In any case, direct from the parentheses, I’ve got notes and slides for folks that want to derive and present Ubuntu at their own LUG or who just couldn’t make it and would like to know what happened:

  • Talk notes for the narrative part of the talk: HTML, ReST

For the last bit of the talk, I should have paid attention to the two cardinals rules of technical talk-giving:

  1. Doing a live demonstration of software is an invitation to Murphy’s law.
  2. Doing an untested demonstration — for example, an install onto untested hardware — basically eliminates any ambiguity about Murphy’s appearance in rule 1.

I didn’t. I did an Ubuntu install, on the projector, onto a brave soul’s laptop. Through a stroke of luck (and the hard work of everyone in Debian and Ubuntu who ironed out all the bugs), it worked perfectly and gave me the opportunity to highlight many things I didn’t make it to in the formal talk.

Two Upcoming Talks

At the risk (read: sure thing) of appearing to self promote, I want to plug two talks I’ll be giving soon:

  • Tomorrow (Wednesday November 17, 2004), I’ll be talking at the New York Linux User Group (NYLUG) giving a talk on customizing Debian. The talk will be about customizing in a general sense pulling from my experience with Ubuntu and in a specific CDD sense pulling sense pulling from my experience with Debian-NP. You need to RSVP to attend and should do it quickly. If you miss the RSVP, you can meet up in the bar across the street for the Real Event afterward. Details are on the NYLUG website.
  • Next Friday (Friday, November 26, 2004), I’ll be giving a keynote address on Ubuntu at the GULEV Congreso Internacional de Software Libre in Veracruz Mexico. It’s just been finalized so it hasn’t even hit the conference website as I write this. You’ll need to visit the conference website for information on attending.

I know I’ll see some old friends and I hope to meet some new folks as well. Feel free to get a hold of me if you’d like to meet up at either event.

“Debian and Ubuntu” Talk Notes

I recently gave a talk at Gnubies: the New York City GNU/Linux group for beginners. The talk was aimed at complete beginners so it won’t have a lot of new information for anyone who is already familiar with the topics covered.

The talk discussed both Debian and Ubuntu and explored the overlap to introduce the concepts of Free Software philosophy that are important to both projects.

For those that are interested, I’ve posted the notes I used (I gave the talk without slides) for those that want to give their own talk in HTML and ReStructured Text source.