I'm writing a book for O'Reilly, called Designing Data-Intensive Applications.
Over the Christmas holidays I was reading Joel on Software, the book summarising some of the most interesting material from Joel Spolsky’s blog. (The book is worth reading, although I did find it quite a shame that it was pretty much verbatim the blog contents pressed on paper for easier reading. It would have been nicer if the writing style had been changed from the slightly rambling, disconnected style of blogs to a more coherent style expected from a book. But the stuff Joel talks about is definitely worth reading for software engineers, in whatever form.)
The article which I found most interesting is his “Strategy Letter V” (page 281), which is also available on the web. It explains why, in his opinion, so many large companies are investing in open source software.
On the surface, open source seems a strange model for a business – why should a company spend a lot of time and money developing software, and then simply give it away? The claim that they have suddenly given up on capitalism isn’t exactly convincing. The claim that it’s cheaper from them to get free code contributions from teenagers than to write it themselves… not so sure about that one either.
Joel gives the first answer which I actually find convincing. He explains open source investment in economic terms, through so-called complements. For example, flights to Venice and accomodation in Venice are complements of each other: customers need both in order to get a holiday in Venice, but they are sold by completely different companies. And if flights to Venice get cheaper, more people want to go there, so there is higher demand on accomodation, so prices of hotel rooms in Venice go up. And vice versa. This economic effect of complements has been observed in many different markets.
So, if A and B are complements of each other, and the price of A goes down, then the price of B will go up. So, if you are a company selling B, and you are clever, you will try to push the price of A down as far as possible, even commodify it. That way, you can sell B for a higher price and you’ll be better off.
And now if you look around who is investing in open source software, you’ll notice that often the software released in this free manner is actually a complement of what that company is trying to sell. For instance:
Once you think about it this way, it’s amazing how the economics begin to make sense!