This post originated from an RSS feed registered with Java Buzz
by Bill de hÓra.
Original Post: Open source and product business models
Feed Title: Bill de hÓra
Feed URL: http://www.dehora.net/journal/atom.xml
Feed Description: FD85 1117 1888 1681 7689 B5DF E696 885C 20D8 21F8
There's a suggestion by Geert Bevin that when big outfits contribute to open source the standard goes up and it squeezes out the smaller players. I haven't seen that. What I've seen is a growing awareness that high quality software requires dedicated people and a fair amount of time, and that there are social communities who are prepared to invest that effort. It's taken years to get things like MySQL and the Apache webserver into shape. Eclipse still isn't in shape. IIS is barely there with version 6. If you want to build quality software products you need to be aware of what you're undertaking. Thus, some thoughts on how open source can help be beneficial to small and medium product businesses. Open source benefits Open source offers dual opportunity for smaller companies. First, it provides a massive pool of horizontal and infrastructure level software to choose from. If you're Atlassian you don't want to have write your own servlet engine to provide Jira - you can use Tomcat. If you're Propylon you don't want to have to write an XML aware word processor to provide Parlimentary Workbench - you can use Open Office. This isn't much different to saying if you want to write software, you don't want to have to write your own compiler. There is still some resistance to open source based on notions that "free stuff" can't possibly be good. Do try and get over this - some of the best software around is open software. Some of it is junk, but at least you have a basis for determining that. Second, open source can help your company focus on what its core business is and what the nature of the target market is. Are web servers or rendering engines or message queues your core business? If not, are they a cost or are they an investment? If you don't know, you should find out :) If you are coding stuff that is essentially a cost item, you can consider open sourcing it, as Kevin Dangoor suggests in a comment to Geert's entry: I'm a big believer in open sourcing things that are not your core business. I'm even trying to convince my current employer to open source a piece of software that is not part of our core mission. It's a good way to generate goodwill and potentially get some good assistance on your software. But, there still has to be a core mission that keeps the enterprise afloat. If a business does this it will also need to follow through on building a community - it's not just about giving stuff away. Alternatively, it can kill the work and adopt an open source project instead - ideally contributing something back in some form or another. Either way, you'll drive out cost. A small to medium size outfit will generally be targeting vertical and domain specific applications. It is a sensible long term growth strategy to focus on taking specific verticals as "beachheads", and look to launch future products or enter new markets from a position of strength. Sometimes you see horizontal plays, but they're the exception - given that they offer greater reward for greater risk this shouldn't surprise anyone. A company with a horizontal offering can end up fighting on two fronts. It can wind up competing with bigger organizations who can leverage significant technical and commercial resources once the company or its market come onto their radar. And it can see its offering commoditized by an open source project. So it might take two or three years or more for an OS project to be worth considering, but if there is a community impetus behind it, this will happen and inevitably place pressure on both market share and margins. This happens to organizations at all scales - consider the impact of Linux or the open source J2EE containers. Some of the most interesting projects in this sense are Mono, Nutch and Chandler. Abuse of open source What I am concerned about are open source communities being leveraged, or worse, synthesized, to fight commercial proxy wars between software superpowers. Eclipse is certainly a strategic play by IBM but at least they had the good grace to create a new project space, though you could still argue they run the risk of collateral damage to their golden goose, Sun, by promoting it. The bigger problem is what happens when that is no longer a strategic issue. Even Microsoft has been dipping its toe in the water and some of its employees are working on significant projects like RSS Bandit and dasBlog. I remain undecided about the nature of Jakarta in the ASF, but it seems that the idea of a platform/language specific community is fading there in favour of incubation and top level projects. Nonetheless, having the open source space become polluted and devalued the way the specification and standards space has would be a bad thing for the entire industry. Products vs Services For each significant commercial application business model there is almost certainly a competing model that would prefer to offer solutions and services for open source tools. The truth of it is that open source tends to create tools and infrastructure that are configurable. That doesn't make them products. So there is room for companies to leverage open source by productizing and supporting them, or using open source as to lower the cost and time to market of developing specific products. The former is what companies like Redhat and JBoss do; the latter is what companies like Atlassian and my employer Propylon do. People are not buying software based on the fact that you wrote the web server or the rendering engine or the message queues - 99% of customers just don't care about that stuff - unless it doesn't work. They're buying it from you because it helps them. There's a huge difference between opening your product and chasing services, and leveraging open source so you can focus on the product specific aspects which add value. Any costs driven out by using open source represent savings that can be passed onto the customer. Finally, two things. First, in the comments to Geert's entry I think Anthony Eden mostly has it right: One other thing: selling a service does not necessarily mean selling support of software. I think that it is a big mistake to expect to build a business around selling support contracts or documentation, and this is pretty much in line with what Geert originally said. I think it makes much more sense to sell a service, most likely web based , which gives people and companies something that they need which large companies do not or will not address. Some one consider that this is selling software, however I see it as selling a service (which is, once again, not to be confused with selling a support contract.) Except that it's not so clear we can just say small companies should not be building products. This debate is as much about open source being something that throws into question the assumption that software products and software services are truly distinct as it is that open source hurts pure product plays in favour of service ones. Second, I haven't spoken about contributing to open source, but I think a business can do this in ways that do not mean it has turn over what is making its products commercially viable - not every use of open source implies a services model....