Java and Tiger Woods
For years I have wished that Sun would make Java truly Open Source. Two days ago, Sun's
executives publicly committed to make it happen. Now I have to figure out
why I don't care.
Actually, I do care. In fact, I'm angry. Java had so much
potential, and most of its opportunities are lost. Java today is like
what Tiger Woods would have been if his Dad had made him live at home until he
At the age of 3, Tiger Woods played nine holes of golf and shot a 48.
His father saw the potential and dedicated himself to helping his son become
all that he could be. In the early years, this meant strict
control. Later, the father's primary role was to simply never be obstacle
in his son's path.
Am I being outrageous by comparing Java to Tiger Woods? Sure.
Everybody knows that parents who want their kids to realize their full
potential need to let them go. But Java is not a child; it's an
intellectual property asset. Like I said, I'm angry -- don't expect me to
be entirely rational about this. :-)
But even if my illustration is absurd, I want to finish it: Earl Woods
(who sadly lost his battle with cancer just a few weeks ago) will primarily be
remembered as the man who allowed his son to reach his full potential and
become the best golfer in the world. In contrast, Sun will primarily be
remembered as the company who created Java and then impeded its success by
retaining strict control over it.
So on Tuesday Jonathan Schwartz and Rich Green promised that sometime soon,
their 40-year old daughter Java will be allowed to quit her job in the family
business and begin a pro golfing career. Frankly, it's a little late for
Please don't put labels on me. I'm not an open source zealot.
I'm not a .NET zealot. I'm not a Java zealot. I'm just angry.
I don't understand why Sun couldn't make this decision seven years ago when it
might have made a difference.
Is it really too late? Perhaps not, but the remarks by Schwartz and
Green this week indicate that these guys still don't really "get
it". They showed up at JavaOne to announce their intentions, but
they had no details of how it's going to happen. Why not? Reading between the lines, their attitude suggests that the reason they don't have a plan
yet is that they are still trying to figure out how they can make Java Open
Source while continuing to remain in complete control over it. Yeah --
good luck with that.
If Java is going to realize at least some of its potential, Sun will need to
get really serious about letting Java go.
That means facing what appear to be their two primary fears:
- If we make Java truly Open Source, will it benefit Sun as
- If we make Java truly Open Source, won't that encourage
people to fork?
Seven years ago, the answers were:
- Yes. It will benefit Sun, but not directly.
Releasing Java as Open Source will change the industry. Finding ways
to profit from that change is a separate step that Sun needs to figure
out. If you do it right, then dozens of vendors will have a common
foundation upon which they can unify against Microsoft. Sun can be
one of the leaders, along with companies like IBM, Motorola, and Apple.
- Probably not. People don't fork projects when the
primary maintainer is doing a good job.
Today, the answers are completely different:
- No. It won't benefit Sun. You already screwed
it up so badly that it no longer matters what you do. Your company
is just waiting to die, and unlike the situation with Earl Woods, most
people will be struggling to find anything nice to say at its funeral.
- Definitely. If you Open Source Java on a Monday, a
community fork will be the most active project on SourceForge by the end
of the week. Dozens or hundreds of people will be granted commit
access. None of them will be Sun employees.
Oh, wait -- that's the anger talking. :-) Let me try
- Maybe. This isn't the high-percentage play that it
would have been seven years ago, but there is still a chance that you can
catalyze some major change. If that happens, and if you swallow your
pride, you can probably find a way to be a leader.
- Probably, but maybe not. The way to prevent a fork
is to take away the motivation to fork. If you show the Open Source
community that you "get it", you will have countless allies and
fans in your community instead of countless developers trying to repress
all memory of you as they fix your bugs.
I confess that I gave up on Java years ago. I'm a C# developer now,
but I don't get religious about platforms. If it's not too late, I would
still love to see Java realize its incredible potential.
If that's going to happen, I see only one possibility: Crazy as it may
sound, Sun needs to stop thinking of itself as Java's owner and start thinking
of itself as Java's proud parent. Sun, your child was born to change the
world, and the only thing preventing that from happening is you.