Telling Stories at JavaOneby Daniel H. Steinberg
I used to love coming to the JavaOne conference in the spring. There was such energy, such hope. We'd queue up around the block for the opening keynote and walk in to the special JavaOne theme music or to a band that was brought in to play live. We'd be welcomed by John Gage. He'd set the stage. He'd tell a story. He'd move us smoothly from one element to another, stopping only to share something cool that he'd seen while wandering around the conference the day before.
Even then four keynotes seemed excessive. But they were all pretty geeky. Sure, there were exceptions. There was the one with Alan Baratz's daughter on stage reading a top-ten list. The one people still shake their heads over, though, is when Pat Sueltz yelled repeatedly at the audience, "you can make money with Java!" in a Steve Ballmer sort of way. For some reason, Magic Johnson was also on stage during her performance, shooting baskets and talking about his chain of movie theaters.
Ahhh, the good old days. The days when people cared. The days when the audience got all charged up and burst out of the keynote ready to change the world. This year's General Sessions failed to inspire me in any way. It could be that Java is older. It could be that I'm older. It could be that this was my tenth JavaOne. Then again, it could be that there were absolutely no new announcements. None. Well, maybe I should take that back. There was some news, but Sun just doesn't know how to tell a good story.
Depending on which numbers you read, somewhere between 15,000 and 20,000 developers came to this year's JavaOne. Many of them got up early on Tuesday and came down to the Moscone Center in time to hear the opening General Session. A proverbial sea of people looked up at Sun's newly named CEO Jonathan Schwartz and even more recently named software chief Rich Green. Guys: the thousands of people in the audience have come to your conference. Accounting for food, travel, and admission, they have each paid $2,000 or more to attend. This is your audience--it takes so little to send them off full of enthusiasm for this platform on which they all depend. Tell these people a story. Paint a picture. Fire them up.
The story they chose to tell was about Open Source. A successful story needs some element of conflict and resolution. In the good old days, Scott McNealy used to take on Microsoft as the embodiment of evil. He'd throw in plenty of shots at other companies, but you knew that Microsoft was wearing the black hat. More recently, under Schwartz, the guys in the black hat were actually wearing red hats. At this year's JavaOne opening session, Schwartz did not call out Red Hat by name, but they were there every time he mentioned Ubuntu.
When you tell a tale of Open Source you need to consider your audience. There is little you can say to convince hard line Open Source folks that Java is or will be open in any meaningful way. This portion of your audience will ignore your marketing and FAQs, and instead will study the license and measure it against their needs and expectations. Then there are members of your audience who embrace the whole compatibility argument. They are suspicious of Open Source; you lose them as soon as you open up the code base. They would rather become a .Net shop than have to worry about all of the issues that confront Open Source users. What keeps them in the tent as Java developers is that they don't believe Sun is really ever going to Open Source Java. If Sun had wanted to, these people reason, they could have done so years ago.
As with most issues, most of the audience is smack-dab in the middle. It would be nice to open source Java but that's not an issue that keeps them up at night. They don't understand, or just can't bring themselves to care enough about, the technical objections that the Open Source zealots raise against everything Sun tries to do. This portion of the audience uses enough open source code that they aren't afraid of it. This group doesn't contribute very often to the code base; maybe they file bug reports and check in now and then to see what the code base status is. They hear the rumors before every JavaOne that Java is going to be open sourced and they nod and say, "cool." JavaOne comes and goes and Java is still not open sourced and this group nods again and says, "oh, well."
Schwartz and Green stay on message at the keynote and the press conference that follows. They reiterate that the question of open sourcing Java is not one of whether it's going to happen, but how it will happen. Schwartz goes to great pains to demonstrate that he is serious. He points to the benefits that Sun has reaped from opening up Solaris. Not only have they had millions of free downloads, but they've also made more money off of Solaris than ever before. Of course there are differences between opening up Solaris and Java. Consider, for example, IBM, BEA, and a handful of handset manufacturers. The Java ecosystem doesn't center on Sun in quite the same way that the world of Solaris does. All that aside, it appears that Schwartz genuinely believes in the economic benefits of opening up Java.
The Open Source folks hear that it's no longer a question of whether and barely blink. For them it's always been about "how." If Sun doesn't open up Java under the right license, they grumble, why bother opening up Java at all?
For the last year or so, Simon Phipps and others at Sun have given talks stressing Sun's history of opening up code and how deeply ingrained Open Source is in Sun's culture. A recurring theme is that there is no need for any more licenses. They agree with others in the open source community that there is an over-proliferation of licenses. Why then, you might ask, was there a need for CDDL (Common Development and Distribution License)? Ahhh, they answer, that was different. We needed just a few changes from the Mozilla Public License on which it was based. But, that's it. We promise. There's no need for anyone to create any more licenses.
And then it came time to relicense Java in such a way that it could be included in Linux distros such as Ubuntu. It seems that there wasn't an existing license that would cover this case and so Sun has created yet another license. The DLJ is the Operating System Distributor License for Java. Sure, it's a binary distribution license and not a source license. But, it is another license that a Java developer has to parse and understand.
You can see the positive and negative side of this action in a post from BEA's Henrik Stahl: JROCKIT and the DLJ License. He writes, "JRockit has long had a very liberal end-user license. Part of the license has been written specifically to facilitate bundling JRockit with 3rd party software, including Linux distributions. However, there have been some limits on we could do based on our own license agreement with Sun. Our legal department is now reviewing Sun's new DLJ license to see if we can use it to make our own license even more flexible."
The good news: the new DLJ seems to be better than the existing license under which Java operates, which can have a ripple effect that would allow other licenses to relax restrictions that are only in place to enforce the more stringent requirements. The bad: lawyers everywhere are required to figure out what this new license means. A new license always leads to billable hours. The Jini community heard this message loud and clear and changed to an Apache license. Community members said that no matter how good the Jini license was, they were not going to be able to get the lawyers at their company to spend time figuring out all of the implications of another license.
In Phipps' post JDK on GNU/Linux: Something Wonderful, he describes the benefits of the DLJ and reports that it's been endorsed by Ubuntu, Debian, Novell, Nexenta, Belenix, and Schillix. Read down to the comments and you will see that they are polite and largely positive. Several readers have posted possible issues in the license. The key questions center on the indemnification clause and the restrictions on distribution "with any additional software that implements the same or similar functionality."
Returning to the topic of this section, it is clear that the "how" matters very much. The license under which Java is ultimately released is not a small issue. Jim Hurley and Bob Scheifler gave a very thoughtful presentation on the options for licenses when the Jini community was shopping for a new one. The issues for Java as a whole are more complicated, but you'll find these options laid out clearly in A Look Towards Open Source.
Pages: 1, 2