JBoss - choose what you learn carefully...
I'm a consultant & developer. I like to write code and I like to get paid to write code. I like when people I know make money writing code, I really like it when someone gets stinking rich from writing code.
As a consultant who likes to make money I offer 'value' to my clients by knowing stuff that can make them more money, by delivering software faster, by delivering competitive advantage, etc. I get paid because of my experience and knowledge. As a result it is very important that I stay up on what is going on in the industry and keep abreast on important technologies and trends. As part of my personality I like to do that anyway so its not much effort (its a lot of work but I like it, so not much effort).
About 14 or 15 years ago I happened on relational object mapping tools. The first one I used in 'production' was something called DBKit which was the precursor to EOF from NeXT computer. It stunk, was full of bugs and was way to slow. But, it was full of promise. I was hooked on the idea of making objects from rows based on meta-data. As I got into it and NeXT released EOF (a much better version of R/O mapping) in 1994 I was becoming quite versed in the issues of how R/O mapping worked and what was needed to make a 'real' production system from a framework like this. As NeXT faded and Java took off I switched to Java as I liked making money in 1996 as much as I do today.
I was forced to go without a decent R/O mapping system for a while (and a lot of other very nice features of what is now Cocoa on Apple's OSX). But it was not very long before the R/O frameworks started showing up in Java. TopLink was one of the first to hit the scene that I knew of and since it was from Smalltalk company I just new it would rock! Well I was wrong but it was so much better than JDBC that I used it anyway (around early 1998 I used it the first time in 'production'). Then I went off and did a tools startup that used R/O mapping frameworks, TopLink (and EJB 1.0, yikes) is the only one I remember but there were others. But around the end of that company (InLine Software, mentioned in this press release, ah the glory days) I started looking at a new thing called Hibernate.
For me Hibernate was cool because it did what it should do, did it well enough and was open source so I could use it without paying. What that meant to me as someone returning to the ranks of consultant is that I could hone my skills and not have to pay through the nose to do so. And since there seemed to be some positive buzz developing around the project I figured it would not hurt me to know a technology that was gaining in popularity. I dabbled with 1.x versions but did TopLink in my day job. As Hibernate continued to mature I felt more and more comfortable recommending it over TopLink as it was free and had a similar feature set. By the time 2.x rolled around I finally got to use it on a 'for pay' project. I thought that was just fantastic, and I was really glad to be able to do that.
By this time there was a lot of hype around Hibernate and lots and lots of folks were using it. Now we come to the beginning of the meat of this windy post. Did Hibernate become popular because thousands of folks like me were using it because it was free and liked it enough to fight for it with their bosses and clients or did it become so popular because Hibernate was the perfect solution. My guess is the former. So now fast forward a few years to the JBoss/RedHat days (today).
Hibernate is trademarked by JBoss/RedHat (USPTO #3135582 look it up here). Which means that me and the thousands of other consultants that put in a bunch of time learning the framework cannot profit by publicly claiming Hibernate services. I can claim 'ORMapping' services but who (with money) knows what ORMapping is and why would they pay me for my knowledge about it.
And, we have folks like this that are being bludgeoned by RedHat folks with claims of leaching. Folks like MyEclipse made Hibernate more likely to succeed by providing support (for free) and tools (for really cheap) that make Hibernate more approachable and for that they are called leaches, nice.
And you probably recall this from a couple of years ago. And I've heard rumblings that RedHat is doing similar things to companies offering Hibernate services. Now as I said in the very beginning, I like to make money and I like it when others make money too. I don't think RedHat should be out to be poor, they should be able to pursue a profit.
My issue with JBoss is that they are the ones committing the trespass, they are the ones damaging the community. By trying to drive MyEclipse out of the hibernate business they are damaging the hibernate community. By preventing my (former) company from offering services specifically called 'Hibernate Services' they are damaging the community. Why don't we all pack up and go elsewhere. Cayenne is a good match to Hibernate feature for feature and it even does several things better. Maher if you want to come leach off our community by offering free tech support and tools, we'd love to have you. (disclaimer, I have recently become a committer on Cayenne)
Which brings me to my final point. Open to me means open, if I spend my limited time and energy studying and learning a technology I want to be able to profit from that knowledge. I don't want to be part of a community that only allows me to do that with a jboss.com email address. If I could get away with never touching Hibernate again I would do so. Now I have to convince my clients and friends to do the same. We will see where the industry goes in the next couple of years, and hope...