Yesterday, Matt Mullenweg posted a link to a weblog entry in the Ziff-Davis weblog Open Source. Matt and others, including myself, wrote some fairly critical material about the post because the writer seemed to confuse open source with syndication feed use:
One problem open source advocates seldom acknowledge is the disrespect many people have toward what’s held in common…Lately I’ve seen my RSS feeds becoming heavily polluted by RSS spam – entries that are just ads, or sets of links that all lead to purchases (on which the spammer gets a cut)…Question is, who polices what no one owns? How can we maintain the cleanliness of the commons against those who don’t share its ethics? It’s a question that has haunted the Internet for 10 years now. It’s a question that, frankly, haunts every open source technology.
The main criticism we had about the writing is that the author seemed to mix up the freedoms associated with open source technologies, with people abusing their RSS syndication feeds, and then pulled these disparate points together into a discussion of disrespect of that which is held in common.
I, like others, wrote a critical comment to the post and was somewhat surprised when the author, Dana Blankenhorn, responded in an email back. We ended up having a very cordial discussion, going back and forth about what each other meant with our writing.
Dana’s concern, and rightfully, is if open source is ‘open’ who controls it and keeps it from chaos? I wrote a long reply about open source and his analogy, and he asked if he could print a shortened version of it online, which he posted today. I said sure, but I’d probably print the full (though edited) writing in a post of my own, which follows at the end.
I did want to say, though, that Dana Blankenhorn responded with a great deal of patience and grace in the face of such overwhelming criticism. Hopefully he’ll be commended for this, as much as he was condemned yesterday for his original writing.
I don’t want to take your time, but I want to clarify the points I was trying to make, in addition to what others who work in open source are trying to make. And then I’ll leave you be.
First, let’s separate out discussions of the commons from open source, because the two are not the same. Your example of a commons is a city park that sounds like it’s poorly maintained, and in a community with a lot of homeless. Somewhere in San Francisco, then.
Anyone can access this park, and piss on the grass, sleep on the benches, and drop their garbage on the sidewalk. They can also let their dogs poop and not clean up. Now this all assumes of course that the common community doesn’t pay taxes to hire people to clean, and police to monitor the site, and doesn’t create rules and laws governing the use of the park.
Still, people can pretty much do what they want as long as no police are around.
Returning to the software: contrary to your assumption, open source code is not ‘owned’ by the commons. People can’t just jump into the code and start hacking away.
For instance, your site uses WordPress. This is a GPL licensed piece of code, and you can’t get much more ‘open source’ than GPL, which means anyone can copy the code and make modifications and do what they want with this code. The only stipulation is that you can’t apply a more restrictive license on any code derived from the source.
This sounds chaotic, doesn’t it? I mean anyone, just anyone can hack away at the code. Ohmigod! This is terrible. Quick! Tell ZD that they need to switch to Movable Type before your site gets contaminated with odd functionality!
Seriously, people can’t come in from the street and touch the original codebase much less do anything harmful to it. You see, and this is where your analogy really falls down flat, the code for WordPress is controlled by a small group of developers that can restrict, heavily, who is involved in development on WordPress, and what changes are incorporated into the tool’s codebase. In fact, if anything, this is a problem with some open source projects–too small a group, too much personal ego, can result in too heavy a restrictions on what does and does not happen with future revisions.
Now, what can happen is that if I decide I want to go a new direction with WordPress and it differs significantly enough from the WordPress development team, I can ‘fork’ the code. What this means is that I can grab a snapshot of the code and go my own direction, maintaining my own version of the code. In fact, this is something I am doing–creating a new version of weblogging software called Wordform that will be a fork of WordPress 1.3.
Sure I can copy the WordPress code and hack all I want – but I can’t modify the codebase for WordPress; not unless I can negotiate for the change with the WordPress team. Since my vision for the code differs so much, it’s easier just to fork the code (not something done trivially, believe me, which is why you don’t see this happening that frequently).
This is open source. This is how many open source efforts work. Apache’s a good example of a larger project, with a bigger team–but you still have to follow the rules and ‘prove’ yourself before you’re allowed in to hack the code. And there are Apache architects that strictly control future directions for this tool, which is why it rarely undergoes through major changes. Notice how people are still using Apache 1.3 for the most part? That’s because the Apache team has to move so carefully to maintain faith with their current installed customer base. Heck, Microsoft blew it’s customers away with Longhorn and .NET and did so with a massive amount of arrogance and indifference; that’s why I went from being an author of books about Microsoft technology to only writing about open source: open source maintains better faith with its users.
Now, the same constraints about WordPress are true for RSS 2.0, though it’s released under Creative Commons; you can’t modify the specification and still have it released as ‘RSS 2.0′. You can create a new syndication feed specification, but then you have to convince a million or so people to use it–not trivial, ask the Atom folks.
You’ve said that people can disrespect open source because it’s held in the commons. Rather than your park analogy, open source is more similar to the Zoo here in St. Louis: I have to go during open hours, and I have to follow certain fairly strict rules while I’m there. Yet the Zoo is part of the city’s public trust–that commons you reference.
As for the garbage you get in your syndication feed: the most open aspect of open source is that you have the right to ‘openly’ unsubscribe from the syndication feed that dumps the crap on you. In other words, if you don’t like the park you’re walking in, walk somewhere else. That’s your responsibility as the user in the open source equation.