I hate pseudo-open source! Now that might seem like an odd position for me to take, given my embrace of open source tools and technologies. In order to appreciate it, you need to understand what I mean by "pseudo-open" as opposed to truly open source. The prime examples are JBoss® and MySQL®. Your first clue should have been the requirement for me to add the registered trade-mark symbol after their names. Another example is that when you surf to http://www.jboss.org you'll be redirected to jboss.com, a domain with a commercial designation. A final indication is that there is no newsgroup dedicated to discussion of JBoss: the trade-mark holder can legally prevent the creation of a Usenet newsgroup containing their name.

So how did we arrive at this situation? Let's jump back a few years to the "golden age" of computing. Opportunities abounded for people with Information Technology experience or degrees. College and university admissions soared as people saw the money to be made in the IT field. People at start-ups were sleeping under their desks, working 16 hours a day, hoping to cash in their stock options and become overnight millionaires. Indeed, some people became very rich during this period. The venture capitalists were also hoping to make a killing, investing in almost any company which had anything to do with the nascent 'net.

Start-ups were the place to be! With luxurious offices, free soft drinks and juice, pinball and foosball games, who wouldn't want to work in such an environment? Forget the gruelling hours and lack of a life outside of work, people were working on bleeding-edge technologies which were going to change the world! Only it didn't quite work out that way. People were eventually forced to accept that some merchandise (furniture being an excellent example) couldn't realistically be sold on the Internet. Start-ups were burning through their seed money like there was no tomorrow, but tomorrow did come. After the investment of incredible amounts of labour and oceans of money, there was precious little to show for it at the end of the day.

During this time you had a combination of enthusiam and youthful exuberance which rarely occurs. You also had Linus Torvalds throwing his Linux operating system out onto the 'net and people eagerly investing time and effort improving it and making it into a "real" platform. People could download and install a system which was, for all intents and purposes, the equal to UNIX systems which were out of the fiscal reach of most people. Armed with a C compiler and a cheap (free) yet powerful platform, people started getting creative. We witnessed the emergence of the Apache project and Source Forge. People were developing serious software at a breakneck pace. Undergraduates were honing their skills and contributing to a growing base of "professional"-quality software.

But then the "bubble" burst, throwing tens of thousands of people out of work. Other circumstances (Enron in particular) contributed to major corporations freezing their IT budgets or chopping them to the bone; more people lost their jobs. While the estimates vary, one source (The Register) pegs the total number of IT job losses at more than 400,000. Companies took the opportunity to rid themselves of the "dead wood" as well as the most expensive professionals in the shop. Of course, the reason that the second group of people were able to command such large salaries was because they had the skills and experience to deliver superior solutions. The remaining staff were expected to shoulder the work-load of two, three or more people. Enrollment in IT courses at post-secondary institutions plummeted by at least 50%, according to some accounts.

This all led to a very tight labour market for IT professionals. The mediocre people who still had jobs were under constant threat of losing them since their employers were well aware of the new reality. People weren't leaving their jobs since there was nowhere to move to. Companies weren't hiring and most IT departments were operating primarily in maintenance mode. People who were used to finding jobs in mere weeks were finding themselves unemployed for months or even years! While there were some people who were able to succeed at new, self-financed ventures (the dating site started out of a garage immediately comes to mind), this period of time saw huge numbers of people leaving the industry forever.

At the end of the day you still have to put meat on the table. Some people, myself included, worked at menial jobs just to pay the rent. When your entire career has been spent in the information technology industry, breaking into a new field is tough! You're competing with younger people with arguably superior (or at least better-fitting) skill-sets. So what some people decided to do was take a page out of Microsoft's play book and "de-commoditize" some previously open-source software. I have no doubt that they received almost unanimous consent from all the active contributors: everyone was hurting at the time. The lure of some revenue must have been practically imposssible to resist.

All of this is by way of acknowledging the forces at work and the motivations of the people involved. It doesn't mean that I like it or have to accept the result.

The initial focus of most open-source projects is to get the code written and released. While the more experienced coders will take the few extra seconds to add javadoc tags, not everyone does. Documentation tends to occur later in the project. FAQs develop over time; you need the critical mass of questions first. Similarly, tutorials are created to help developers get over the "humps" and begin taking advantage of the software quickly, obviating the need to spend hours poring over the javadocs. Finally, and only if the software gains significant support, entire books are written about it. But if the book costs $35+ then it had better have at least 300 pages and an excellent index!

I had developed some J2EE applications using IBM's WebSphere using DB/2 for persistence. The applications were deployed on a BEA WebLogic platform utilizing Oracle as the database. I had also heard of JBoss and the claim that it was the only certified open-source J2EE server. I felt that it could serve as an excellent development platform if it lived up to its claims. I downloaded the source, built the server and proceeded to deploy a couple of applications. Once I worked out the deployment issues, the applications appeared to be mostly functional. Unfortunately, one required the services of the other and therefore needed access to the directories in which it was deployed.

It was here that I ran into the first roadblock. It seems that the name of the deployment directory is generated in some random manner. Undeploying and redeploying the application created a new directory which did not have the same name as the orginal deployment. It appeared that there was an invocation of File#createTempFile somewhere. At first I tried to locate it in the source code but was unable to trace back to how the deployment process mapped the applications. I'm not suggesting that the code was intentionally obfuscated, merely that it was not obvious. I was also unable to find any plain-text mapping file which might contain the desired information.

Here is where things got interesting. I returned to the download site, hoping to locate some documentation. I discovered that the only available documentation had to be purchased! Even the javadocs were unavailable. A search of Usenet failed to provide any answers so I tried to use the JBoss forums. It was then that I discovered that postings are censored. While my query was not entirely generous with praise, neither was it vitriolic. Not only did my query on the forum receive no responses, it was removed within 24 hours! My patience had reached its limit so I abandoned my efforts rather than investing even more time.

My experiences with MySQL were similarly frustrating, although time has thankfully allowed me to mostly forget the gory details. Now I know that there are some who will say that all of the issues I've raised have been addressed1. And I've come to expect arguments from adherents claiming that JBoss will outperform WebLogic and/or WebSphere. That's as may be but it doesn't change the fact that JBoss is not a true open source project as I've come to know them and love them. I'm intimately familiar with the climate change which occured, but JBoss will forever be a "pseudo" open source project in my books. And you still won't be able to find a Usenet newsgroup for it...

Cheers!

Footnotes:

1 For those who claim that JBoss is without flaws, might I suggest reading this book description.

Copyright © 2006 by Phil Selby