An e-mail conversation I had recently:

I’m becoming concerned with the ethics of free and open source software.

Why is that?

I think the entire aim of the GNU project is a bad idea. Here’s my current thinking, you know most of this already, I’m still thinking it through so I want to spell it out:

  • Copyright (not patents) is intended as a means of paying people for thinking. In all fields this is regarded as a necessary thing.

  • By taking out a copyright you create a contract between yourself and your buyers to agree for your buyers not to share your ‘secret’ (your idea).

  • So if someone else wants your idea they come to you and pay you for it.

  • This allows a ‘thinker’ to ‘unstrap themselves from the wheel’ and earn a living in the future for original work done now, without having to work constantly to drum up that business.

  • This motivates smart people to go through some poverty now in the hope of earning a lot of money in the future.

  • This is a good thing for society as a whole, as new ideas get explored.

Up to this point we’re all good; now, why GNU are wrong:

  • The underlying aim of GNU is to get rid of copyright on code. Code is an expression of an idea, like the contents of a book.

  • If there is no contract on secrets, then how can you be sure you will make money in the future if there’s no reason people won’t just give your code away.

  • RMS has thought of this: consulting. Programmers all become consultants, selling their services for now into the indefinite future.

  • However, consultancy doesn’t create novel or new ideas, except in the very rare cases of a beneficial patron, but that only works in the art related fields: architecture and the like.

  • There is no longer any way to unstrap yourself from the wheel, and no motivation to spend the time thinking of a novel and new idea.

  • For a demonstration of this, have a look at the world of UNIX and particularly Linux. KDE has been going for nine years, and GNOME for eight years. There still isn’t a decent desktop environment out of either, or any hope of one magically appearing, yet Apple was able to slap a attractive and easy to use interface on a variety of UNIX in pretty much the same timeframe (slightly less, actually.)

This is the hole we’ll end up in if GNU takes over the world. That won’t happen, but it doesn’t have to, to cripple the software industry:

  • Currently anyone who releases a software product can only hope for it to become successful and then ripped off by some open source developers somewhere.

  • It is very easy to copy an existing product. It is very hard to add anything unique or original (look at Linux); it is even harder to come up with an original idea in the first place.

  • For an example of this behaviour look at BitMover’s BitKeeper. This is a distributed, concurrent source code control system. This is a very hard problem to solve. The company only develops this, and there aren’t many sales, as there aren’t many places that actually need this level of power. The Linux kernel development does, and the product was generously offered to those developers for free. One of those developers then started working on an open source knock off of the client… In this case I would say there has been bad behaviour on both sides (I disagree with the restraint of trade clause BitMover included in the free version license) and Linus has been chirping in with some bizarre statements…

I’m just concerned that open source development is going to cause software development to completely stagnant by preventing small developers from actually making money off an original idea… Once those small companies have been killed there will be very, very few original ideas emerging.

What about the cost of software and the fact that companies like us, for example, are unable to afford the massive startup cost of using MS or Oracle products?

  1. We don’t need the power of Oracle.

  2. We could use MS (Web Edition + SQL Server 2005 Express)

  3. What about all the little companies that could develop and offer cheap and innovative low-end solutions for small companies like us, that have been squeezed out of the market by open source alternatives? Fine, if the OS software was there first, you just have to find a very good way to compete when entering a market like that. But, what about when the open source version is a followup knock off to your very good product?

  4. Arguing that open source should remain as it allows small companies to save money doesn’t really deal with any of the ethical issues.

You could argue that companies will just have to deal with the potential for free knock-offs to come along, and youll just have to accept that and find better ways to compete, by continually making yours better. Just deal, it’s a new form of competition, essentially.

And that’s true, however, I believe it’s worth thinking about the damage this approach is doing to our industry. Just how much innovation is being stifled?

Oh, and people who read this and are actually involved in any of the stuff I'm talking about are probably going to find this pretty incendiary. So, I won't be replying to any comments directly. If there are enough (intelligent) comments, I might do a follow-up post. But, then who am I kidding? No one really reads this anyway…