Fool me once, shame on you. Fool me twice, shame on me.
OpenSolaris is once.
If they repeat this pattern
anywhere else in their currently-open-source lineup, I'm going to prod my FSF contacts (I'm a card-carrying member) to scrounge up some campaign funds to resume the "Java Trap" campaign and to advocate KOffice or AbiWord to replace OO.o, and Postgres to replace MySQL. I might even donate specifically for that cause.
The
real problem out of the above, though, is Java.
If Java turns into an "IP base" that Oracle uses for suing companies over patents that they own on Java, this is going to hurt
a lot more people than the sum total of losing OpenOffice, MySQL, and OpenSolaris.
1. Java is the language taught to beginning computer science and computer engineering students in accredited public
and private universities across the U.S. Java is often used as the "gold standard" language when professors are trying to teach students a particular programming concept or system concept that is language-agnostic, because they know that the syntax of the language will not get in the way of students' understanding of the salient points.
Java was a safe bet under Sun --
especially in the years after they open sourced their own JDK. Now, is teaching Java in universities going to be as dangerous as teaching Microsoft C++ (using C++ primarily backed by the Windows API) or Delphi, or Cocoa/Obj-C?
The problem with teaching "closed" platforms to students is that they imprint on the first thing they learn, and they always end up going back to that when they are given a choice of what language to implement something in. So it biases students on using a particular platform. This is not really a problem if the platform is cross-platform and patent-free (like
standard C++, or ANSI C, or GLib/GNOME/GTK+), but if the platform is closed, this means that the apps of the future will be written for a closed platform, too, which regresses the goals of the Free Software movement
significantly.
2. There are an enormous amount of deployed lines of Java application code, ranging from the system level to middleware, to desktop apps, games, and web apps. Java ME is used extensively for all sorts of applications on mobile platforms. It appears where you least expect it. And it runs on umpteen different JVMs, many of them not licensed explicitly with a monetized agreement with Snoracle -- some of them are even Free Software, like GCJ/Classpath and Harmony. Are the users of apps that run on these JVMs, and the developers of these JVMs, vulnerable to Java patent lawsuits?
3. There aren't really any other languages that you can port Java programs to without much effort. The closest language neighbor to Java is probably C#. The ironic part is that Microsoft has been a better open source citizen about the .NET platform (at least as far as patents are concerned), because they made a "promise" that they won't sue Mono, or even more generally, some other unrelated project that just aims to follow in Microsoft's footsteps and re-implement .NET for any reason. But it is valid to doubt Microsoft's intentions on this, and to think that they might not cover some particular implementation detail under their promise if they really want to sue you. Therefore, Java developers who want to work with a very similar language (syntactically
and library-semantically) are stuck going with the next nearest neighbor, which is probably Qt4/C++. But then you've got pointers and stack-allocated objects; Java kids have an allergic reaction to both of these.
TL;DR: Java filled an important hole in the educational and commercial segments, providing a useful Virtual Machine + JIT + static typing runtime, cross-platform, royalty-free, while happily allowing others to re-implement any part of the Java technology stack. Even Richard Stallman -- the most wary evil-corporation-doubter I know of -- had begun to have faith in this platform after Sun opened up the JDK. Now, under ownership of a bunch of absolute idiots who think they can foil our techno-cultural movement and make a cool buck while they're at it, we have reason to doubt whether Java is still a safe bet.
This is more than a sad day for (Open)Solaris. This is a sad day for Free Software.
My opinion is that we should give Oracle
one more chance to f*** up. If they pull this stunt on any other piece of software, it's time to kick ass and chew bubblegum. Until then, I'm willing to let this slide, attributing it to mismanagement during the Sun transition. This news, by itself, isn't the end of the world for the vast majority of the people, who don't use (Open)Solaris. But it
might be the harbinger of a dangerous precedent within Oracle. If that turns out to be true, then it's time for Free Software and Open Source advocates alike to inject renewed energy into the bazaar development model, and replace
all software we depend on that is primarily copyright-attributed to Oracle, GPL or otherwise.