essay:
You Can’t Hack your Way to Freedom, or “Why Open Source isn’t about Freedom.”

There is a major segment of the open source/free software movement that believes that open source is important because having non-proprietary software is a key to individual liberation and freedom.

While this “camp” has done a lot for the open source movement, and in some respects they’re right: an educated user can deal with his own bugs, tweak the code, and verify that the software is secure. Also free software makes it possible for everyone, not just the very wealthy, from using very powerful tools. Money is still an issue around hardware, but free software helps. These features of free software are indeed powerful and likely make the undertaking worthwhile in its own right. So I don’t want to dismiss the political importance of this idea or faction but I’d like to offer another theory of why open source is so powerful and important.

The marker of a successful proprietary piece of software and a successful open source program are completely different.

Proprietary software is successful if people1 buy it. And when people buy anything really, for the most part they do a cost-benefit analysis, usually between features and cost. Does this do what I need it to? Will I have to buy something else to finish the task at hand? In this environment the most successful programs will be the best programs that do the most for the least amount of money.

So I guess I’m being an armchair economist in this, but I think that it makes a lot of sense for both developers and purchasers to keep the overall number of discrete programs down. Why develop and support (and buy on the other end) an address book program, a mail reading program, a mail composing program, a calendar program, a task manager when you could just get Outlook? Hell, why buy business/office software a la carte when you can get it as a suite?

Open source doesn’t need to operate like that,2 especially historically a good piece of open source software did one thing well. There are a lot of reasons for this. Unix works best when everything is a modular widget widgets, but getting a bunch of hackers to agree on how to accomplish more than one thing is sufficiently non-trivial to have had a great impact on the methods of the movement. Perhaps most importantly, there’s no need for any single piece of software to do everything because open source software doesn’t exist in a vacuum.

And this is the strength of the model. You could never market on or sell application on a large that did one thing really well, but if you asked it to do something else related, the developer would say “not my problem.”

The classic example is mutt, and email client that just reads email, while recently (after much “not my job” protesting,) mutt has added support for connecting to the servers that send and receive email, it historically hasn’t and I suspect most users still don’t use these features. Imagine if Outlook said “nope, sending email is someone else’s problem, I’m just a mail reader.” Mutt succeeds because it’s really good at reading email, but also because there are a lot of really great tools for doing other email related tasks. Fetchmail is a great and reliable program, but it only downloads email, and for sending email I’ve never had a problem with MSMTP, but I think there are a number of popular mail-sending options.

So you get that open source makes a more widget or ecosystem based computing environment viable and stable, but are still wondering why this is a good thing? Because it sounds that this kind of open source just makes things more complex? Right. Here’s why I think the ecosystem is the way to go:

  • It’s easier to build programs that only do one thing. A program either is really good at downloading your email or it isn’t, and it’s pretty easy to tell if that’s the case. More complex programs, can’t be as reliable as consistent.
  • This system is more responsive to technological development. If there’s a new revolution in email downloading, it’s easy enough to take fetchmail out of the picture and put some other widget in place that works better. Non-modular systems put you at the whim of someone else.
  • Your data is (more likely) to be accessible and open. The real reason that open source hackers are interested in open standards and formats is, if we rely on an ecosystem of widgets our data has to be readable by all of the different widgets. The only way to ensure that this is the case is to use open and standard data formats. This is good for the user and good for the programer as a creative constraint.
  • This model more closely reflects the way we actually think. Our minds are made up of a bunch of smaller abilities. The ability to recognize written words, the ability to parse those words for sounds and meaning, the ability to take what we read and relate it to things that we’ve seen and read in other contexts. In both the software and cognition the really cool things happen with novel collections of different ideas and tools.

But wait you say, OpenOffice and Ubuntu Linux aren’t widgets and they have very high feature counts. This is very true, and to be honest projects like GNOME/KDE and open office mystify me because they fail so amazingly, they’re too disjointed to really compete with desktop environments from proprietary makers and try to do too many things to really work ideally on their own.3

In the case of Ubuntu–like all linux distributions–the “product,” is a specific and tailored collection of widgets. And this is a pretty good open source business model: take a bunch of tools, customize them, make sure they install and work together, and then package them as some sort of suite. While I think that this software ecosystem thing is pretty cool, it’s not easy to get started with, and unless users really know what they’re doing it requires more than a bit of fidgeting. Distributions solve this problem and make a space for individuals and groups to monetize this “free” software. Which is of course good for (almost) everyone involved.

Anyway, I’ve been going on for way too long. I’m not–by a long shot–done thinking (and writing) about these issues, so expect a continuation of this soon.

Onward and Upward!



Notes:
  1. In the case of software, I think people should be understood as cooperate IT devisions, more than individuals 

  2. There are clearly a lot of exceptions, particularly in this particularly moment, where we’re seeing projects that in this respect look more like proprietary software. This is I think in part intentional as a means of competing with proprietary software. And I’m building to the other “in part.” So lets wait for it, shall we? 

  3. Clearly this is just my opinion. Every so often I want to try and like GNOME, but I always find it to be a less then pleasurable experience. The GUIs don’t make a lot of sense unless you know what the shell commands that they’re wrapping are, to say nothing of the really poor use of space (that’s tangential, but probably my largest gripe with GNOME). Interestingly I started using a different window manager (awesome), which accesses gtk, and I was very surprised to find that some of the gnome apps were actually pretty decent. Who knew! 

Comments: »

  1. This is really interesting.

    Most of the open source programs I use are unitaskers. Then again, I used OpenOffice until a copy of Microsoft Word came to me by, uh, magic. Of course, OO on the Mac is a bloated giant of doom so I never liked using it anyway.

    Comment by caroline — 3 September 2008 @ 12:21 pm


  2. So this, as an over arching feature of open source, fails around projects like open office, which is–though developed in the open with community involvement, and free software license–a product of sun microsystems, and evolved from a number of very early word processing programs (including StarWriter, or somesuch, I think) that were not open source.

    So open office is sort of anomaly. I think you could make the same sort of argument about firefox, which is sort of similar, but I think in firefox’s case that’s more about the nature of the browser space, and increasing role as an application runtime itself.

    Back about office software though, I’d be so bold as to suggest that the WSIWYG word processor editing paradigm is on it’s way out, because the 8.5×11 page metaphor is on it’s way out. I think the mac program Scrivener designs a word processor around the writing process better than just about anyone else has done, and people who are very serious about paper output are going to start using more specialized tools for that (Adobe products and LaTeX for instance), or programs that use that kind of workflow.

    but you’re right that is interesting, and that open office is a bloated monster of suck.

    Comment by tycho garen — 3 September 2008 @ 12:41 pm


  3. LaTeX produces really foxy documents, though I’ve never used it myself.

    You’re probably right about WYSIWYG. I also resent and hate the correctional function of these programs. Yes, I can spell, use grammar, and capitalize letters by myself. I can even format a table by myself! No, seriously!

    One place open source has stepped in to fill is the void left where hand-holding proprietary programs of ALL kinds (html editors or ftp clients, for example) have alienated people who have expertise in whatever they’re doing. There also seems to be some backlash against overstylized GUIs that eat up irrational resources (Vista much?) with little payoff.

    Most people who want really user-friendly bubbly colorful interfacing don’t use open source, I’d guess, out of some weird feeling of wrongdoing or intimidation. This kind of casual user probably does not use the functions I’m talking about here though. And, maybe this person likes auto-capitalize. Who knows.

    Comment by caroline — 3 September 2008 @ 12:55 pm


  4. LaTeX has a lot of overhead, but it templates really well, so for instance, once I got it set up right, I could generate perfect APA (or whatever) format papers in 15 seconds, without needing to worry too much about formating when I was actually writing. Dare I say, it’s sort of like HTML only for PDF, and better?

    Regarding the move away from GUIs, I think you’re right, but I think it’s been longer coming, but vista hasn’t hurt anything in this direction.

    Comment by tycho garen — 3 September 2008 @ 1:02 pm


  5. Hmmm….part of me agrees on the desktop/suite and part disagrees.

    I just bought a laptop preloaded with Ubuntu. I could have asked zareason.com to use a lighter gui than gnome, but I chose to go with it because…well because I’m lazy. Because I want my programs to just be there and to just work. While I can go digging around and find a way to make things work (had to with wireless - Hardy seems to have an issue with the built in network manager and I had to find an alternative) I don’t want to. That’s my job. When I’m at home I just want my little toy to work.

    As for Open Office - I’ve got my husband using it. And other than getting a label sheet to print correctly he’s doing fine. That saves us quite a bit of money on software. That makes dealing with some quirks worth it to me.

    Comment by Linda — 5 September 2008 @ 7:54 am


  6. In reply to Linda:

    Oh, I don’t want to come off as a protester of Open Office, or GNOME, because I think they’re really important projects, and given what they are it’s amazing that they’re as good as they are.

    In a certain sense Open Office, is an exception simply because of it’s history and because of the kind of niche that its trying to fill. Office software is unsurprisingly a commercial invention, and most of my complaints are with the genre as a whole, and not with any particular application. It’s just awkward to go on a long spiel about the political implications of open source, and a particular kind of open source, when a program like open office is, is such a glaring exception.

    And re: GNOME.

    There are a couple of big issues, in my book: one, is that it’s not economical with screen space. I buy laptops with smaller screens, because I’m used to OS X, which has a design sensibility (at least in the apps that I use) for very slim very effective use of pixels. Combined with the window manager (expose, and to a lesser extent, spaces) having a smaller screen doesn’t matter.

    When I run GNOME in full screen on the virtual machine, I can work with one or two windows, in OS X? I can cope with a lot more. 14 at the moment.

    This is of course a problem which is partially mitigated by a larger screen, and a good selection of a theme (which is hard to find, but still)

    Second issue:

    It doesn’t have it’s own identity as a user interface, so the design always feels to me like a window user whose jealous of the mac UI. This is a personal taste thing, but I think if gnome could just stand up on it’s own and do it’s own thing it would be fine, but the cheap mimicry I think just confuses things. Again, it’s great, and particularly if you know what the internals are doing, even on the most basic level, but the design needs some attention and some innovation.

    Disclaimer: KDE isn’t better, Awesome (the thing I’ve been using in linux) isn’t for everyone, and Windows and Mac both have their flaws, it’s just an ongoing problem.

    Other comments:

    • I totally get the wanting home/play computers to work, and indeed my long Mac tenure has really been maintained by the “it just works, and I don’t have to mess with it,” ethos of mac. And it does, and I really like that. My newfound interest in linux and open source, is mostly work/academic related, so it’s to an end.

    • I remain convinced that linux isn’t quite ready for prime time on laptops most easily accessible laptops. It works really well in the virtual machine on my laptop, but the VM is handling most of the laptop functions (wireless, mouse, keyboard stuff). The fact that wireless is so hit-and-miss is sort of the center-stone of this. The exceptions are some of the fancier ones (like Lenovo) or ones put together by linux companies.

    Anyway, thanks for the inspiration (and excuse) to yammer on more about this.

    Comment by tycho garen — 5 September 2008 @ 8:43 am


  7. i buy proprietary software because I know I have a better chance of getting some sort of support if anything should go wrong.

    Yes, I know you can get support for open source, but it’s very contingent on people willing to give their time for free and being able to pull their weight. Many times an open source project will hit the wall over this issue because the developer can’t provide adequate support or find volunteers.

    There is a place for open source software - some of the programs I use are OS, such as MySQL. But one has to be realistic and recognize that it’s not the end-all and be-all.

    Comment by Lola LB — 8 September 2008 @ 7:06 am


RSS feed for comments on this post. TrackBack URI

Leave a comment