Why is OSS Commercial Software So Expensive?
An anonymous reader asks: "Our startup honestly wanted to use OSS products. We do not want to spend time for any OSS bug fixing so our main requirement was -official support for all OSS products-. We thought were prepared to pay the price for OSS products, but then we got a price sticker shock. Now behold: QT is $3300 per seat. We have dropped the development and rewrote everything to C# (MSVS 2005 is ~$700). Embedded Linux from a reputable RT vendor is $25,000 per 5 seats per year. We needed only 3 seats. We had to buy 5 nevertheless. The support was bad. We will go for VxWorks or WinCE in our next product. Red Hat Linux WS is $299. An OEM version of Windows XP Pro is ~$140. A Cygwin commercial license will cost tens of thousands of dollars and is only available for large shops. We need 5 seats. Windows Unix services are free. After all, we have decided that the survival of our business is more important for us then 'do-good' ideas. Except for that embedded Linux (slated for WinCE or VxWorks substitution), we are not OSS shop anymore." Why are commercial ports of OSS software so expensive, and what would need to happen before they could be competitive in the future?
I mean, you want to sell a product that a community developed. Which means its quality could be variable. On top of that, you want to support it. The depends on excellent documentation which isn't enforced in the open source community. There's probably a lot of dead OSS projects for every one successful OSS project. You'll notice that the software itself is very very free
This particular user seems to be looking for portable technologies. The commercial versions of these technologies are still in their infancy which does not bode well for the OSS alternatives. I would suggest that you're paying the early adopter fees on a few of these things. Afterall, Google uses a stripped down version of Red Hat. My company of tens of thousands employees uses Red Hat company wide. They find the free cost to be quite lucrative--just buying support whenever it's needed.
The OSS business model works well for the individual user who isn't looking for support because the free end product is out there for them and they use it if it works. The enterprise consumers looking for support year after year must pay quite a bit.
The software itself is not expensive, nor is it necessarily harder to support--it's just very difficult to create this support out of nothing.
In my opinion, you're going about OSS all wrong. You should stick with what is working and slowly move to a new OSS tool one at a time. You will encounter learning curves. But there is a lot of information online and, worse comes to worse, you can look at the source/documentation yourself.
I imagine there's something about the product you aren't telling us about that is quite constraining
My work here is dung.
Let's draw an extremely fine line here: commercial parts/versions of OSS products, and products built on OSS.
Commercial versions of OSS products aren't worth it, anywhere, almost ever. Just look at the prices above. In almost every case, go with the closed soruce version, and you'll save yourself a hell of a lot of money.
Now, look at two highly successful products built on open source: Fonality PBX (Asterisk) and Barracuda Spam firewall (Spamassassin). We use 'em both. I'm our entire IT department - just me. I already have too much on my plate, and when we were in the market for a new antispam solution, the natural pick was a Linux-Exim-Spamassassin/RBL frontend to our Exchange 2003 server. Powerful, effective, free (aside from hardware).
Problem: I'm already working tons of overtime - do we pay a contractor $120/hour to come in and try to set a system up, then rely on me to support it when I already don't have time? Or, do we pay a company like Barracuda Networks $1300 for their itty bitty model of the spam firewall and get a system that's guaranteed, backed up by all the time they've spent developing their hardware and frontends, 24/7 support, automatic updates, and license-free monitoring and filtering? I don't have the numbers with me, but the cost in staff + contractor time + hardware vs. the Barracuda system (which is overkill for our little network) was something like 3:1.
ACs are modded -6. I don't read you, I don't mod you, I don't see you. Don't like it? Don't be a coward.
Three reasons come to mind:
Of course, these are all hypothetical and general. YMMV.
Hire people to make the software (even open source) = Wages to pay
Hire people to make the software but not pay them = slavery
Charge more for the product than the wages you pay = PROFIT
Ok that was way too simple but the bottom line is no one ever said OSS was non-profit or even small profit. In fact by driving down costs these providers can get richer than with proprietary software. The model is buy low and sell high. Economics 101
But you say you want support, that's why you're paying. Hate to break it to you, but an OEM license of XP doesn't buy you any useful support. Neither does a $700 VS license. Microsoft, like everyone else, charges for support contracts.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
While I think your second line is a good idea, your first misses the point - the submitter was comparing commercial OSS vs. CSS not commercial OSS vs. free OSS.
ôó
How much support do you get from Red Hat for your $299?
How much from Microsoft for your $140?
Red Hat Linux WS is $299. An OEM version of Windows XP Pro is ~$140.
And the OEM version of Windows XP Pro is supported by whom?
I don't know what support Red Hat provides with the $299 version but I know supposrt is primarily what you're paying for or everyone would be using Fedora Core.. Please compare apples to apples - last I heard OEM versions including zero vendor support.
--Aaron Greenberg
You might want to consider your business model - can your product be FOSS too, and then YOU charge the big bucks for support, etc.?
This issue is a bit more complicated than you think.
We run Jboss, Tomcat, Apache, MySQL, Asterisk, etc. Do we pay for support? Hell no. We have a knowledgable and competent staff. You only need to pay for support and commercial products if you DON"T have a knowledgable and competent staff. You are basically paying someone else to be that staff. That's why you are paying the high price. That and the re-assurance that someone is responsible for the product you are paying for so that you have someone to bitch and whine to when it breaks. With an unsupported open source product, you are the only person responsible for maintaining everything. These are the reasons why you pay the high price. But you always have the option NOT to pay and just support it yourself. Plus you are comparing HIGH END support contracts and their are low end support contracts that are a LOT less. It all depends on what you want.
This is my sig. There are many like it but this one is mine.
Seems to me like you are searching out the most expensive commercial OSS on the planet, then asking why wouldn't you just buy the MS product instead.
Why would you want the $10,000 version of Cygwin when you can download and use it for free? Likewise, there are plenty of reputable free Linux distributions out there, many suitable for use in embedded systems.
If you want a commercial Linux, why not look at Redhat? Its comparable in price to Windows. There are plenty of embedded applications.
Pretty clearly. That bit's available for free.
You're paying for official support and services. Presumably 24/7 telephone, onsite if necessary. You're paying for people and their expertise not software.
However, there is a good point. Support is expensive, there's a market out there for lower cost support services.
Deleted
You can compare QT to GDI+ all you like, but GDI+ works on one platform, and QT works on many. Expect to pay more for an increased feature set. Law of the land, open versus closed never has and likely never will have any effect on that.
They already are. You can tell because Microsoft shills like yourself are pretending to have questions about them not being competitive on slashdot.
You say you want official support. Then you proceed to compare an officially-supported copy of RedHat Enterprise Linux to an OEM copy of Windows XP. Well, I hate to break it to you, but that OEM copy of XP comes with no support. If you read the agreement, it says you as the system builder are responsible for supporting that copy once installed. You don't even get the installation support that comes with the $300 retail XP box. All you get is Windows Update, and the opportunity to hear the Microsoft rep tell you to call the company you bought your computer from. The same with Visual Studio. The commercial software isn't cheaper as far as support goes, they just aren't quoting you the real price until after you're committed.
What a Windows license buys you in terms of support is two major things:
1) Patches. MS releases patches for Windows and everything associated with it, and tests those patches to make sure they work. If an incompatibility is found (it's rare one survives the initial testing) it gets fixed. Now of course there is OSS that does that, but there's no guarantee. With MS it's not really a question of if the software will be patched during it's supported life. Same deal with supported OSS software like RHEL. Sure, Fedora also does patches, but they aren't tested like the RHEL ones are, and if the developers of the component don't release a patch, they aren't likely to patch it for them.
2) The knowledge base. MS has a massive knowledge base that is really very good. I use it all the time at work. When a Windows system bluescreens do I start a debugger? Hell no, I'm not a programmer. I write down the details and look it up in the knowledge base. The answers tend to be just want I needed. If some weird problems comes up, again I go looking in the knowledge base. It is a central, easy to search, repository of solutions tested by MS themselves. You don't get that with a no-charge OSS product. Sure there are news group posts, and IRC logs and such out there but man, tracking down the answer can be hell, if anyone has found an answer at all.
3) Vendor support. When a vendor sells you a system with Windows, they are guaranteeing hardware support (at least if they aren't shady). When Gateway sells me a rackmount server with Windows installed, I know that it will be working, and I know that it will have drivers for all it's hardware. However when I try and install FC4 on it, maybe it doesn't work. In fact what does happen is it kernel panics on install (we still have never figured out why). Should it not work, I can call them and get it fixed, if it's a Windows problem they'll call MS and get it fixed. You can get the same thing with Linux, but only buying a system with a supported Linux distro on it, which is usually an enterprise Linux.
Those are not at all worthless support resources. Support doesn't necessarily mean holding your hand through configuration, it just means ensuring that all the resources you need are available. You get that with commercial solutions, be they OSS based or not. It's not the same as a support contract, but often is what people need.
Simple solutions:
The same thing happened to me in my last job, a mixed Sun/Linux shop: people complaining about the price of Linux. Why? Because (a) only SuSE Linux was approved for a certain tool, and that tool was considered as critical by the company and (b) because company's policies and bean counters demanded official support from a reputable vendor for everything that was bought. The result? Thousands of Euros spent on buying expensive, gold-plated, 24/7 support contracts. That were almost never used, since both the programming and sysadmin teams had plenty of experience using Linux servers.
Which makes perfect sense really: Sun support is sometimes cheaper than some Linux vendors, because Sun understands that software support also means hardware lock-in. Microsoft can be cheaper than Linux because, let's face it, all the OEM Windows installed on brand-new computers subsidize the dev tools (C# and Visual what-have-you) while support is essential to the survival of many Linux distributions. Heck, giving the software away for free and selling support contracts is the entire business plan of many Linux distributors! Also, Microsoft understands that, if you, as a developer, buy Visual Thingamajig 2006, you are locked into their platforms, and so are your clients. And that means more money, in the long run, for Microsoft. Why do you think they have recently started to offer programming tools for free? Not out of the goodness of their hearts, that's for sure.
So, Linux, cheaper? Only if you solid in-house experience. I have also seen companies replacing hundreds of Sun and Windows 2000 R&D workstations by Linux/AMD machines. Why? The official reason was: "Linux is cheaper and good enough to provide the 90% functionalities we need, AMD is cheaper AND more powerful than SPARC CPUs, and everyone here likes (and knows) UNIX systems better anyway"... And that was the VP of R&D speaking.
So, back to the point above: Linux is cheaper... as long as you have enough experience in-house not to need expensive support contracts.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
I think a big part of the problem is that you're comparing different things and wondering why they have different prices.
Qt vs C#: Sure, C# is cheaper, but the price you quoted for Qt is for triple-platform licenses, and C# doesn't get you that much cross-platform support. Yes, Mono gives you support for other platforms, but it differs in many respects from the Windows version, whereas Qt is very consistent across all of them. Documentation and support for Qt is vastly better than the comparable C# support for non-Windows environments, (and somewhat better than for Windows as well).
Red Hat vs XP: Red Hat contains far more functionality than XP. Depending on exactly what you're doing, you very likely have to buy additional software for XP. Also, how much support does that $140 XP license get you? Assistance with installation, and that's about it. Red Hat provides a lot more, and it costs a lot more. If you don't think you'll need the extra support, then don't buy it, and Red Hat will be a lot cheaper than XP.
RT Linux vs WinCE/VxWorks: I can't argue here, not at the prices you quoted, and since you said you got lousy support from the Linux vendor (who was it, BTW?). Perhaps you just needed a different vendor? How about Wind River (makers of VxWorks, for those who don't know).
Cygwin vs Windows Services for Unix: Depending on what you need, SFU may be fine. As long as you're just using the stuff provided by Microsoft, SFU is pretty good. If you want to be able to download any random Linux/Unix package off the net and have good odds that it will build and run, though, forget it, SFU is completely inadequate while Cygwin will do a good job. Note also that SFU comes with no support, unlike that commercial Cygwin.
In nearly all cases, I think the core issue is that the prices quoted for OSS support (a) buy you better support than what you'll get in the closed-source case, (b) give you more in functionality, flexibility, or both and (c) are really intended for bigger companies who are less strapped for cash and who have a bigger need of the security blanket the support contracts provide.
Your company would probably have been better off skipping the support contracts, using the software for no cost, and putting the cash aside to pay an independent consultant or two in case you get in a jam. You can get extremely high-quality support for most OSS for small consulting fees, just by hopping onto the project mailing list, identifying a handful of heavy contributors who know the area you're concerned with, and then privately offering them money for their time.
Of course, if your management is too uptight to take that approach, and too tight to buy the OSS support, you should go with the closed-source offerings -- and then keep your fingers crossed that you don't have to rely on Microsoft's support. Wind River's support is good, in my experience, but the rest of the stuff you mentioned is from Microsoft.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
"Our startup honestly wanted to use OSS products. We do not want to spend time for any OSS bug fixing so our main requirement was -official support for all OSS products-."
Great. Good Idea.
"MSVS 2005 is ~$700... VxWorks or WinCE in our next product... An OEM version of Windows XP Pro is ~$140... Windows Unix services are free."
None of the above chosen solutions, at the prices cited, include "official support" None of them. I am an embedded developer and the one solution for which you don't cite a price, VxWorks or WinCE, will cost many thousands of dollars, per seat, if you want full, "official support."
From this I conclude that you were requiring full "official support" for OSS solutions but do not require "official support" for closed source solutions. Why are you surprised at the significant price difference in that case?
Sorry, but your comparison is ridiciluous.
Which means, if you have 5 developers using QT you already pay a similar amount. And now, what comes with MSDN Team Suite: Visual Studio, SQL Server, tools for software architecture, Business Solutions, all MS operating systems for different languages and more. You can absolutely not compare those two products. Even if you just take the MSDN Professional, which costs about 2000$ you get much more than just a library to create applications.
I hope you're not just trolling...
What the hell is that supposed to even mean?! As far as I can tell, information is a pretty damn abstract concept, and it is people, if anything, that ever want something. Someone slaving away at the keyboard to make something work cannot be described as "information". It is called "labour".
First, to clarify it to anyone who may actually be misinformed enough to believe this nonesense, the whole idea behind the GPL is to undermine the concept of IP. Therefore, RH is most definately an exception to IP. While companies like Microsoft rely primarily on distribution sales (sometimes almost to the point of competing with themselves), RH is relying on providing customers with services (and they probably sell things too, but I don't feel like checking). So, no, this argument doesn't work, at all, without exception.
Because a key requirement was commercial support == you call someone to fix bugs for you, not fix them your self. I think the main problem was not shopping around for the required support.
I would go further and say that this article is a troll submitted (*cough* *cough*) anonymous coward and posted, no doubt, to inflate page hits.
The article starts out with a ridiculous premise that you need a "license" to use open source products. Wrong. The only time you need a license is if you want to *distribute* them. So yes, if you are using QT in a proprietary product, you need to pay Trolltech for proprietary license, but you do not need to pay anyone to run Cygwin on your machine!
The second ridiculous premise is equating support contracts for open source products to OEM costs of proprietary software. Uhhm hello? The only thing you get with OEM proprietary software is installation support, and not a good one at that. For anything else, you have to pay per incident and expect to get this response.
Of all the products the AC listed, the only one you have to pay for is QT. Is it worth $3300 when you can get VS.net for $700? Well, QT is an excellent widget library that runs on Windows, OSX, and all flavours of Unix. How many platforms does C# run on? That's right, *one* (no, mono is not a viable alternative). How much money will this save you in the long run? Besides, there are alternatives to QT (GTK, Swing, etc.) so you can use something else if you don't want to pay.
So in summary, AC is comparing apples and oranges. Notice that he/she doesn't even ask for advice but simply states "we are not OSS shop anymore" as a matter of fact. What was the point of the article then? A rant by some AC who doesn't know what he is doing? Or a planted article by Microsoft shill? Hmmm....
___
If you think big enough, you'll never have to do it.
Part of the MSDN support contract is unlimited newsgroup support in addition to formal support incidents. Meaning, that you can post to USENET, and Microsoft guarantees that someone will answer your question in (I think) 24 hours. Microsoft hires engineers and other folks to patrol for questions from MSDN subscribers, and the answers that they tend to give you are exceptional. I've received code samples, compiled projects, analyses of logs, and many other kinds of help from the support folks. This assistance helps me to plan project timeframes a lot more accurately: you don't get "stuck."
Even purely as an educational and training thing, MSDN is worth the money, and I'll buy it as long as I'm in my current line of work.
Another atypical form of support that's extremely valuable is MSFT's relentless stream of conferences and training events, especially Tech Ed. Tech ed is insane: 5+ days of dawn-to-dusk training, and they end up putting the entirity of the conference on streamable audio/video DVDs. One of the Microsofties from the 2006 event in Boston told me that they flew close to a thousand employees out to Tech Ed to staff the booths, train, present, etc. Even at $1600/head for registration, they cannot be making money off of this sort of monster event. But that's not the point. Microsoft is able to train a lot of people quickly, and show attendees a bunch of stuff that might be useful to their problem spaces. Developers of modest talents get free reign to pick the brains of developers of exceptional talents, and a little of that rubs off. And that's how Microsoft wins.
Microsoft targets the needs of brilliant developers and it targets the needs of really mediocre developers and puts enough training out there in enough different forms that everyone is served. It has been a successful strategy, and IMHO deserves respect. Everyone wins.
The reason for the price point of commercial open source software packages is basic microeconomics, and has nothing to do with the better/worse quality of the software.
The supported product has a close substitute, in the form of an absolutely free (and Free/Open Source) but unsupported product. So the lower end user base, on the bottom portion of the demand curve, will generally opt for the free alternative. Hobbyist developers and shops building internal-use applications only, for example, will use the GPL version of Qt. Many of these users might have been buyers at 500 dollars if there were no free alternative, but with an essentially identical free alternative, the support, on the margin, isn't worth 500 dollars to them.
Thus if you price at 500 dollars you get a smaller portion of the market. To make things worse, adverse selection effects are likely, just like with individual health care plans - the people who pay for the supported product are actually paying because they want to USE the support! With many or most commercial software products, people buy the product but only use the support very occasionally or never. As a result, the cost of support *per copy sold* is much lower and margins are generally going to be higher for the commercial (non-OSS) software company.
I think this is why Red Hat ultimately dropped their lower priced products - they realized they shouldn't be trying to compete with their free products, and that too many sales of their "Enterprise" products were getting cannibalized by lower end paid, supported products. Even though they lost a large number of paying customers in this move, the people who actually need support are much more price-inelastic and are willing to pay the higher price for Enterprise support if the only other option is no support.
So is it your point that no human being can ever buy support for any other open source toolkit other then QT?
He says that QT costs too much so we goes to VS for around 700 dollars. Does that 700 dollars include support? No it does not. He just threw that out because he is a troll. He is comparing the cost of QT + support to VS without support and picking a solution that only works on windows. C# + GTK is available for free from mono which he also completely ignores.
The guy decides to drop QT because it costs more and moves to C# without once considering java with swing or swt or anything else? He never considers Mono and goes directly to paying for VS while not buying support from MS.
The guy is either an idiot, shill, astro turfer or a troll.
evil is as evil does
I trust when your physics teacher said, "Water seeks its own level," you got equally bent out of shape, pointing out that water doesn't "seek" anything.
Now the grandparent was indeed trolling. "Information wants to be free" isn't a moral justification for copyright infringement. Like "water seeks its own level," it's description, not prescription. It's a short reminder that information tends to be distributed. It's inherent to our nature as humans, we like sharing information. We invented speech, pictograms, writing, printing, telegraphs, telephones, film, television, fax machines, email, the web, and more because we love sharing information so much. All it takes for information to escape is for a single small leak. Once it's happened, you're done. To try and stop information from being free, we set up expensive technological measures like DRM and legal measures like confidentiality agreements and top secret clearance. And yet the information escapes.
"Information wants to be free" has gotten a bad rap because some idiots decided it mean that information should be free. No, it's just a description of human nature. Information is going to tend to be reproduce and distributed. For people who rely on suppressing the spread of information it's a reminder of what they're up against, just like someone building dams needs to keep in mind that water seeks its own level.
Search 2010 Gen Con events
If you're tiny and poor, eating ramen and paying no salaries for now, then you don't need professional support for anything. You're better off saving that money and learning the skills needed to do it yourself.
If you have at least one programmer on salary, the cost of tools, licenses, etc. is tiny compared to payroll. Are you seriously making a decision that affects your chance of success based on a few percent of your annual budget?
Are you saying that you wrote the app to QT before checking the price? Seems to be implied by this "rewrote":
(3300-700) * 5 = $13k. You completely ported your app to save $13k? This certainly tilts the balance towards "tiny and poor" and away from buying pricy "support". But how do you justify the choice of C#? Surely your 'behold' moment with QT taught you some caution?
There are many factors in choosing a GUI toolkit. Price per development seat is a fairly minor one. The first question is, on what platforms must the GUI run? You haven't told us. You mentioned embedded Linux - is the GUI going to be part of the embedded product? Or running on PC's talking to the embedded product?
If it's the former, do you realize that C#/Linux is a fairly risky path? Who will support you there? And how will you later hop to VxWorks, if needed?
If it's the latter, have you asked an experienced Windows programmer about the tradeoffs between
I think a startup needs experienced team members to succeed. There is not much time for learning new skills, and not much money for buying support. When you talk about randomly hopping from embedded Linux to VxWorks to WinCE, I do not get the sense of a seasoned embedded developer. Each of these OS's brings its own set of tradeoffs, its own nightmarish traps, and its own steep learning curve. I'm far from an embedded expert, but I've looked over the shoulders of experts enough to make that observation.
I think you need to work as a professional programmer for about 10 more years before you're ready for a startup.
Actually, yes it does:
Also, while at $700 he wasn't talking about an MSDN subscription, were he to go with that instead the following would apply:
(Note that I can't be bothered to reconstruct the links)
So no, you don't get as much support (I assume - I actually don't know what TrollTech's support is like), but it's incorrect to say that you don't get any, even if you just buy VS.NET. (And any company serious about developing with/for MS products ought to buy at least one MSDN subscription, if only for the support...)
On top of that, community support resources for MS are at least as plentiful as those of the OSS community. Programmers working with MS tech are not fundamentally any different from those of us working with Java, or with OSS tools; we're all human, and most of us are more than happy to help out a fellow programmer in need from time to time.
It's official. Most of you are morons.