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