Re: A question @Mark Wilaard (and other developer)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Patrick,

Now I have a little bit time, to reply to your comment (I will also write this reply in the forum at http://forums.java.net/jive/thread.jspa?threadID=18036&tstart=0 ).

Yeah thanks. Please also include my other replies if you see fit.

What I'd find best for Java is something like we have in the BSD world. Friendly competing communities, with code flowing freely in all directions. Something similar would be healthy for Java too, having 3 implementations in friendly competetion with code flowing between them as it fits.

I think three different OpenSource implementations would be the worst case scenario, if Sun makes its Java OpenSource. Ans I also think, that Suns sees so like I. And I think they want to make it OpenSource, to have _not_ three different implementations.

I disagree. Actually there are already quite a couple of (proprietary) implementations of the Java platform which is also fine for Sun, so why would it be bad for Java to have a couple more?

I'd really like to see Sun, Harmony and Classpath developing and improving Java, all in their own ways and using their own methods.

And in which part is the GNU Classpath implementation better then Suns implementation? (from the technical point of view, not from the license side) ?

Well, first thing is, the technical POV is not the only one important to some parties. For example, if Sun would decide to choose to license under GPL, that would be a problem for a reason for some parties to use Classpath or Harmony. Then there are already a couple of VMs that are written to use GNU Classpath and it is probably not trivial to port them to use Sun's class libraries. Then I'm sure there are even some interesting parts in GNU Classpath. I'm thinking about the Gnome/Cairo peers that fit better with common Linux platforms than the Motif based peers that Sun has. I am not sure about GNU Crypto but my feeling is that we cover some areas that are not covered by Sun there (and vice versa of course). In the future there could also be interesting cooperation, I am think about the AWT/Swing area here, where GNU Classpath could possibly focus on specialized peers and Swing L&Fs for Gnome and KDE, while Sun focuses more on the core or something similar. Likewise for other areas too, where Classpath and/or Harmony could work one implementing the glue to specific platforms that Sun doesn't want to care about etc etc.

Of course, when GNU, Sun and Apache can get together to work on one implementation, that would be great, but very very unlikely. Just as unlikely as a Gnome-KDE merger, or a Linux/*BSD/Hurd merger, etc.

You can not compare the GNOME/KDE situation or the Linux/*BSD/HURD/OpenSolaris situation with the Java situation. It is completely different.
To want a GNOME/KDE merger is like wanting a Java/.NET merger.

Ok agreed. But the comparison still holds for the different BSDs, which are all BSD kernels/OSes with different focus.

A good comparision of the different Java-implementations would be the situation with the different Browsers. All Internet-Browsers want to show the internet-sides. So all takes the same resources and wants to do the same with it.

I also don't think that it's a good idea to have only one browser. I am quite happy that there are a couple of them and that everybody can pick whatever he likes best. I think it's good to have IE, Mozilla, Opera, Konqueror etc all around. The browser situation actually is a good example why having several implementations is a good thing. Think when IE had a marketshare of >95%. This is (arguably was) a time of stagnation, Webdesigners forced to use ugly hacks to make their pages load etc. Having more then one implementation in the market produces an interesting competition and somewhat forces everybody involved to write code that is portable.

The very same thing holds true for Java and actually we already see the bad effects of the dominance of the Sun implementation, which is that many developers write their code against undocumented API, against Sun specific bugs etc etc. That wouldn't be possible when we had several implementations sharing the market equally.

I thinnk what you and Sun (and many other devlopers) actually care about is not having several implementations of the platform (which we already have, even outside of the Sun/GNU/Apache world), but the problem of keeping them together and most importantly _compatible_. That means that a program written against one implementation should run on other implementations too. (given that the program doesn't use non-public API and doesn't make use of bugs/special behaviour of one impl). In order to avoid that, Sun would need to make the TCK more open. I think this has already been said and I don't felt the need to repeat this. So what I think would be helpful for Java, Sun, and the GNU and Apache community is 1) a sane license to allow cooperation and code exchange and 2) opening up the TCK so that all 3 implementations can be compatible.

Cheers, Roman


[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux