End-users want simple tools. They need to get their job done with no learning curve or fuss. They want their tools to make the right decisions for them; not options. If you can deliver something simpler than the standalone OSS implementation, you'll get paying customers.
OSS tends to be of low quality / Customers will pay for higher qualityThere's nothing inherently wrong with learning to code by contributing to OSS, mind you.It must be said, however, that for every high quality OSS or library that is backed for all sorts of reasons by corporations and seasoned coders, there is a ocean of bug-prone spaghetti code written by inexperienced coders who are contributing OSS in an effort to learn programming, and who have little if any idea of what they're doing.WordPress, for instance, was forked from B2 (itself designed by a student) by a student. Multiple versions and untold amounts of duct tape later, it gets the job done. But under the hood, it is a deluge of bugs with little if any quality control. (Last I tried, it did not successfully pass its own test suite.
)Customers will pay for well-maintained and well-tested software. They'll almost all try the free stuff, mind you, and many will even tolerate bugs up to a point. But if their revenue depends on it, they will eventually seek out higher quality software and pay for it.
OSS tends to have too short a development cycle / Customers will pay to avoid hasslesThis is inherent to the development process. Pet features that get shoved into the code base need to be released in a reasonable time scale. If they're not, the risk is that the OSS project will lose some of its contributors.
In the long term, however, companies prefer long release cycles; the longer, the better. It's less planning and less work for the IT department. It's no big deal if end-users upgrade their browser every three months or so. It's a completely different story if you're upgrading mission-critical applications.There was a recent discussion on accelerating the release cycle in the PostgreSQL hackers list. The closing argument against was not about the QA and need for extended beta-testing periods. It was that some companies were already skipping every other release, because the current (1-year) release cycle was already too fast for them.Contrast with WordPress, which is debating a 3-months release cycle every now and then in spite of an already too short cycle. (Their betas are, for all intents and purposes, the x.
0 version of each release.
)Having a few customers who use WordPress, I can assure you that they're more than happy that I'm looking after them to ensure that their sites don't blow up in their face when they do upgrade. Customers will pay for not needing to worry this kind of hassle.OSS tends to mindlessly embrace open standards / Customers just need things to workThe HTML5 video tag is a case in point here.
Mozilla's case for rejecting h.
264 is that they want an open source codec. And they're absolutely correct in this sense: the last thing they want, is to be on the hit list of patent trolls; so they push for Ogg.Apple's case for embracing h.264, by contrast, is practical: it's widely supported already, and there's hard-ware acceleration for it (thus allowing to extend the battery life of iPhones); there's no such thing for Ogg.
Millions of iOS devices sold later, sites worried about delivering video to these iOS users support html5/h.264. Put another way, customers have spoken: they do not care about open formats.The only company that is happy with the outcome of this venomous battle over codecs is Adobe: Firefox users will, de facto, continue to need Flash if they want to play videos. If a major site switches to html5/h.
264-only videos, a coder out there will quickly come up with an extension or plugin to convert the needed video tags into flash video players. (It might even exist already.) In the name of supporting open standards (which flash, incidentally, is not).Nobody ever got fired for choosing IBMIt's an old industry joke, but there is truth in it: when wielding an IT budget, you won't get fired for choosing what peers consider the best of breed.
Large corporate buyers who don't feel like taking a risk will continue to buy Microsoft-based desktops, Office, SAP, and what not; even if there are open source alternatives. Much like shit happens.When OSS makes its way into large corporate environments, it usually isn't because the CTO saw the light and decided to go with cost-free tools; rather it is being channeled in by a third party who offers (pricey) services on top
A company with a solid open source project competing against a traditional closed-source product seems impossible to beat.
I read this article wherein the author lays out this scenario: Suppose one could divide a software marketsay network managementbetween two products. One did everything possible and cost $1 million, and the other only did 10% as much, but was free and open. The price tag of the commercial solution would automatically filter out a large number of users, and those people would have to turn to open source. But some users would be satisfied with the 10% functionality and choose it outright. For example, I have an original Macintosh computer on my desk. It runs a word processor called MacWrite. It does everything, with the exception of spell check, that I need a word processor to do. I can format paragraphs, choose fonts, make text bold or italic, and even paste in pictures and graphs. All in a "what you see is what you get" user interface. It takes up 76K of disk space. That's "K" as in "kilobyte." Compare that to Microsoft Word. I think the last time I installed just Word it was around 30MB, many times larger than MacWrite, but I don't use it for much more than I use MacWrite. Like me, many users are happy with basic functionality. They dont need all the bells and whistles. But back to my analogy. In the beginning, the commercial company would probably ignore the open source project. It represents no threat to their revenue stream, so why should they pay attention to an upstart? If this project is healthy and sustainable, however, in a year or so perhaps it does 15%-20% of what the commercial product does. This should bleed a few more users from their business, and maybe now they start to pay attention. Most likely, this attention would take the form of marketing against the project. They would claim it is too small or too underpowered to take seriously. And in the short run this would probably work. But the mere fact that they acknowledged the project would pique interest. Some people would determine for themselves that it was neither too small nor too underpowered and would start using it. Another year or two goes by and now the project is up to 50% of the functionality of the commercial product. People start joining the project in droves. The commercial company now has to do something. What do they do? They add more features. Remember, the commercial product already did 100% of what people needed. So what kind of features could they add? Unnecessary ones. They might change the look of the user interface or add features outside of network management. In any case, this development will cost money, and that will start to eat into the company's margins. Finally, with a healthy community and this influx of new users, the open source project will eventually approach 80%-90% of what the commercial product does. Having exhausted all avenues of generating revenue, the commercial company still has one final option: put the screws to their remaining customers. Find ways to charge them more, to eek out what they can from their investment, which ultimately will drive their clients away. Farfetched? I don't think so. There are only two main requirements: First, find a market where open source provides a compelling alternative, such as network management. Second, build a sustainable community around the open source project.
It seems very plausible. If you were the closed-source company, how would you compete??