I love free and open source software. In fact, I use open source software for database management, blogging, blog reading, web browsing, and doing dozens of other daily tasks. I love Linux, MySQL, PHP, and Firefox, in particular. Ocassionally, I even contribute some code – a script or function, usually – to the world, myself, without any licensing, whatsoever. I have a real problem with the core philosophy of the GNU project and Free Software Foundation, however, that software should not have owners and should always be “free” (in the sense that source code should always be available and users should always have the right to modify and redistribute it).
The FSF, of course, maintains that they are talking about “free as in speech, not free as in beer.” That is, “free software” refers to liberty, not price. You can even sell free software , they say. Of course, I want to know why in the world I would buy a product when I can legally get it for free and obtaining it for free is often faster, anyway; selling free software – unless you’re really selling support – is simply a losing proposition.
The problem with the GNU and FSF ideals of software development stems, I think, from a confusion about the nature of software. The members of these groups maintain that software is so different from other types of products – food, books, artwork, widgets – that it should never be proprietary. Certainly software is different, in the sense that software does something and in the sense that software is (theoretically) infinitely flexible. Let’s leave that for a moment, though, and consider the similarities software shares with other types of products.
Like a poem, book or play, software can be copied, modified (assuming source code is available), distributed, and translated (“ported” to other systems or languages). Now, imagine a world without the copyright protection afforded to authors or playwrights. Certainly, many people would still write poems, books, and plays, because they enjoy doing it, just like many programmers enjoy coding. However, making a living would be very, very hard to do. Anybody would be free to modify the writer’s output – let’s say, a screenplay – and reuse or even, possibly, sell it. So, if you don’t like the ending of “Cats,” just write your own, add a couple characters, eliminate your least favorite song, and see who will pay for your copy of the script. The original playwright and composer – who did nearly all the work – are now competing with you and everybody else for a living.
Free market economics at its best, or socialism at its most subtle?
No, that’s not really a fair comparison. It does bring out an important point, though. Imagine if Google, Microsoft, Adobe, IBM, Intuit, and all the other huge software companies had no patents or copyright protections. Every time Google put out a new tool it would have to be open source (they put out some, voluntarily, but nothing that counts as a trade secret). Where’s the revenue?
Or say that a programmer (ahem) decides he can’t stand a quirk in Microsoft Outlook. With a few hours work, he could fix the bugs and repackage the software. Maybe I – I mean, he – can’t command the same market price as Microsoft. Maybe he doesn’t care; he buys the original for $80 or so, rebuilds it with a couple new features and several fixed annoyances, and sells it for $20 (officially, maybe, he sells support for his version… whatever). Microsoft has to drop its prices; to stay competitive, so does our intrepid hacker, especially as more geeks get into the game. Before long, the product really is free. Writing software is no longer much of a way to make a living.
Now, here’s the problem: in a world like that, Microsoft Outlook would likely never have come to be, in the first place. Sure, some very advanced products are open source and free. Consider, though, how the programmers who built those products pay their bills. Nearly all of them work for [drumroll, please] software companies, selling proprietary software! Linux, MySQL, Firefox… much of the work on these products is done at night, by guys (not too many women) who need to get out more (yeah, I know), but the bills are paid by doing the same kind of work on proprietary projects.
Without patents, just as Edison, the Wright brothers, Ford, and Bell would have lacked financial incentives to do their work, so would Bill Gates. Many of the people who changed the world might have ended up doing drudge work at a local store and given up their inventing or creating – possibly at the urging of a spouse, after many years of lonely nights – to go fishing, instead. I don’t think it’s too much of a stretch to say that we might well still be using gas lamps and horses daily, without the profit motive, or at least a reasonable belief that one’s hard work will result in the ability to put food on the table.
I use free and open source software all the time. Still, I have to make a living, and much of the reason I can do that is because I don’t release as “free” or open source software every line of code I write; I make it proprietary. If I did, my competitors would multiply, my prices/rates would fall, and we would all go out of business, rapidly, together, before lining up to apply for work at McDonald’s.
Software patents, by the way, have certainly gone haywire and caused a lot of random damage. I don’t, however, believe that this is due to the nature of patents, but due to the reasons patents are issued. For example, to patent a widget, I need drawings and a prototype of the widget. Often, though, I can patent a software idea, like “method for embedding content in HTML,” without a context or working prototype, then sue for infringement later. This is like trying to patent, “method for establishing colony on Mars.” Sounds great, but can you do it? Ah, but this is a topic for another, long, rambling post.
I’m open to comments. I’m sure somebody out there can give a better defense of the GNU Project and FSF philosophy than I can think of. Comments are open; fire away!