Spring changes its license structure
SpringSource has changed its license structure for Spring, saying that "community maintenance updates will be issued for three months [to major releases] to address initial stability issues. Subsequent maintenance releases will be available to SpringSource Enterprise customers. Bug fixes will be folded into the open source development trunk and will be made available in the next major community release of the software."
I'm all for SpringSource or anyone else making money. I don't even mind this, not too much, but it's .. weird.
It reminds me of Red Hat. They used to have a free version, then monetized, and now they have the redheaded stepchild, Fedora, and the "real version," Red Hat. People who used Red Hat before the commercial version got screwed... and started using Debian (and now, Ubuntu, or in my case, Solaris) or bought the subscription.
This is not that big of a deal, except psychologically, and it's a huge warning for companies that leverage Spring.
Like mine.
Let's be clear here: I like the Spring Framework. I was ambivalent for a long time, even though its strengths were clear, because I thought (and continue to think) their stance towards Java EE is political rather than real, and I wasn't sure that configuration in XML (the Spring way, back in 1.0, 2.0) was really that much better than configuration in XML (the J2EE way.)
Sure, it was a lot easier to declare dependencies on instances in Spring compared to J2EE, but then again, J2EE's dependencies were always intended to be "heavier" than Spring's, and that seemed obvious: when your opponent is trying to solve problem A, saying "but they don't solve problem B, which we do" seems... underhanded.
But... with Spring 2.5, the gates opened. Namespaces and annotations - particularly annotations - made everything all right. I finally swallowed the ... whichever pill it is that made me believe (sorry, I didn't like The Matrix), and dove in. Spring's now a standard library for my projects.
The reason the license change bothers me so much is not the specific change. It bothers me because Spring has done a good job embedding itself in successful projects, and now they've shown that they're willing to change the license.
Customers who buy our application server are going to be using Spring, because we leverage the heck out of it.
Now they're forced (for all intents and purposes) to buy a Spring license, too. Chances are, they already do this, but that was their choice.
How do we know Spring's not going to change their license again to something actually onerous, and not just annoying like this one is?
Answer: we don't. Just like a man who's had an affair can never be trusted the same way again, Spring's jilting us - even in a minor way - and we can never trust them like we did.
Thanks, SpringSource. I've appreciated everything you've done, even from afar - and yes, I know, you've held my "not-a-fanboi" stance against me - but now I feel like I was right for listening to my gut feelings.
I'm checking out Guice. If the transaction management stuff is easy enough, we can switch it in as an alternative to Spring.