Michael, your a analysis is, IMO, deeply flawed. I would characterise it as descending to the level of FUD. I'm afraid I consider this an expression of one person's bias rather than an objective comparison. Problems include:
- You failed to disclose your employment with JBOSS until you were prompted by a post. The fact that the JBOSS group makes its money by supporting an application server--a piece of software which is not actually needed if you use the Spring framework--means that you and your employer have a material interest in ensuring that Spring does not become the de facto application programming model for enterprise Java. Failure to disclose this conflict of interest was unethical. Yes, even on the Internet.
- You repeatedly refer to Spring as 'proprietary', when it is in fact distributed under the Apache open source license, one of the more liberal licenses in existence. Labelling an open source project as 'proprietary' is as clear an example of FUD as I have seen in many a day. Doing so while labelling yourself (in your bio blurb) as an 'avid open source supporter' is just rank hypocrisy.
- You attempt to frighten people about Spring's viability and independence by asserting that it is tightly tied to Interface21. I note with amusement that the exact same argument could be raised about JBOSS as an application server. "Oooh, be careful! It is controlled by that JBOSS group, and you don't want to be tied to a company like THAT now, do you?" One wonders if Bill Burke would have been so happy to assist you with your article if he'd realised the argument was two-edged.
- Your assertions about 'vendor lock-in' are factually incorrect, as any responsible investigation on your part would have shown. That configuration and deployment-specific code are tied to your platform is a truism. What people are concerned about is the business logic. "Is my configuration and deployment information entwined with my business logic so that my business components are tightly coupled to my current framework/platform?" Spring rates the same as EJB 3 here: ordinary business components have no tie whatsoever to the Spring framework.
- Your most egregious error? You are comparing Spring, as it exists today, with EJB 3, as it may exist at some point in the future, and extolling the supposed benefits of the one over the other. It is simply amazing how much better incomplete alpha software is when compared to shipping software, isn't it? Especially if you 'conveniently' assume that said shipping software will not be enhanced in any way in the time before said vapourware actually comes to market.
This is an interesting topic, and an objective analysis would have been a nice contribution to the Java community. Unfortunately, that isnít what we have here. Your bias, and the overall tone of your article, are simply unacceptable. In the future, Michael, don't let your boss steer you into shilling for him under the guise of objective analysis.