Why I write Free Software

Brian Aker was a recent guest on the LinuxCast podcast with Don Marti. Brian has some interesting thoughts in this podcast and elsewhere on his blog, on motivations for writing Free and/or Open Source software. Here’s why I do it myself.

First an overview of the podcast, for context: the topics were storage engines, distributed version control, and motivation for open-source. (You should listen to it, if you haven’t — it’s short and Brian is a great speaker. I listened to it twice.)

I’ve been thinking for a while about why I write the MySQL Toolkit and innotop InnoDB and MySQL monitor for free. Some people have even tried to convince me to sell them. Brian’s comments gave me some things to think about.

The simplest — but incomplete — reason I is I like doing it, I have a lot of unfinished things I can’t finish fast enough to keep up with my new ideas as it is, and I don’t want to divert effort into making it a business. My feeling is that would add a lot to my list of things I need to learn and do.

But there are many more reasons, in fact.

  • It helps me avoid commitment and the guilt of not meeting commitments — if I don’t get something done, that’s fine. What I do is more than nothing, and nobody should complain. And I know if I lose interest or for some other reason stop doing this, others can take it over. That’s why I made such an effort to put it on Sourceforge (and yes, it is more work to put it on Sourceforge than to do it myself. They don’t even back up your files for you).
  • It builds my personal brand, helps me network, and opens doors for me. People know me through my work who wouldn’t know me otherwise, and vice versa. I get a lot of opportunities I suspect I wouldn’t have if I were trying to make a business out of these tools.
  • My employer uses these tools. I build them to solve my own problems. 25% of the work is done anyway; why not release it? Releasing it also gives me the incentive to turn the tools into much more finished products, with real documentation and test suites and decent command-line behavior that conforms to expectations.
  • My employer gets community improvements sometimes. Brian mentions the pervasive myth that when you open the source code for something you get a flood of improvements, feedback, and patches. As he says, this doesn’t happen. But it occasionally does, and seldom is better than never. This is probably one of the biggest reasons my employer lets me release things, under my name with my copyright, that I sometimes even work on while I’m at work. That, and we have a great company culture and my boss knows I believe deeply in Freedom, and what’s important to me is important to him too.
  • I’m being of service, and that feels good. Brian is probably right that this is a fairly small factor for most people who develop Free Software, in my opinion.
  • I’m learning and having fun.
  • Brian comments on people who want to fill missing functions in a commercial product, and make money from that. I do provide missing functions, and that’s intentional, but it’s not to make money — it’s because I need it. Providing missing functionality is not an obvious and inevitable reason to write something, by the way. If I wanted to make a business out of some product, I could just as easily try to duplicate someone’s work but compete with them on quality or convenience. Or marketing and packaging, for that matter; we all know which very large company has made a lot of money doing that. There are many good business models.

There’s another element Brian didn’t mention: selling these tools would put me in a totally different frame of mind, one I don’t think I would enjoy. I can’t say for sure, but I think it would become a chore and I’d get burned out and resent it. Sometimes that happens anyway — but when it does I can take a break. I do spend quite a bit of free time on these things, as Brian says. Evenings, weekends, and so on. If you’re not willing to do that, I suggest you do it for a business.

Speaking of all this, just today I got an email offering me a bounty for fixing a bug in my Javascript number-formatting library. This is the first time this has ever happened, I think. If you want to support me too, how about you send me something from my wish list?

Technorati Tags:, , , , , ,

You might also like:

  1. MySQL: Free Software but not Open Source

7 Responses to “Why I write Free Software”


  1. 1 Stan

    When I first started coding for a living every team had a different account code for the source libraries. Nobody else could even see your code. I wrote some community tools in this mode until a consultant who had befriended me asked why. I was unable to explain any bad thing that would happen if somebody else saw my tool code, so I turned around and published it all. It’s just a lot more fun that way!

    BTW: My production work code is still protected this way. It must make some kind of sense in a financial company with SarbOx and all that stuff to worry about. For some very small fraction of the code.

  2. 2 John Connors

    George Mallory said it best (in a completely different context); “Because it’s *there*”. ;-)

  3. 3 John Reese

    What I want to know is where do you work at? It must be nice to have an employer that not only cares about you, but is willing to allow projects worked on during company time to be released under your own name. I have enough troubles where I work simply getting management to accept the ideas of using modern open source tools, and modifying them as necessary to fit the needs, rather than succumbing to NIH syndrome and building the entire toolset from scratch…

    But congrats for what you’re doing. I enjoy those tools, and I’m glad for people like you who can take the time to maintain them. Cheers.

  4. 4 CL

    The bounties are good however keep in mind you can still sell the software, as it will simply fall under the category of “commercial free software”. The important thing is to keep it under the GPL or similar license that keeps it free software, preferably the GPLv3 which is due for release at the end of the month.

  5. 5 Wybo Wiersma

    You would be very welcome at http://www.OgOg.org , the Free Software bloggers meritocracy.

    Your feed is already on there:
    http://www.ogog.org/do/feed/66

  6. 6 Derianto Kusuma

    One thing that we must know: there has been a miscommunication just because the English language cannot distinguish free from free.

    1. free = gratis
    2. free = having freedom

    Commercial free software = software that gives the users freedom to distribute it, modify it, etc. but NOT necessarily gratis.

    Gratis proprietary software = software that does NOT give the user freedom to distribute, modify, etc. but is gratis.

    Which do you choose?
    I choose to write commercial free software over gratis proprietary software, because I believe in freedom, but I also believe that hard work deserves pay.

  1. 1 The Programming and Management Blog » Developer Links for 21/06/2007

Leave a Reply

Please do not use this blog to get help with problems or bugs in Maatkit or innotop: use the Sourceforge forums, mailing list, or bug trackers. If you're asking for help with MySQL, please use the MySQL mailing list instead. I'm writing a book and my time is extremely limited :-)