Why

Sam Ruby has a variation on the Schwartz/Green theme in his post
Cooperate on Standards, in which he says, "The question isn't
whether there will be a fully-compatible implementation of J2SE 5.0
under an OSI license in two or three JavaOne's from now; but rather
one of how many, fully-compatible, implementations of J2SE 5.0,
under an OSI license, there will be; and whether any of them will
be ready by the next JavaOne."

Danese Cooper kicked off a volatile thread with her post
What Sun Doesn't Want You To Know About Java and Open Source.
Cooper reports that the Harmony Project's
announcement that it has full support for Swing/AWT has caught Sun off guard. She says that "Sun's
compatibility rules for the Java language have long included a
'gotcha' in the form of a chunk of code for user interface, for
which there are no compatibility tests (SWING/AWT)." Apple has
their own implementation of Swing and now, it seems, so does
Harmony. Cooper says that open sourcing Java has been discussed
inside of Sun for the past half-dozen years and that when Sun says
they need to figure out how to deal with compatibility, "they are
simply being disingenuous. What they really mean is 'How can we
placate the FOSS community without giving up control?'"

So is that the "why"? Is it important to placate the FOSS
community? If Harmony is getting closer to being an open source
implementation of Java outside of Sun's control, does that induce
Sun to move more or less quickly toward figuring out how to open source
Java?

For what it's worth, I give Phipps a lot of credit for having
the class to link to those who have issues with the DLJ and to
leave comments open on his post to allow further discussion and
dissent. I don't think there are bad people on each side. There are
people who are mostly friends who just disagree.

In Discussion breaking
out about Java and Open Source, Bob Sutor reminds us that
"promises aren't news." He sees Java's steps toward open source as
being similar to "someone who keeps taking half steps toward a
goal. First half a step, then half of that, and so on. The
direction looks good, it looks like they're getting closer, but
they don't actually reach the destination. I hope that doesn't
happen here."

In the General Session and in the press conference that
followed, Jeff Jackson, Sun SVP of engineering, showed that open
source is bursting out all over when it comes to Java APIs. This
includes the Enterprise stack as well as many desktop projects.
Jackson repeated his call to action to get the community involved
in the code. He pointed out that the Mustang development has been
exposed to all who are interested with weekly builds and public
discussions. It's not open source, but much of the work on the
source has been done in the open. He stressed the contributions
from non-Sun employees that made it back to the code base.

As Jackson, Schwartz, and Green faced question after question
about open source, it seemed that one of them would burst out and
say "what more do you people want?" They, of course, stayed on
topic and had to answer as many questions about Sun's fiscal
plans as they did about open sourcing Java. It was a reminder to the
members of the media in the audience of the balance that Sun needs
to achieve.

What

If there was no concrete announcement that Java was being open
sourced in a definite time frame following some easily explained
plan, then why bring it up at all? Where is the news in that? And
in the absence of any real news, where was the meat of the opening
General Session? It should have been in the demos. With the
exception of the Aerith
demo, the applications chosen to enthuse the JavaOne audience were
fairly uninspiring.

Before a word came out of Schwartz or Green's mouth, someone
should have been showing off Aerith. It's what Swing demos should
have looked like eight years ago. It shows that Java can mash up
web services with the best of them. As for the other demos, instead
of leading the way, Java is now an "oh, we can do what AJAX can do
too" technology. Instead of unleashing imagination and capturing
developers, the AJAX demo showed nothing that seemed particular to
Java.

Finally, I have very good eyes and a fairly good attention span.
But when you have developers on stage typing code in a font too small to see, without making it clear what they are doing and where
they are heading, you are not meeting anybody's needs. Once you have
chosen the demos for next year's keynote, ask "WWJD--What would
Jobs Do?" If Steve Jobs wouldn't let these demos on stage in the
state they're in, then neither should Sun. Every demo has to pop.
It has to offer something special. It has to fire me up.

That brings me to my final small complaint about opening day.
Let's assume that you manage to fire up folks and get them excited.
More charitably, let's assume that you aren't able to entirely
dampen the enthusiasm they entered with. Schedule the show floor to
open directly following the keynote. Keeping attendees in the hall
outside the expo floor after the keynote or other sessions is a
wasted opportunity.

Where

Believe it or not, despite this curmudgeonly report, I really
enjoyed the show this year. I met with authors, coworkers,
friends, and other developers. Even though it moves around a bit,
JavaOne provides a natural break in the year. There are people I
talk to at every JavaOne. I heard about the year that we're ending and
the one we're beginning. Next year we need more technical sessions
and many more BoFs. We could do with fewer General Sessions. The
small subconference going on at the java.net booth was a blast--great speakers
and fantastic hallway conversations. We'll do that again next
year.

Where will we be a year from now when we head to Moscone for
next year's JavaOne? Will Java be open sourced and if so, by whom?
Will we see more than 20,000 developers crowd the halls?
As we gain experience with Mustang and head for Dolphin, what will
we want and expect from this platform and who will be providing the
innovation and leadership?

Daniel H. Steinberg
is the editor for the new series of Mac Developer titles for the Pragmatic Programmers. He writes feature articles for Apple's ADC web site and is a regular contributor to Mac Devcenter. He has presented at Apple's Worldwide Developer Conference, MacWorld, MacHack and other Mac developer conferences.