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.

Upcoming Talk at XIV CNEIS in Manizales, Colombia

After a last minute offer and an impulsive decision, I arrived today in Manizales, Columbia for the XIV Congresso Nacional de Estudiantes de IngenierĂ­a de Sistemas and its co-conference, the IV Congresso Internacional de Software Libre GNU/Linux. I’m one of a small number of international speakers they’ve shipped in. I’ll be speaking about Ubuntu and about customizing and building on Debian this Thursday March, 17. See the conference schedule for details. Notes and slides will follow.

At the beginning of the trip here, airport security spent more time checking my backpack than I spend packing it. At the end, landing in Manizales was the first time I’ve been on a flight where the degree of mountain dodging would have qualified it as a "difficult" level in a computerized flight simulator. It’s my first time in Colombia and it’s been great so far.

Short of RMS, I don’t know many attendees. If you’re going to be around, get in contact with me or just find me and introduce yourself.

So About That Steel Cage Match…

There are sometimes jokes in the free and open source software communities about leaders of prominent community organizations needing to be restrained…

This cage was found by — of all people — employees of the Free Software Foundation at — of all places — Linuxworld:

/copyrighteous/images/esr_cage-small.png

Open Source Is Dead

In the last year, I have heard a couple very smart people involved in the free software movement call open source dead or dying. This is clearly intended as a provocative statement — the nature of the critique is not immediately apparent — but I think that it might be true.

Most people reading this will know that open source is a movement started to distance the software created by the free software movement from the movement’s people and ideals. Open source exists as an answer to the fear that people who wear suits will run away every time they hear the word freedom. Open source folks argue that you can sell free software by emphasizing the practical benefits and wrapping the code in new, more business-friendly term.

For a period of time, open source seemed spectacularly successful. The people in suits latched onto the idea and thrust the movement into the spotlight. Open source could be found in the business sections of the newspaper, and the NASDAQ’s swelling list of explosive tech IPOs in the late 1990s.

With Raymond’s "The Cathedral and the Bazaar" freshly thumbed on their bedside tables, executives and engineers alike stuck the GPL and the source code for their latest development project into a neat little package and onto a website. They sat back waited for bugs to start disappearing. They were usually disappointed.

There are many practical benefits to open source, but with time and with the sense of self-reevaluation that the bursting of the dot-com bubble brought, many people looked more closely at open source’s claim that their software was, in all situations, inherently better than proprietary software. Open Source is inherently better — but only for some definitions of better. For those whose definition of better involves the immediate and constant growth of a company’s stock price, there may be reasons to be less uncritically optimistic than we all were in 1999.

Since the peak of the bubble, we’ve seen many companies abandon their faith in the gospel of open source. Linuxcare has a new name an a new business model selling proprietary software. Red Hat is betting on Red Hat Enterprise Linux which, while still embracing the letter and licenses of open source, seems to depend more on the restrictive power of trademark law than Eric Raymond’s word and the inherent power of the community. In some situations, the open bug tracking systems from the boom have shriveled and disappeared. The GPL is still in effect, but development has moved back inside the shops.

But my story so far is one of ideology, not of terminology, and not of the software in question.

While the ideology of open source seems to be waning in popularity, the term "open source" is growing in strength. More importantly, the software itself is bigger than ever and growing quickly. In Spain, regional governments are embracing "open source" and software libre. In Munich, in Brazil, and in non-profit organizations and schools around the globe, "open source" is a familiar phrase.

People haven’t stopped talking about and deploying open source, but the people who do this today are not the people who bought stock in VA Linux’s IPO. Ironically, those talking about open source today increasingly use the term to refer to the ideals and ideas of the free software movement which the open source initiative sought to deemphasize. When people say "open source," they are increasingly often speaking about "free software."

A handful of examples can illustrate this point:

  • Ubuntu, which uses both the terms open source and free software, paraphrases important parts of the free software Definition (FSD) in their philosophy page — so even when they use the term "open source", they are talking about freedom.
  • David Turner, licensing guru for the Free Software Foundation, has told me that he has seen the term open source defined verbatim as the FSD.
  • Sergio Amadeu, technology czar for the Brazilian presidency sued for libel by Microsoft, routinely talks about the essential role of freedom in software.

In these examples and in non-profit organizations and in groups of computer users from across the developing world, people are as much driven by their desire for software freedom and institutional independence as they are by their desire for a cheap OS and an alternative to DRM. People are increasingly often talking about free software — even when they are using the words "open source".

Richard Stallman throws a fit every time he hears the word "open source" used in reference to his work. What he should be angry about is the confusion of the goals of the free software movement with the goals of open source. Stallman doesn’t seem to see that the term open source’s relationship to the two sets of goals is increasingly confused.

I will continue to talk about free software because I like disambiguating the term and explaining why I think that software and information freedom is a good thing. But I’m increasingly skeptical that the term "free software" can win. While the label "open source" will triumph, the concept will not. It’s not my ideal world but I think I will be happy.

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.

So If Fink’s For Kinks…

Here in MatarĂ³, I tremendously enjoyed a brief bit of confusion between per version documentation (i.e., documentation that is unique to each version of a program or project) and perversion documentation.

I think that any distribution shipping dselect documentation has perversion documentation covered.

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.

Arch is the Worst VCS (Except for All the Others)

The three primary problems I have with GNU Arch are:

  • The user interface is nearly unusable. Without zsh tab completions, it is unusable.
  • Arch is very slow over a network.
  • Arch is very slow not over a network.

However, Arch is only VCS that makes branching and merging so natural that I do it regularly. As a result, I develop software and even documents in a way that is fundamentally differently (and better) than the way I have in the past.

Arch is the worst kind of good software; or perhaps the best kind of bad software. The more you use it, the more you hate it; unfortunately, the more you use it, the more you hate all the alternatives more.

Using arch is not a type of masochism, but sometimes it reminds me of masochism a tiny bit.

Debian in NYC

One think I liked about living in Boston was that there was an email list of all the local Debian developers that was used to coordinate meetings and keysignings when Debian folks stopped over in Beantown.

A number of local developers including myself did a decent job of replicating this in Seattle. Now that I’m in New York City, I’ve decided it’s something I’d like here as well.

If you are:

  1. A New Yorker (or you’re nearby);
  2. Interested in Debian and in meeting with other Debian-minded folks at infrequent and irregular intervals over beverages — caffeinated and/or alcoholic;

…you should definately join the new Debian NYC Social email list. If you’re only one or neither of these things, you’re still welcome to join but I suspect you’ll get a lot less out of it.

DRM, Pop-ups and Rise of Free Software

A few months ago, I went to pick up a computer for a friend at the Apple store and had to wait for 45 minutes while memory was installed. While I waited, I listened to conversations of people coming in to ask technical support questions at the "Genius Desk."

In the 45 minutes I was there, every question asked was about getting around iTunes’ Digital Rights Management (DRM) for legitimate and legal reasons. Every answer was a "sorry" and a shrug.

Here’s an example: "I have a desktop computer, a laptop computer, and an iPod. My laptop broke and you guys just gave me a new one. Now I can’t copy my music over to the new computer." That iTunes users has every legal right to copy the song onto their new computer but the DRM won’t let them do it. What are the chances of someone that spends $200 on iTunes music files and gets locked out from their own legally purchased files by DRM goes back to buy more songs or re-download the ones they lost? Very low. They’ll buy a CD or just go download those songs on a P2P network they know is secure or unmonitored.

In response to this, iTunes’ DRM has become more permissive but it’s not enough — nor can it be. Ultimately, iTunes is competing with P2P systems and ad-hoc systems of swapping amongst friends. The RIAA is wrong in their characterization of the fundamental difference between these systems: the difference is not one of price — the price can (and will) get cheap enough that very few people will care. The core issue is one of software failing to respect its users by privileging the desires of outside interests (in this case the RIAA and its member companies) over its users’. The users get screwed and they won’t come back.

Here’s another example. The last three times I’ve introduced the concept of Free Software to folks, they’ve asked if Mozilla, which they use, is Free Software. Mozilla has taken off in the non-Free Software crowd in large part because of its ability to do pop-up blocking and some related features. Mozilla is doing something that Internet Explorer doesn’t and they’re sick of IE.

Nothing is stopping Microsoft from adding this functionality to IE. In the absence of patents, Free Software shouldn’t assume it can "out innovate" well-funded proprietary software (which seems to be one claim of the Open Source camp); functionality can and will be copied. The reason Internet Explorer can’t compete with Mozilla is that Microsoft places the desires of some (their executives, their executives’ friends, their shareholders, advertisers, pop-up-makers, Hotmail users, the RIAA and the MPAA) over the desires of their users. Microsoft chooses to not incorporate functionality that their users want.

The mistake that both the RIAA in demanding DRM and Microsoft in designing web browsers that don’t block pop ups are making is that they’re taking their de facto monopoly for granted. Their software is annoying — or worse — and as long as viable alternative exist, a growing number of people will turn to them. At some point, things will tip. As people become aware that there are alternatives, these monopolies will be eroded. Ultimately, they will be dismantled. The incumbents, chained down by deals and alliances and promises made to advertisers, recording industry executives, shareholders and their ilk, will find themselves unable to react in an appropriate or timely manner. Free Software is already poised to capitalize on this.

Ubuntu and Custom Debian Distributions

[ For the record, I am speaking for myself and not for Ubuntu, Debian-NP, Debian, or anyone else. ]

I have a vision for Debian; rather, I have a number of (sometimes contradictory) visions. One idea that I’ve fussed a lot about over the last couple years is Custom Debian Distributions. I have helped make a few things happen in one little corner of the CDD world (Debian-Nonprofit) but haven’t been as active as I’d like in the general CDD framework yet except through advocacy.

The idea behind a Custom Debian Distribution is, to borrow Enrico Zini’s terminology, to be global and local at the same time: to create an OS and set of applications that is targeted to a specific group of people and to contribute and collaborate within a larger community in a way that lets people without interest in that niche group benefit and for you to benefit from the work of people without interest in that niche. This is basically what Bdale Garbee talked about when he was talking about flavors in his 2003 DPL platform. I suspect people are hanging on to their one-flavor-fits-all model because they haven’t seen a compelling implementation of an alternative. I think that its the job of those of us that are sold on the idea to give them one (Thanks to everyone that has and continues to work on this in the CDD community).

Now as a few people know, I’m complicit in this whole Ubuntu Conspiracy. When Mark Shuttleworth first approached me about the project, the first thing I thought about was Custom Debian Distributions. I wasn’t, and am still, not exactly sure how those things relate exactly.

I was (and continue to be) tempted to think of a spectrum of "Debianness" with officially blessed Debian releases at the center, testing and unstable slightly outside of that, CDDs farther outside but just within the circle of what’s "officially" Debian, Ubuntu beyond that trying its best to hug the line, LinEx y sus hermanas in there somewhere, and Lindows almost on the periphery of our vision denying — to some but not all — that its on the spectrum at all.

But it’s not that simple.

From a technical perspective, it’s manageable. Ignoring project affiliation and institutional relationships, we might say that CDDs are about creating and maintaining a derived version of Debian over time and in way that offers all changes back to the pool of Debian (Debian won’t take all). Forking in the traditional sense is one thing — and it’s relatively easy; going out of your way to share and collaborate within the Debian community is one way to define a CDD.

So it’s simple if we, for the moment, think of Debian as a single monolithic blob — forget subprojects and CDDs. We can break the goals of a any Debian derivation down into three basic types of customization:

  • Package selection: Which software in Debian does the deriver want to include?
  • Package configuration: What configuration changes does a deriver want to include (anything you can do with debconf/cfengine)?
  • Package replacement (for lack of a better term): What packages does a derivative want to ship that has diverged from the package in Debian in terms of code (bug fixes, features, whatever)?

The problem (for my simplified model for explaining Debian derivatives — I don’t think it’s a problem in general) is that some people are working within this framework in ways that are visibly connected to the Debian community and some people are not and don’t want to be. Basically, Debian is whole lot more complex than just a ball of code.

In Jeff Licquia’s blog, he mentioned that Ubuntu is a fork. In a way he’s correct and in a way he’s not. I think part of the problem is that "Debian" refers to a long list of things. Just to start we’ve got:

  • Debian: the group of volunteers;
  • Debian: the "project" with a Constitution, leader, and decision making structure;
  • Debian: the ball of code (But which ball of code? Stuff on Alioth? Stuff in contrib? Stuff in the Debian-NP archive?);
  • Debian: the infrastructure that runs the code together;
  • Debian: the shared goals and the action of sharing (you share within the Debian community — you are part of Debian);

This creates problems and uncertainty that we in the CDD community has been grappling with for a long time: Is Debian-Nonprofit Debian? Can any CDD really be Debian?

Of course, coming from the Debian community, the CDD community began with the answer ("yes") and then went about trying to create and argue a justification. We’ve even defined the technology based on what would or would not allow us to honestly call ourselves "Debian" and have attempted to grasp onto definitions of "Debian" that make that possible. Debian-NP and every CDD is still trying to figure out what it means to be Debian and Debian-NP at the same time — how does one strike that balance?

Ubuntu starts out with an answer as well. Ubuntu is not Debian and I suspect this is what Jeff was referring to. Ubuntu wants to do things that Debian can’t, won’t, or just isn’t all that good at and thare is great room for synthesis here.

My concern is that the political side of things — the "who is Debian and who is not" — risks driving a wedge between the technologies being used by those customizing Debian from the inside and from the outside. People don’t work together because they are "not part of the same project" when they have every technical and strategic reason to collaborate.

Basically, I think we should let Debian stand for something political: an organization. When it comes to code, I think we should forget about this and find creative ways to work together.

I want to see Ubuntu, Progeny and the other Debian derivers work closely with the Debian derivers within Debian. I want this work to lead to systems of common infrastructure that makes applying the the different types of customization something resembling a standard. That’s only going to happen if we all try. That doesn’t mean there will be One True Way — there won’t. It does means that everyone is going to have to be flexible. I think ultimately, it will be worth it.