Don't think they would approve of this talk, do you? Over the last five or six years the open source/free software movement seems to have really gained some momentium. Linux is increasingly being utilized in various enterprises as a server OS and even has major companies like IBM and Novell throwing serious cash at open source development. Apache, what some have called the first open source killer app, has remained a dominant force behind the internet. Probably most significant of all is the emergance of Firefox as a true competitor to Microsoft's abandoned Internet Explorer. And if one believes the majority of the posts on tech news sites like slashdot and digg, hardcore geeks and hackers the world round seem to have embraced the principles of open source - namely that all software should be open and free (as in freedom not beer as the saying goes) so that the user can make whatever changes he/she might need to make.
In the past I've been one of these open source supporters. The idea seems so noble. Software should be open and free so that more people can get involved, fix bugs, and collaborate to advance the technology. It sounds great. But lately I've begun to have some doubts and I'd like to re-evaluate open source.
In the past my perspective has always been that of a user and from this perspective open source is great. I mean, there is a open source alternative to almost every commerical software application on the market. And although open source advocates often make the argument that free open source software is not the same as free beer - I'd encourge them to find me an open source app that isn't free. You know they almost all are. So this is great for a user - almost the same functionality of the software I would have had to pay thousands of dollars for before is now totally free.
But now I'm about to graduate from college and go off to work in the world as a Software Engineer. It's always been my dream to have my own small software company and as you've probably heard, Russ and I going to try and do this. So my perspective has changed, I'm no longer just a user, now I'm a developer. So as a software developer, open source scares me. I'd like to make a living off writing software and I don't understand the open source business model. I have essentially three points I'd like to make that sum up my concerns about open source.
- Open source makes software into a commodity item
- Open source makes software (and developers) less valuable
- Open source transforms software from a product into a service
So lets start with the first one, "Open source makes software into a commodity item." A commodity item, from my understanding, is an item of convenience that is easily bought and sold. Commodity items are inexpensive and are often interchangable. For example, Milk is generally considered to be a commodity item - there is really no difference in the product despite what company you purchase from.
Computer hardware is already essentially a commodity item. Most manufacturers use basically the same parts and the product is basically the same (with a few notable exceptions like Sun and Apple) regardless of what label is on the outside. Consumers expect computer hardware to function the same - there are standard ports, a convention for where the power button is, a standard keyboard configuration, operating system, etc. This has turned the generic PC market into a race to the lowest price. With so few differences between brands, consumers only care about price. And since price is all that matters, only the very large computer manufacturers have been able to survive. The margins are gone and only companies with huge economies of scale and afford to be successful.
We can make high margin PCs too - I swear To get off topic for a moment, this is part of the reason Apple has been so successful in recent years. Apple can afford to charge higher prices and have a better marginal profit on their products because they aren't making a commodity item. The only company you can get a Mac from is Apple. Apple may sell less computers than Dell but the companies are worth roughly the same amount. Dell wishes they could sell computers with Apple-like margins. This explains all those rumors that Dell wants to buy Alienware and why they launched their high-end XPS line. Dell is trying to sell computers they can charge a higher margin on and actually make some money.
At any rate, I feel like the open source movement has the potential to do something similar to software. Why is this? Well, it seems like for every major commerical application there is an open source alternative with similar functionality. But wait, isn't competition good for everybody? And isn't this just healthy competition? Well, yes and no. I think it's good that there is more than one option - that is something that has been sorely needed. We need an alternatives to IE, Office, Photoshop and a lot of the monopolies that exist in the software world. Don't get me wrong, I'm all for choice and competition. But what concerns me is that all the open source alternatives are free. Once a piece of software is free, it kills off the commercial viability of that type of software.
Take web browsers, would you ever consider buying a web browser these days? Hell No you wouldn't! Can you believe there was ever a time when web browsers weren't free? Now I'm not necessarily arguing that a web browser shouldn't be free. It's just an example that once there is a free version out there - it's like you can't go back. A web browsers has become kinda like a commodity item now and if it weren't for the google search thing there would be absolutely no money in it.
Now as a disclaimer, I know that microsoft made the web browser free, not open souce - but the point still stands, once you make something free it is unlikely that people will way to pay for it later. Also, I'm not arguing that all software should be commercial. I believe having a web browser is essential - to me a computer is almost useless without a web browser so I believe they should be free. I think that basic development tools and utilities should also be free. But all this is beside the point. Nobody would make any money selling notepad.
So by now you're thinking - you're just greedy, why should we care about where the money is? Well, normally I would agree with you but I want to make a living off this stuff (software) and I'm wondering how I'm going to do it if no one is willing to pay for software. Which brings us to our next point, "Open source makes software (and developers) less valuable."
So there have been some companies that have successfully leveraged open source technolgies: Sun, Apple, IBM, and Novell just to name a few. Lets take Apple as an example just because I happen to know a lot about their use of open souce. Apple's operating system, Mac OS X has a whole slew of open source technologies under the hood. There is an open souce microkernal, a BSD layer, apache, php, a web rendering engine based off KHTML, the list goes on and on. In the past I've stated that I really like Apple's use of open source because it's kind of a "value-added" approach. It's like, the core technologes are open source, but we'll add our own great user interface, make it easy to use and sell it to you. So Apple is profiting off open source by adding their own closed source interface and ease of use. The open source parts stay open source, Apple even contributes back any beneficial modifications to the open source community, and the user pays for the value added to the software.
Darwin's cute little mascot, Hexley What could be bad about this? Well, Apple is saving a ton of money by using all these open source technologies - money they would otherwise have to pay to developers to build this stuff for them. Apple recently gave a bunch of MacBook Pros away to the KHTML developers because they have been such a help to them. Well that's great and I think it was a great gesture and I'm sure the developers appreciated it because they were volunteering their time for free. But do you see the difference here? Instead of paying a group of developers a full salary (probably >= $60,000 a year a piece) they were able to spend only a couple thousand dollars a piece in write offs to send them computers. This is why I'm concerned that open source is going to make developers less valuable.
It seems there is an underlying belief hidden in open source philosophy: programming is a hobby, not a career. Programs are not worth money and hence programming is not a profession worth money. At best it should be something people do on their own time, for free. That kinda disturbs me because I want to make a living off programming. Which brings me to my third and final point: "Open source transforms software from a product into a service"
The only business model I've heard from the open source movement is the idea that instead of selling software as a product, you give away the software and then charge for support. Essentially turning the software business into a service based industry. I can kind of understand this argument. Most open source software isn't easy to use and it seems that there would be a demand for a single source one could go to for help. Having said this, I haven't heard of any major companies that are actually doing this so I'm a little skeptical over the legitimacy of this argument. I guess more research is needed on this one.
To conclude, I want to make it clear - I think there is a place for open source software in the world. I'm just a little concerned about things going too far and I think that there also needs to be a place for commerical software. Many open source advocates have this kind of idealistic viewpoint that "I'd rather die that use evil closed source software." Well, I'm not so sure that's entirely correct. And I agree with many people who would argue that open source is better because of the flexibility and customization it allows for them. I think that's great too. It's not so much the source being open that bothers me, it's the price being zero. I guess I would favor some kind of new paradigm where we could have some kind of open architecture and source but yet have the ability to sell these products. Maybe I just don't agree with the GPL and favor some type of BSD license. I'm not sure, I don't know much about licenses.
At any rate, if you have any suggestions, discussion points, comments, hate mail, or whatever feel free to email them to me. I don't mean to come off as hating open source - far from it actually - I'm just not convinced it's the best way to go for all applications. And I want to make it clear - I'm not talking at all about the quality of the software - strictly about the business effects of open source on small independant software companies. I'd like this to be the start of a disucssion on this topic because I'm not convinced of one side or the other even though it might come off like I am in this article. These are just my concerns. Open source advocates, convince me otherwise.