If IBM owns Java ...

The future of open source Java development under IBM

The Sun-IBM merger hasn't been finalized but there's little doubt this week that the deal is coming together. Many are looking for clues as to how open source, Java-based development will change -- and change it will -- under the Big Blue Sun.

In the last few years, Sun Microsystems has warmed up to open-sourcing its software. In 2006, Sun opened up Java, and in 2007 it open-sourced most of Solaris under the GPLv3. Smaller, side projects, like NetBeans, the Java-based IDE were open-sourced as early as 2001. Sun has also long allowed developers at least some say in the progress of Java, through the Java Community Process. Historically, though, Sun has had a well-documented love/hate relationship with open source.

IBM has had a closer relationship with open source, but it wasn't always that way. In December of 1998, IBM realized that it needed to take a closer look at open source thanks to its customers beginning to pick up Linux. Before that, according to Peter G. Capek of IBM Research, IBM handled open source on a case-by-case basis.

At first, IBM software developers were "skeptical that the quality of the open-source software produced could be sufficient to be relevant to us and our customers." But, the company quickly discovered the benefits of open source software:

this development style attracted very skilled developers, and that the overlap between developers and users of a particular OSS project made possible excellent and open communication, rapid development cycles, and intensive real-environment testing, ultimately producing software that was often very good and sometimes excellent by our standards.

It also didn't hurt that developers clearly wanted open-source software, Capek said.

IBM had released a binary-only version for UNIX of Jikes (a compiler for Java), through our alphaWorks Web site in early 1997. This was quite successful, but its success was only a prelude to the release of a Linux version of the same code in mid-July 1998, which was downloaded at seven times the rate of the non-Linux versions. Requests for the source code followed rapidly.

It didn't take long, after that, for IBM to convert to open source. While the company has never released its own Linux distribution, in 2008, 8.3% of all changes in the latest Linux kernel came from IBM developers. Only Red Hat and Novell, with 11.2% and 8.9%, had invested more work in Linux.

IBM also has invested in quite a few open source Java projects. It is a major player in the Apache Web server space. Among its other Apache projects is Derby, a lightweight, Java-based RDBMS. The popular Eclipse IDE also started as an IBM project.

Let's hear it

What do you think -- how will Java-based development change under IBM? Speak your mind in the Comments section at the end of this article.

So what will all this mean when IBM and Sun get together? Opinions vary. Miko Matsumura, Sun's former chief Java evangelist and now a VP and deputy CTO of Software AG believes that the merge means the end of the NetBeans IDE. Furthermore, he believes the Java Community Process, weakened by recent controversies over OSGi and Java modularity, will die.

Steve [Mills, senior vice president and group executive for IBM Software Group] isn't going to come down from Mount Armonk with these commandments, but with Sun out of the picture these two communities are just going to come apart at the seams.

OSGi and Java modularity debate aside, not everyone believes that IBM's stewardship spells the end of open source Java. Chris Dibona, Google's open-source program manager, recently opined that there would be fewer developer and licensing conflicts with IBM in charge of the JCP.

Habeel Gazi, research analyst with Info-Tech Research Group thinks the acquisition makes great sense for IBM when it comes to Java, "Sun's crown jewel is the Java programming language. Having possession of Java will give IBM control of a platform that drives many applications."

So why hasn't Sun made more of Java? Theresa Lanowitz, founder of Voke Research reflects on Sun's weakness as a software-driven company: "Sun is a company that had and has very good software technology but has never found a way to monetize it," she says. "Sun remains stuck in its glory days and because of that its business has failed to evolve -- Sun perceives software as a way to sell more hardware."

Lanowitz thinks IBM will do better with Java than Sun because, actually, it always has. "Java, one of Sun's biggest contributions to technology, found its success in the market because of two key licensors early on -- IBM and Microsoft."

According to Lanowitz, "developers will benefit from IBM's stewardship of Sun technology, particularly its open source solutions. IBM will productize the acquired Sun assets and find a way for its ecosystem of partners and suppliers to benefit. You can expect Sun's software to become a business vs. an academic exercise."

While the merge might benefit developers in the long run, the culture clash between two very different companies is a concern. In a discussion with James Stamper of Computer Business Review, James Gosling warned of the challenges of integration. "We're definitely weirder than they are," said Gosling. "We grew up from a bunch of hippies, almost with flowers in our hair."

Still, the company has evolved from those early days, said Gosling. "We're a much more grown-up company now [than when Sun was founded] with a very different group of people. We've become a full-on enterprise software company."

Geoff Feldman, owner of Seabase Consulting, isn't optimistic about the merge. Feldman expects Sun to get "What VAX/VMS and DEC got from HP -- absorption."

Feldman said, "Let's not forget that unlike other alternatives, Java is not an open standard. It's entirely under the control of Sun." Given the same conditions of ownership under IBM, he warned, "I think you can look for very much tighter approaches to licenses and cooperation [...] People forget the days of 'Big Blue.' Do you think they actually ended?"

Learn more about this topic

More from JavaWorld