Reporter’s Notebook: Did Sun Microsystems’ decision to adopt the GNU General Public License (GPL) cost the company one of its top talents? That’s what a lot of people have been wondering in recent weeks.
As most every Java programmer might know by now, Sun decided to adopt the GNU General Public License v2 as its license of choice for the open sourcing of its Java language.
The move met with considerable approval across the developer blogosphere and even from the GPL’s creator (and frequent Sun critic) Richard Stallman. But it seems not everyone was happy with it, or so the rumors go.
Very quietly in early November, Graham Hamilton, a Sun vice president and fellow in the Java platform team, left the company prior to the announcement of the GPL direction. Very little was made of this, and few noticed until the news appeared in the blog of Geir Magnusson, chair of the Apache Jakarta project, a few weeks later.
James Gosling may be the rock star of the Java world but Hamilton was a heavyweight in his own right. Graham joined the Java team in 1995 and has been involved in a number of projects, including CORBA support, the JDBC database connectivity APIs, JavaBeans, the Java Plug-in, RMI-IIOP, JAX-RPC, and others.
He was also the lead architect for Java Platform Standard Edition (Java SE) releases 1.3, 1.4, and 5.0, as well as one of the designers of the Java Community Process, which handled the development of projects before Sun adopted the open source model. The JCP still plays a big role in Java development.
Other news sites were quick to jump to the assumption that Hamilton departed in protest to the GPL decision. He had been known as an opponent of opening up the source code and wanting Sun to retain as much control over Java as possible. However, it’s not clear if there is a definite causal relationship between his departure and Sun’s decision to go open source.
Sun would say nothing on the subject beyond the following statement: “Sun thanks Graham for his many contributions to the company and to Java technology. Graham is widely respected by Sun employees and developers around the world. While it is always sad to see an employee of his caliber depart, we wish him well in all his future endeavors.”
As if he doesn’t have enough to do, Gosling will be taking over Hamilton’s responsibilities when he returns to work after recuperating from jaw surgery.
Raven Zachary, analyst with The 451 Group, said there was considerable debate within Sun over which license to use, with some traditionalists wanting to keep things under as much Sun control as possible. But he thinks more departures from Sun by those who oppose the GPL could be healthy for the company.
“This is an opportunity for Sun to solidify its support for an open source software model, and if there has to be a little bit of shedding of the skin from the old guard, that’s not necessarily a bad thing,” said Zachary.
The GPL move threw more than a few people for a loop, because it came out of nowhere. Till now, Sun had been using its own license, the Common Development and Distribution License (CDDL), a derivative of the Mozilla Public License, to release the Java code.
The assumption was that Sun would go with CDDL again, but Sun CEO Jonathan Schwartz had said as far back as May of this year that GPL was very much “on the table.”
Schwartz only added to the confusion with a blog entry, which seems to say the decision to adopt a GPL license was in response to the Novell/Microsoft deal of November 2.
A Sun rep denied this, attributing the somewhat loopy blog entry to being done “probably at four in the morning.” The rep argued that it would be practically impossible to marshal all of the company’s legal and technical teams to shift the Java code base from CDDL to GPL in under 11 days.
Magnusson takes Sun’s side in this case. “While I believe that the CDDL was on the table in the beginning, as late as October I’m fairly convinced that the GPL had been decided upon. It prohibits proprietary forks, and preserves the current technology licensing revenue from those that incorporate Java SE technology into proprietary products. I can’t fault them for that,” he told internetnews.com.
Prohibiting forking, or splintering of the code base, is probably the top concern for Sun. GPL also throws a huge monkey wrench into the plans of the Apache Harmony project, an open source Java SE project by The Apache Foundation (and by extension, IBM, which has all but subsumed Apache these days).
“Had Sun actually gone ahead and used a CDDL license, it would have been much more compatible with the Harmony project and allowed for code sharing and reuse,” said Zachary. “With the GPL, the challenge is you have a somewhat incompatible license with what Apache has been using with Harmony.”
It also explains IBM’s recent behavior. Right before Sun announced its GPL plans, IBM issued a statement attributed to Rod Smith, vice president of emerging Internet technologies. In 2004, Smith wrote an open letter to Sun requesting the company make Java open source.
This time, Smith encouraged Sun to join an existing open source Java project rather than start its own, and make it “Apache-friendly.” That takes a fair amount of brass, telling Sun to join someone else’s Java project than continue with its own. Naturally, Sun dismissed this out of hand.
For now, Hamilton is maintaining a low profile. He has not signed on with a new company nor has he made a public statement. Gosling is healing well, according to Sun officials, and life goes on at Sun. It all looks like another peculiar round of corporate chess, with the pieces all being shuffled and a significant piece, for now, being taken off the board.
“I think that it’s never good when a company loses an influential leader like Graham, but on the other hand, I’m sure he’ll add tremendous value to whatever he decides to do next,” said Magnusson. “As for the Java community at large? I think it’s too early to predict. What Graham decides to do next may help us figure that out over time.”