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.

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.

Graham Seaman’s “The Two Economies”

Last week, I met Graham Seaman while in London and we talked about Oekonux, Hipatia, and lots of ideas about extending principles of Free Software beyond the IP sphere. I finally got around to reading the transcript of Graham Seaman’s talk from last year’s Oekonux conference — of which I’d heard a lot of hype.

The talk covers a lot of ground but, in large part, it is a response to a number of the conversations within Oekonux about the production of material goods under models of free software in major society-changing sort of way. My personal interest (of course) is in the production of non-software knowledge based products but I still find the question interesting.

Like a lot of work in Oekonux, Graham’s piece looks into the future — way into the future. It not only looks at Free Software’s effect on the economics of a particular industry — say, the recording industry — but at major changes to the way that our world’s economic system works. These sorts of questions are intriguing — and certainly fun to think about — but I think they tend to focus so much on some much on the major points that they ignore some of the steps along the way that will shape the way that the everything works.

Personally, I tend to prefer focusing on the more immediate questions like "how do we go from the current situation of highly proprietized production of, say, fiction to free production of fiction." That said, I think this talk is of the best treatments and I think Graham’s analysis goes into depth about the way that Free Software actually works. I think it includes observation, analysis, and critique in a way that — if nothing else — can teach us a good deal about the nature of Free Software production.

So Graham’s talk is all about how the world could be reshaped by the principles of sharing and cooperation that are in a germ form in Free Software. HE first goes through two proposed alternatives (I assume from the Oekonux list before I joined it) and talks about what he thinks can work, what he likes and why. He covers:

  • The idea of using "fabbers" or all purpose production machines.
  • The idea that material goods will become so cheap and easy to produce that nobody really cares about them and all the important issues in society will be about producing immaterial goods.

Graham thought that the idea of fabbers was more science fiction than anything else — and I tend to agree. I’ve read a couple papers that are all about the philosophical and economic consequences of a world when fabbers and nanotechnology turn material goods into information and I, like Graham, just find it implausible. I think Graham does a pretty good job of deflating this idea.

In terms of the second proposal, Graham found the idea believable in a very long-term (hundreds of years) sort of way but still found it unpleasant. He ties that sort of change to mass-poverty, migration and worse and doesn’t feel comfortable going down this path.

Graham’s talk is about a third social solution based on some serious observation of Free Software practice and some deep thinking about the way that the economy of the future will look. Graham says:

It’s becoming increasingly hard for the old system to produce software products. There are many products – especially ones that require cooperation of some kind, that require some kind of sharing, even commercially, that simply can’t be produced under commercial constraints.

Basically, Graham describes a system where Free Software is created and fostered by a system that will undose itself. I’m not totally convinced of his conclusions but I definitely think there is something there.

Even if you have no interest in his conclusions or discussion of the way that Free Software can or will reshape the world. As just one example, Graham talks a connection he saw between Free Software and the business cycle:

Free software is not totally independent of the business cycle. I thought it might be. I went to Freshmeat and got all the stats for Freshmeat of the projects that were added over the life of Freshmeat, to see whether it reflected the current downturn in the economy and in IT and commercial IT in particular, hoping that it would show a line like that. But it didn’t … Now this is very odd for me, because the FLOSS survey said unemployment plays no part in free software. Basically, people in free software don’t get out of work; and my guess, especially for people I’ve noticed, is that people who are out of work treat it as temporary. And the first thing they do is to put more time into writing free software anyway. But it appears that that’s not the case, that free software is still, somehow, dependent on the business cycle.

It’s not totally clear to me — or to Graham — whether or not his data is representative. I think the issue deserves a good hard look.

There’s a lot of good stuff in the article. It’s definitely worth checking out in the Oekonux archives: