Recent Posts

RSS Feeds

How Now Shall We Live?

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.

Permalink     8 Comments



Comments:

Bill this is an excellent essay. 'ownership' may be the major issue though it's not just a matter of ownership of the code and intellectual property. It's like the difference between being a guest in somebody else's house and having a YMCA-like, shared community center... if that makes any sense.

Posted by ocean on April 05, 2007 at 06:48 PM MDT #

Thanks, you hit the nail on the head. The ownership is not just of the IP or the code, its the community, its owned by the community not a company. Phipps did a great talk on this at the summit a couple of years ago, check it out here

Posted by Bill Dudney on April 05, 2007 at 06:57 PM MDT #

Apache Software Foundation has pros and cons, Eclipse Foundation has pros and cons. But, i think it isn't fair to say, every bit of open source should be unencumbered by corporate interest. I think the message should be enter a community with your eyes open, know the differences between the communities, who "controls" them. I still consider Hibernate annotations open source, and i still consider it a great solution. I'm aware of the "ownership" issue, and I'm fine with it, on a certain level I think that JBoss' sponsorship of the project took it to the next level.

My own personal view is that Eclipse has the best structure from the standpoint of the foundation. They have just the right mix of individual and corporate participation, the license is right. I'm just partial because there's a lot of really good free software coming out of Eclipse and a lot of good proprietary software (Flex, Lotus Notes). It seems like a good mix.

Posted by Tim O'Brien on April 11, 2007 at 01:16 AM MDT #

Tim, thanks for the comments. All the communities have pros and cons, and that was my main point. Education about one aspect of commercially controlled FLOSS communites. Not that its evil but that its different. Individuals can not atain the same level of 'ownership' as they would in something like Apache Foo. I think part of the heated discussion around TradeMark comes from this missmatch of expectations and reality.

Agreed about Eclipse, they have a great mix of commercial intrests and they are pumping out great stuff (not that I think Lotus Notes is great stuff mind you :-). And they do that in an open context so that all players are equally informed and have equal say.

Single company open source communities have to make decisions based on what is good for the company. The community is a big part of that decision making process, obviously, but its not the only factor.

Posted by Bill Dudney on April 11, 2007 at 07:01 AM MDT #

Bill, on second thought, I don't want to come off as telling you that you "got it wrong" or anything. I tend to hold "single company open source communities" at arms length, but sometimes the quality of something like Hibernate causes me to wonder if there isn't something to "corporate open source". But, you are right, all in all, I'd rather contribute to a BSD-style or Apache Licensed codebase that isn't owned by a particular corporate entity.

Posted by Tim O'Brien on April 11, 2007 at 09:45 AM MDT #

Bill,

A very nice essay indeed. Hats off to you for staying on point despite the noise that comes with emotional baggage in open source and repeat attempt to derail your message.

I do have a question for you and Tim while we are on the topic of OR mapping and open source. Given your positions relative to Eclipse, where will Hibernate be in 6 or 12 months now that Oracle announced its plans to open source TopLink as an Eclipse project. By every possible measure, TopLink is a far superior and a more mature technology than Hibernate. More importantly, TopLink brings a far greater tooling infrastructure, Enterprise relevancy and track record.. Will moving the source to Eclipse neutralize Hibernate's end-user popularity or has the horse already left the barn. I noticed that Genuitec announced today their own Java Persistence Tools (http://www.eclipseplugincentral.com/PNphpBB2-viewtopic-t-4035.html) that now includes support for JPA, TopLink and Hibernate instead of their historical Hibernate-centric relationship. Other IDEs will undoubtedly follow their lead.

As an Architect, I now have more choices but that also means more complexity. Hibernate is “cool”, but I don't know how I could justify pushing our company in this direction. I know TopLink is not open source yet, but it is available for immediate access. So I can no longer use the bird in the hand argument. I also can't use the argument that you need frameworks and tools to insure success now that an integrated tooling is available for $50.

Bill, I think I know your opinion on the topic, but a deeper dive in this issue will help more than this lowly architect. Tim, as a singer and an Emacs aficionado you probably don't care one way or the other.

Sam

Posted by Sam on April 12, 2007 at 08:53 PM MDT #

Hi Sam,

Thanks for your kind words. It does not supprise me that Genuitec did their own Persistence tools. There are several things that push this ineveitable conclusion,


  • there is a JPA tool set @ Eclipse.org and since Genuitec is all about making Eclipse stuff easy to use it makes sense for them to be doing this...
  • JPA as a standard will push more and more folks away from a Hibernate specific view of the world

That said its not a very satisfactory answer to 'what to do now'. There are 3 other opensource options;

  • TopLink Essentials (already opensource)
  • OpenEJB @ Apache, this used to be kodo so its mature and has lots of users
  • Cayenne, not JPA yet but solid as an RO solution


Which one is best? very hard to say, TopLink has a big install base and has been used by some big IT shops thats for sure, I'm not sure why it does not have the buzz. OpenEJB is very highly respected in its former life as Kodo. Cayenne is also established and even though the install base is smaller its being used in some major sites. All three are good choices. The only thing I think you can do is try them on a representitvely small subset of your problem and see how they work for you.

And you can't discount Hibernate, its a great solution and has a big install base. My gripe is not with the code at all, its the ownership stuff that gets me. If Hibernate works for you make it your JPA impl and use it behind the JPA API's and be happy that you can move to one of the other JPA solutions if you want to in the future.

And don't discount Emacs its still the best ORM/IDE/MailClient/BloggingClient/DownloadManager/Toothbrush going, I use it every day and love it :-)

Posted by Bill Dudney on April 12, 2007 at 10:21 PM MDT #

Dude, you still use emacs?! :)

Posted by Michael Sanford on April 17, 2007 at 08:54 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed