Joe Marini just made a post titled “When Secrets Make Sense”. Personally I think he’s dead on. How can you even argue that point? If I rolled out a product that solved a problem or set of problems that nobody else out there has solved, why in the hell would I tell everyone else how to solve it by giving out my source?
Let’s see, the financial success of my business and it’s hardworking employees is based on the success of this product and the fact that I’ve solved said problems makes my product the number one, must have piece of software for a target audience. My options are: a) Give out the source code (effictively enabling any other company to implement the same features which we’ve invested time and money on solving), make no where near the same profit and tell all the employees their holidays won’t be as fruitful this year or b) Protect my intellectual property, profit from my success and give everyone a nice holiday bonus. Hmm… tough one. 🙂
Ok enough sarcasm. Usually the argument that comes with OSS is that you can make the money on support and other services. Believe me, I know there’s money to be made on services. In fact, my company is a service and that’s the only thing we make money on. Software for Mimeo is simply an enabler. We’ve never made a dime of off anything I’ve ever written… errr directly that is! 😉 All the money is made in brick and mortar print services. However, in Joe’s case, the company was selling the software and their entire business revolved around it. Sure you can sell support and services for the software, but if some other company or, worse, several companies were able to implement the same feature because you released your source code, that’s a huge chunk of profit that you just gave up. Those other companies can offer support and services too. While you can certainly gain an edge with support and services, that edge will never be anywhere near the edge you can gain if you offered the sole product that solved difficult problems.
That said, I do believe there’s plenty of places where open source makes sense, but end user software just isn’t it IMHO. Sure it can it be done, but server applications, frameworks, etc are where open source shines. You can give this stuff away and still make money supporting or providing services around it because your target audience is other companies and developers who in turn are trying to leverage it and turn it into a service for their users.