Java EE app servers: Why pay for support?
With Sun's decision to "Open Source" their Java EE app server, it's likely that all Java EE app servers will soon be free. JBoss, JOnAS, Geronimo and Sun's GlassFish are going to exert huge pressure on the holdouts IBM, BEA and Oracle. IBM and BEA are already formulating responses, as is witnessed by the announcements of IBM support and BEA support for Geronimo, but it's hard to believe that anything short of total capitulation to FOSS is going to keep their app servers viable.
When all Java EE app servers are free, many companies will turn to selling support and maintenance contracts, but will anyone pay for ongoing support?
The sad truth for companies that are betting on support revenues for Java EE app servers is that very little support is necessary. Once an application has been successfully deployed and tuned, there just isn't that much need for "care and feeding".
My company, like many others, has been considering a switch from our very reliable yet very expensive proprietary Java EE app server to a FOSS alternative. One of the first concerns that was expressed was:
"What about support?"
"Is 24x365 commercial support available for (insert favorite FOSS Java AppServer name here)?"
I didn't even question this concern when it was brought up... We are a very conservative and risk-averse corporation, so of course we want commercial support.
Fortunately, commercial support is available for most of the FOSS app servers... JBoss Inc. leaps to mind, and then there's Gluecode (now IBM) for Geronimo. Sun will obviously offer support. I don't know of commercial support for JOnAS, but I imagine that it is available.
Commercial support for FOSS app servers is less expensive then support for proprietary app servers... but it is (of course) not free. This somewhat lessens the cost-savings benefits of making the switch to FOSS, so I started investigating how we actually use the support that we purchase from our commercial app server vendor.
Our contract with our commercial app server vendor is actually for "maintenance". The contract entitles us to get patches, service packs, and version upgrades for the term of the contract. The cost is much cheaper then buying each version of the app server as it becomes available. It's a subscription model.
The subscription also give us access to customer support with a guaranteed response time to our queries.
With FOSS, everybody is entitled to patches, service packs, and new versions. Only a crazy person would pay (much) for that... so "commercial support" in the maintenance respect is almost moot.
That leaves direct access to customer support staff: How much is that worth (for an app server)?
As it turns out, we almost never contact customer support with an app server issue. In the rare cases where we have contacted customer support, the "fix" was either in an already available patch or was found via Google while the issue was still being worked.
The premium that we have paid for insurance (direct access to customer support) has been high when compared against the actual risk.
I predict that customers will not pay for ongoing support of their FOSS Java EE app servers (once they become comfortable with FOSS in general).
Any company that is banking on significant revenue for the type of ongoing support that is currently offered by commercial companies (maintenance and access to support staff) is going to be disappointed in the long run.
That's not to say that there aren't revenue opportunities associated with FOSS app servers. There's always training and consulting work... but that is not the guaranteed subscription-based revenue stream that some Java EE vendors grew up with.
The bar is going to be much higher for companies that want to be in the "ongoing support business". Passive support, waiting for the customer to find a problem, just isn't going to be attractive. The market is probably going to be for remote administration of customer's machines (something along the lines of Motive for app servers). I can imagine paying for a service that monitors my servers, keeps them tuned, and provides predictions based on trend analysis. That's a far cry from pushing out patches.
If, as I suspect, more and more companies either turn to "appliances" or outsource their hosting altogether (like Sun's $1 per processor per hour computing services), we'll also see the outsourcing of support staff. This model of support (let us administer and maintain your IT infrastructure for you) is probably going to be accelerated by FOSS:
When companies can't make money off the "passive" support model, they have to offer something of more value.
FOSS has only begun to shake-up the revenue models of the software industry... Figuring out what companies will actually pay for is only going to get harder.
This blog entry got picked up over at
TheServerSide, and some interesting comments and viewpoints ensued.
Apparently this blog entry got the attention of JBoss Chief Architect Bill Burke.
Bill offered the following assessment of this blog entry:
"John made some good points, but I think he is a little naive and has failed to grasp and factor in open source projects that have mass adoption."
Read in context, Bill's response also implies that I am clueless.
This reaction is understandable... but it's also a bit on the rude side.
Bill obviously needs to take note of my Rudeness CheckerTM project ;-)