The value of free software


Jason’s post about the FCC’s “four freedoms” calls to mind the distinction between “open-source software” and “free software” (free as in speech) . While the term “open-source” focuses on what you get (the source), the words “free software” draw attention to your freedoms: to use, study, and modify the software without restriction. These freedoms are in the same spirit as the FCC’s freedoms, and are similarly contested in this era of walled gardens and locked-down platforms.

Free software may mean different things to you, depending on who you are. If you’re a hobbyist or run a small business you might like that it generally comes at no cost. Or you might be idealistic about intellectual property and feel (with Jefferson) that “he who lights his taper at mine, receives light without darkening me”. Maybe you see a business opportunity in supporting the ferment of activity around free software.

But if you’re a programmer, the importance of using free software instead of proprietary software is that it makes it much easier to do your job. Programming is reasoning about code, and the whole point of keeping software proprietary is to prevent you from reasoning about what goes on inside it.

Perhaps you have seen the game Black Box. The idea is to try to deduce what’s inside a box by experimentation: shooting rays into the box and seeing where they come out. Working with proprietary software can be a lot like a game of Black Box. You try something and see what happens; if it doesn’t match your mental model of what’s inside, you revise the model and try again. Sure, there is documentation, but it’s incomplete, out of date, or just wrong. The message boards are full of people asking the same question, but no answers. So you play Black Box.

Black Box is fun on an 8×8 grid, in your spare time, with a fire going in the fireplace and a mug of hot chocolate. It is not fun in the enormous state space of a modern computer, when you are trying to get software out the door. It is a huge waste of time.

Free software isn’t a black box. If your mental model is wrong you can look inside and see what is actually happening. To put it another way, free software is reasonable; it is possible to reason about it, rather than just taking shots in the dark. That’s why we at Skydeck (like many companies) use free software whenever we can.

Comments

One Response to “The value of free software”

  • Raoul Duke on February 14th, 2008 5:41 pm

    Probably overall in principle I agree, but realistically I think you are being too black and white about it. Even though I’m a big fan of e.g. FSF, have given them money, use Linux at home, all that jazz. And, given the choice, would really desperately try to always use open source and better yet free-as-in-speech stuff. I just don’t think I’m going to dig into my compiler’s sources, really. Although what is funny is that last time I tried using O’Caml and hit a bug in it with the GL stuff, I started trying to patch to fix the bug - and when my fix didn’t work off the bat I realized, hey, life is too short for me to be doing this task!

    Put it this way: given a choice between 2 things, one open one closed, which both work well I’ll take the open one. If, however, the open one sucks then it might well be something I cannot afford to fix, and I’ll use the closed one.

    And I guess your connotation of “programmer” is probably narrower / more tightly defined than mine.

    Of course, it is all a slippery slope either way: we get too loosey-goosey-meaningless with words, or we get too gestapo with them.

    Thanks for the postings, fun food for thought.