I have spent considerable time discussing the issue of how we as a community should embrace opensource. One of the issues that I used to illustrate my thinking was JBoss/RedHat owning the trademark and service mark for Hibernate. While that issue generates a lot of interest I think that much of the response was wrong. RedHat is not evil for enforcing their trademarks.
Before I go on, let me say again for the 100th time that I hold no grudge against JBoss or RedHat, they have every right (and from the comments, it appears that they also have the duty) to enforce their trademarks.
Ok with that said what is my issue?
Well I’m glad you asked. As OpenSource becomes more and more dominant in the world of software development (one CEO at a product company told me that his VC’s were not planning on funding another enterprise play that was not opensource) we as developers/entrepreneurs have to have a plan and understanding of this ‘new’ world to keep from getting hoodwinked. (No I don’t think there are monsters in JBoss/RH actively trying to hoodwink anyone so please don’t accuse me of that.) Do you want to get into a community that is dominated by a single company? And if you do what are the ramifications, how will that fact influence your investment in time and knowledge acquisition?
To illustrate what I’m talking about I’d like to go back to the days of closed enterprise software. BEA was one of the main players in the Java EE space back in the day (and they still are from their revenue #’s) if you were doing Java EE development it paid for you to be informed about what BEA was and how it worked. If you could speak BEA you had a job, there was tons to do and your expertise was rewarded because of that rich job market. As a developer or consultant it paid to know WebLogic. The rewards were there and it made sense to dig into the server. There was a free license for developers to use so it was easy to learn, you could get it running on your laptop in 15 minutes. Times were good.
BEA was very good a fostering that community of entrepreneur developers, they had programs that allowed even small independent consultants to sign on as partners. They had great forums that were populated not only be BEA folks but all by a large number of external experts, folks that had downloaded the server, learned enough about it to get a gig and were willing to share that knowledge with others. It was (and I guess still is) a great community.
As opensource started to become more prevalent (and with JBoss the big player in this space) though the dynamic started to change. Knowing BEA got you a job but knowing JBoss was cool. I believe a big part of this ‘cool’ factor was that JBoss was opensource. Developers could not only download the server and learn it for free they could get the source! This was new and different and very cool. Now we could see how all that cool thread management happens (at least in one app server). It was a good time to be a geek.
Inferred in the fact that JBoss was opensource was the feeling of ownership. Folks getting involved felt they had ownership in the success of JBoss. If someone was able to convince their IT department to give JBoss a chance they had ownership in that win. JBoss was opensource and therefore many assumed shared ownership. The inferrence was not acidental either, JBoss actively promoted this idea in posts like this.
And that is where I have a problem. The actual ownership in JBoss that we have is the same ownership we have in BEA. Nothing wrong with knowing BEA or JBoss, its good for your bill rate to know both. However you can’t really share in the ownership of JBoss because a single company owns the goods and IP. As Shaun Connolly points out RedHat owns the trademark and if they don’t protect it they will loose the ability to use it. They (RedHat/JBoss) are building a brand.
I’m sure they have a budget around promoting Hibernate, but the last time I checked the reason Hibernate or JBoss for that matter was successful was not because of a great marketing budget it was because of thousands of folks involved in the community pushing for JBoss to be used. Again, feeling a sense of ownership.
Again, they have every right to enforce the use of their trademarks. I’m not arguing against that at all. The issue is ownership. It is one company (and only one company) that owns the trademark. The thousands of developers that invested in groking Hibernate, JBoss etc have zero ownership in that trademark. They can’t do anything with the mark that is not allowed by the owner or law. So from my current understanding I could offer ‘Training for the Hibernate Implementation of JPA’. Some might ask, well is that so onerous to you? Is it that much trouble to put the extra verbiage into the marketing stuff? No its not, and you can bet if I ever publicly offer anything related to Hibernate or JBoss I will be putting that verbiage in.
This same issue applies to countless ‘professional opensource’ companies out there. Pentaho and Alfresco, both very cool bits of opensource come to mind. And there are lots of others I’m sure. And there is nothing wrong with them trademarking their respective names and other things they use to promote their products. I know folks at both of these companies and I really hope they take over the world and make a ton of money. And again please understand I don’t see anything wrong or evil in this business model.
It comes back to the idea of ownership. I could not get JBoss's contirbutor agreement because you have to login to get at it (AFAIKT) but I could find Alfresco's and Pentaho's. And my understanding is that they are very similar to JBoss's. The careful reader will notice that contributions become the property (wholly) of the companies. Some would point out that the difference between the Apache agreement is not very significant. And I would agree, however Apache is not a company but an organization of individuals with ownership, including the person signing the agreement.
Fundamentally the difference between BEA and JBoss from a developer’s perspective is not very large. Sure I can get the code to JBoss, but apart from that what is different? I could fork the JBoss code and start my own app server, but IMO that destroys the value in the code. The code is valuable because of the community, BEA is valuable because of the community. BEA had a free download before opensource was popular because they got it. Its just like Ballmer screeching about developers. It’s the developers stoopid, they are the folks that make the product.
The difference is that in opensource many developers start to feel a sense of ownership around the products they evangelize. And its not so, we don’t have ownership in JBoss or Hibernate. Just like we don’t have ownership in BEA or IBM or whatever. Again, there is nothing wrong with pursuing JBoss, Hibernate, BEA, IBM etc knowledge. It is very good for your bill rate to know these technologies. Just go in with your eyes open. The response to the hibernate trademark issue was so strong (IMO) because people feel ownership in Hibernate that is not there. The fact is that Hibernate is owned by a company that can (and must) regulate how the developers interact with the product.
Sure JBoss and RedHat would argue that we are symbotic, one can not exist without the other, and besides JBoss would never do anything to hose their developer base. Perhaps, I prefer to play in a space without the posibility of being hosed...
Which finally brings me to why I think communities like Apache and Eclipse are better suited as places for us to invest our time and energy. The feeling of ownership is geniune, no one owns Apache Struts, everyone in the community does, everyone.