Saturday, December 30, 2006

Is JBoss Open Source?

I continue to run across people, and written articles, that claim that JBoss is not "true" open source. For the longest time, I just didn't understand what they meant by that.

In some conversations I have had with people, they don't understand the licensing issues, in others, I just here corporate blah, blah, being repeated without much thought. This mostly comes from IBM employees, who are repeating the party line, but don't really understand what it is based on. In still others, I hear confusion between licensing and development models, and this seems to be the heart of the issue, with people claiming that JBoss is "evil", and not "true" open source.

So what is "true" open source to these critics of JBoss? It is simply that they think open source is not just the license, but also the development model that is used. They also believe that the only appropriate development model is one where no one company or entity entirely controls the project.

The fact of the matter is that open source is about the license, not about the development model used. I could write the code completely on my own, and release the code, and never even accept external contribution, and if the license is an OSI approved license, then it is still open source. The project may or may not be very successful with that approach, but it doesn't change the fact that the code being under an OSI license affords everyone the freedom's of open source.

So what is the development model that the critics say make something "true" open source?

They contend that you have to have many companies contributing, and Linux is used as a primary example. The fact of the matter is, in the case of Linux, you have market dynamics that brings companies together because they have a common interest in fighting a monopoly in the operating systems market. This is a very unique set of circumstances in comparison to the middleware market.

Also, with IBM in particular, which is widely credited for giving legitimacy to Linux, has a huge incentive to support and contribute to Linux. First, when they started getting involved with Linux, they had AIX, OS/390, OS/400 and OS/2 as operating systems they were spending considerable resources developing and supporting. Considering the portability of Linux, and its rapidly maturing technology, if they put their resources behind it they could eventually have a unified OS strategy, with one operating system running across all their various hardware platforms. In fact, today you can run Linux on all of their hardware platforms now.

In the case of a company like Oracle, Linux is the hedge against Microsoft in the database market. In order for Oracle to maintain a market share advantage over Microsoft in the database market they need an alternative platform that is popular on commodity hardware that SQL Server doesn't run on.

The dynamic of having a hated monopoly, plus other unique incentives, brings even competitors together to support, contribute and promote Linux. This simply doesn't exist in the standardized middleware market.

Could you imagine IBM and BEA contributing to JBoss? Companies only contribute to open source projects when there is a strategic corporate advantage to doing so. No one should be naive enough to think otherwise.

In the middleware market, there is no one dominate player, in terms of market share, and there is considerable revenue tied to traditional closed source products. It is quite impossible for JBoss to have the kind of external contribution that Linux enjoys, due to its unique market conditions.

Having said that, JBoss enjoys considerable external contribution from companies. Initially, Novell was a considerable contributor to a couple of the projects, but the Red Hat acquisition put an end to that. We have also had many companies that are users of our technology contribute over the years. Our new Group Bull relationship is another example, and when you look at the folks that work for the JBoss division of Red Hat, all of them where external contributors at one time (developers).

Under the market circumstances, and the business model of the company, JBoss has as open a development model as is possible. That leads to the other issue of the critics.

The business model of JBoss, is one where the core developers all work for the same company. What this enables, is a quality of support that simply cannot be matched. While anyone could take the JBoss software, and distribute it themselves, and offer support, they simply cannot match the quality of support. We have a two tier model, where we hire very experienced Java EE developers for tier one support, and the core developers are tier two. Does this mean that we are not "true" open source?

Open source is about supplying freedom's to all user's of the software, and JBoss supplies that, as all of our software is under an OSI approved license, and most of it is under the LGPL. Secondarily, the business model that has emerged for open source is one based on quality of support. By hiring the core developers, we enable the best possible support, which is certainly in the spirit of open source.

In conclusion, under the market conditions, and what users expect from open source companies, JBoss is as "true" to open source as you can be!

No comments: