tecosystems

On GNOME, Java and the Battle for Developer’s Hearts and Minds

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

I caught the quote below yesterday (and those picking up my feed will have seen it in my del.icio.us links), but haven’t seen much commentary on it yet. It’s actually just an echo of a debate that’s been simmering within the open source ranks for some time; see here, here, or here.

“With the language discussion, there has been talk of using Mono or Java, concentrating on the free derivative of Java that already compiles the Eclipse IDE. Because Sun hasn’t open sourced Java itself–real Java–it becomes impossible for GNOME to use it because we’ve made a commitment to free software”.

However, so far there has been no decision.

Waugh conceded that the decision to move to a higher level programming language is partly a political one. Two major corporate backers of the GNOME project have competing technologies– Novell with the Mono project and Sun Microsystems with Java.

“In the meantime a lot of software has been written in Python,” he said. “But, as yet we have not written anything in the official GNOME release in a language other than C. We have included bindings for Java, so you can use the GNOME libraries directly from Java which means you don’t have to use that awful Swing. We also have C++, Perl and Python bindings. All are supported we just haven’t committed to any of them yet for core GNOME modules”. Link

Among the firms with a strong interest and investment in the GNOME desktop, the battle lines on this one are fairly clearly drawn:

  • Sun: Pro=Java Anti=Mono
  • Red Hat: Undecided=Java Anti=Mono
  • Novell: Pro=Mono Anti=Java

Where most everyone is clear is on the need for a higher level programming language. For some that’s Java, and for others its C#. The decision there depends on many factors, and is much too complicated to be discussed in a few sentences here. But the implications of that discussion, to me, are profound. Here’s what I wrote about Mono’s impact on ISV’s back in July:

ISV Recruitment: Existing industry ISV platform decisions and relationships of course won’t immediately be affected, as most are longstanding and unlikely to be swayed by a relatively new project like Mono. We are not claiming an immediate broad realignment around .NET and Mono. But in ISV recruitment, or where new, strategic platform decisions are made, Mono has the potential to impact the decision making process because for the first time Visual Studio .NET class development capabilities will no longer be restricted to Windows systems.

I obviously think that the first quote above reflects my contention in the second; namely that Mono is having impact on these types of strategic decisions. True, GNOME is not an ISV in the traditional sense, but it’s similar in scope and importance, and plays an important role in the user interface for Linux yes, but Solaris, BSD and a host of other operating systems. For that reason alone, consideration for Mono is likely to be fought tooth and nail by both Java advocates like Sun and Mono critics like Red Hat. GNOME’s importance to Novell is somewhat in question, as they’re believed to be forging ahead with something of a hybrid approach drawing on both GNOME and its competitor KDE, but with Novell making a big commitment to Mono development it’s clear that they’d like to see others take the plunge with them.

With the decision still to be made, however, and months of…spirited debate, shall we say?…ahead, few conclusions can be made at this time. But anyone with an interest in application development should be paying close attention to how this plays out. I remain convinced that Mono’s the most significant threat Java’s faced in some time, and it may well be that GNOME becomes the opening theatre of battle in the coming conflict.