Upto ImcUkTech

Introduction

Following a public discussion between Eric Raymond, Sun, IBM and a few commentators, Sun recently announced that it would not, after all, open up the Java platform.

Following this, Sun announced that they were striking a deal with their erstwhile enemies Microsoft, which included a settlement over shared technology. A few senior people from Sun's Java department have now resigned over the issue: Sun have gone back on their professed "principles", and done a deal with the same people they were denouncing only a few months earlier. Some analysts think this is because Sun is in financial trouble, and want to turn a money-losing product (Java) into a money-earner. In short, they can no longer afford to be "principled" about Java. This is how "ethical capitalism" inevitably ends up: when the money pile gets small enough, the "ethics" are the first things to be auctioned off.

This is not just a technical issue for propellor-heads: it concerns the tools we choose to use at Indymedia UK, political implications of the choice, and consequent implications for how free we remain as a collective.

There has been a little discussion of this on IRC and email: http://lists.indymedia.org/mailman/public/imc-tech/2002-May/008640.html ...but I'd like to open up the debate more widely.

Background

Open letter from Eric Raymond to Sun: http://www.catb.org/~esr/writings/let-java-go.html http://www.catb.org/~esr/writings/let-java-go-2.html

Sun says "no": http://www.linuxworld.com/story/44208.htm

Article by Rick Ross of the "Java Lobby" group: http://programming.newsforge.com/article.pl?sid=04/04/08/0524247

Article by Richard Stallman of the Free Software Foundation: http://programming.newsforge.com/article.pl?sid=04/04/07/2021242

Discussion of these two articles on the "Slashdot" technical news blog, with a theory put forward that Java will shortly be up for sale to Microsoft or IBM: http://slashdot.org/article.pl?sid=04/04/12/1245208&threshold=3

What does all this mean for us? In the UK we have recently made a move to the Mir content management system, which is based on Java. Functionally, this is excellent software, and the move was in my opinion a great success. Yet there is a shadow over this success, in the form of the threat to the openness of Java.

Mir, Java and software freedom

Mir is based mainly on Free and Open Source software, such as Apache Tomcat, Lucene, etcetera. These tools are all Free, and licensed under the GNU Public License (GPL) to keep them Free.

Yet these software tools, while free themselves, are based on a semi-closed language, as Richard Stallman explains above.

I have heard more than once, in IMC UK and IMC Oxford email and IRC discussions, wishes from people that we might go with a Microsoft product, instead of Mir. "Mir is hard to use" is one complaint I've heard from non-technical users. I can't possibly comment on how they judge Mir's difficulty, as I'm a programmer by trade. If these users say it's too hard to use, then it probably is.

So why do we use Mir, rather than technology from Microsoft or some other vendor? Shouldn't we be using the easiest and therefore most productive technology we can afford?

There are many good reasons why not.
  • We choose not to buy closed technology.
  • We choose not to trade with capitalist corporations
  • Buying in what Mir does from a proprietary vendor would cost a fortune, both up-front and year-on-year

Mir was chosen for good reasons, both technical and functional. But the one issue overlooked in the choice was the openness (or lack of it) of the Java platform on which all of the Free software Mir depends on rests. Since Java was never truly Free Software in the sense of the freedom which the Free Software Foundation advocate, there was always a danger that its owner might decide to sell it, or bury it, or make it less free, based on financial or marketing considerations rather than moral ones.

Possible remedies

  • Use a Free version of the Sun Java Virtual Machine: the Blackdown JVM is often described as an "Open Source Java VM", however it's not: it's just a port of Sun's proprietary JVM to Linux, which Sun later adopted. The Kaffe VM is a genuine "clean-room" implementation of a Java VM, however Kaffe is still a work in progress, and some of the Open Source Java components required by Mir won't yet run on it. This may be overcome in future, but I don't think it's a realistic option for us today.

  • Use a Free native compiler for Java, such as GCJ: This might work, though as with Kaffe mentioned above, there may be components required by Mir which don't work with gcj, i.e. they may depend on proprietary software from Sun. Presently there are also certain components in Mir which are non-Free regardless of the compiler or VM used, such as Sun's Java Advanced Imaging (JAI). The Mir coders are looking at removing the JAI dependancy, and the next generation of Linux distros such as Fedora Core 2 will be shipping with Free versions of the Java applications Tomcat and Ant -- sometime in 2004 it will probably become possible to run Mir on a totally Free OS. When this happens, we might also be able to package Mir into installable packages like RPMs and Debs to make it easy to install; perhaps it could even be included in Blag. We need to look into which components of Mir are capable of running as natively compiled apps using gcj, and estimate a timetable for how long this will take, if it's possible. A few IMC UK techs recently attempted installation of natively compiled apps from the Naoko and RHUG projects on the IMC UK Development server running "Fedora" Linux, but we haven't managed to get it working yet, so we are relying on Jpackage for the development server's Java at the moment, which relies on non-Free software.

  • Switch the UK content management system from Mir: the switch from Active to Mir took around a year or more to complete. Mir doesn't have great support for exporting either, so this isn't something that can be considered lightly. This could also mean the loss of some Mir features.

  • Call a moratorium on new Mir sites in the UK, until a realistic timetable for a Mir built from Free binaries is available: possible, but this needs to have a goal in mind, rather than just stave off a massive switchover a year on. New IMCs like Lancaster need to get something up and running now. What do they pick? Something free, which they might need to migrate off of in a year? Or something non-free now, which will possibly be free next year?

  • Shun software monoculture Issues like this one only affect one platform, in this case Mir running Java code using proprietary software. In a mixed environment, only one set of sites would be affected, e.g. if (Sun/Microsoft/IBM/whoever) started demanding royalties for Java next month, we'd need to scramble to put together an action plan for only those UK IMCs running Mir on Java, but the sf-active sites etc. would be unaffected. Similarly, if a bug or security exploit emerges on one platform, only that platform is affected until the bug is fixed. Some collaboration tools are being developed around a ImcInterchangeFormat

Conclusion

We as a collective must come to terms with the possibility that the Java platform on which the Mir content management system depends may become un-Free, both in the sense of Freedom and of "free-of-charge". This means getting a reliable roadmap to when Mir will be free. In the meantime, serious consideration should be given to putting up non-Mir sites in the UK, to avoid the problems inherent in a "software monoculture".

-- SpanneR - 13 Apr 2004
-- SpanneR - 02 Nov 2004 fixed RHUG link

-- MjR - 09 Dec 2004
Topic revision: r7 - 25 Dec 2005, WietsE
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback