There is a nice (but rather long) reply from Bruno Souza (Javali Project's Leader) to Onno Kluyt's question of "What do you think (the open sourcing of Java) does that people can't do today?"
There is a nice(but rather long) reply from Bruno Souza(Javali Project's Leader) to Onno Kluyt's question of "What do you think (the open sourcing of Java) does that people can't do today?" :
(quote from the JavaLobby)
Here are the things that we're looking for, and the reason why we're investing in the development of an open source implementation of Java. BTW, I did talk with Onno at JavaOne, and gave him basically these arguments.
We need the ability to distribute the JVM and the JRE. Sun's distribution policy are too restrictive. We want to distribute the JVM in any linux distribution, repackage it so it can be updated remotely when the systems need update, and it can be integrated with whatever software system the OS uses. Why MacOS users can have their JVM updated "magically", and Windows users install it with one click, but Linux users cannot? As a developer, I need that my users have very easy installation process, not the crappy do it yourself process that Linux has today. We want to distribute it even if there's no value added application that needs it. And for systems for developers, we want to be able to distribute the complete set of tools. And btw, I want to be able to distribute the VM even if I'm including in the distribution components made to replace it, like a competing compatible VM. As a Government, I want the ability to distribute Java to all my citizens, no matter their OS preference. Sun's policy forbids (or make hard) all that.
We want a complete JVM on free systems like Debian. We want Java to be really everywhere. Free distributions will not distribute a non-free VM, and as such, software developed for these distributions will not be done in Java. We need Java to be part of the core, so we can have all kinds of desktop applications written in Java.
We want Java to be an important language to develop desktop and server applications to all systems, including the Free distributions. We want to have interesting projects like Looking Glass, Eclipse, citzens, JBoss, Open4Biz, and so many other unbelievable cool open source Java projects to become core parts of the Linux distributions for every system.
We want to expand Open Office with Java! Open Office is the main office for free systems today. Because of that, Java is downplayed, because Open Office cannot really have Java as a core component. In many other projects, this is true: Java is not a core component because we don't have an open source implementation.
We want to port it to other systems. As an example, I would love to have Java running on the Brazilian Electronic Voting Machine, for example. It has a specific OS, a specific Hardware. But many other systems could have a complete and compatible implementation if we have an open source implementation available.
We want to guarantee that we have the rights to use it in the future. The Brazilian Government is using Java for many of its systems. How can we guarantee that we'll have a compatible implementation of Java if (for example) a resolution from the US Administration forbids Sun to do business with Brazil? How can we base our development in a technology with such possibility? The only way to guarantee that longevity is if we have an international, open source community that can guarantee that.
We want it to be compatible! We don't want to just "do our own", like so many open source projects that do most but not all that is needed to be compatible. We want to be part of the JCP and be able to work on a open source compatible implementation.
It is too long already. I will close saying that Standards and Compatibility are fundamental in all of these. We want a Standard Based, Open Source, Compatible Java implementation. Freedom for vendors (standards), freedom for users (compatibility) and also freedom for developers (open source). That's what we want.
And btw, I don't really care if Sun open sources their VM or not. That's their problem. I think the Java community should rally together around the existing open source projects, and help finish them. Go try out Kaffe, GCJ, Classpath. Help by testing, developing, discussing. Help by even telling everybody that they exist. Go to open source events and tell everybody: you can do more today with the (still incomplete) Classpath implementation, then you could do with many of the the traditional open source languages, there's no reason not to use it!
If Sun wants to help, there are a few things it can do that have nothing to do with open sourcing their implementation:
Change SCSL! Please Onno, Rob, Jonathan, Scott: SCSL is terrible. It is slowing down the discussion on Java and Open Source. It forbids good people to work on garanteeing compatibility of the open source VMs. And no, the recent Research License did not improve much, ok? It still has the same SCSL problems...
Join the discussion! Hey, it is not that bad is it? The tiger license allows for an open source VM, so treat them as other, legal implementations. Stop saying that "Java is not Open Source", and realize that "Sun's implementation is not open source". Even better, stop saying that "Our implementation is open source", it is not you know that, and this is OK, we're not blaming you, we want to work with you.
Since you're joining the discussion, what about joining the projects? Many large companies are doing open source Java. Sun is also providing code, with exemples like Tomcat (Serlvet Implementation), the recent Java3D. So, do more of that. If you don't want to open source everything, what about some of it, so we can finish the almost there implementations? What about open sourcing swing? Or maybe putting a developer or two in helping out with that?
Thanks for listening.
JUGs Community Leader
Leader of the Javali Project, Java, Livre!