Linked by Thom Holwerda on Sun 2nd Apr 2006 18:31 UTC
Java The community effort hosted by the Apache Software Foundation to create an open source, J2SE 5.0 compatible Java runtime/virtual machine is progressing slowly but steadily. Despite some indifference and prejudice by some OSS pundits, the project has been recently moving along nicely with key players like Intel and IBM contributing their own programmers and source code to the effort.
Order by: Score:
A step in the right direction
by vhogemann on Sun 2nd Apr 2006 19:07 UTC
vhogemann
Member since:
2005-07-06

An OpenSource implementation of the JavaVM is necessary to bring the language to all the platforms not supported by the official Sun distribuition.

Also, it opens the opportunity to fine-tune the JVM to better behave at specific applications, and better integration with existing open source projects.

Reply Score: 5

RE: A step in the right direction
by derekmorr on Sun 2nd Apr 2006 21:45 UTC in reply to "A step in the right direction"
derekmorr Member since:
2005-09-25

"An OpenSource implementation of the JavaVM is necessary to bring the language to all the platforms not supported by the official Sun distribuition."

No, it's not. There are plenty of closed-source JVMs for platforms other than what HosSpot supports. Apple provides Java for OS X, HP provides it for HP-UX and OpenVMS, SGI provides it for IRIX and IBM provides it for z/OS, OS/400, AIX and Linux/ppc.

While I support Harmony's development, Java is already supported just fine on almost every platform.

Reply Score: 2

arooaroo Member since:
2005-07-06

But it's funny how one of Java's key "selling" points is its Write Once Run Anywhere mantra. The point is that Sun cant officially deliver this dream.

Now, it's amazing what happens when you leave an OSS VM to its own devices. Before you know it, it'll be ported to a variety of platforms you didn't even know of.

See http://www.kaffe.org/ports.shtml

Java on Playstation 2, anyone? On a more serious note, Java on *BSD is very handy.

Reply Score: 4

derekmorr Member since:
2005-09-25

Why is it Sun's job to port Java to every platform? They created a stable JVM and Java language spec and let market forces dictate where it would get ported. I don't see this as a failure for Sun, but a success for Java. Btw, several of the non-Sun JREs are based on Sun's code; for instance HP, Apple and BEA all base parts of their JREs on Sun's implementation.

Reply Score: 1

eMagius Member since:
2005-07-06

Why is it Sun's job to port Java to every platform? They created a stable JVM and Java language spec and let market forces dictate where it would get ported.

Sun does not allow Java to be ported. Well, not without paying Sun a fair bit of cash (which needs to be handed over again with every minor revision) and agreeing to draconian licensing terms.

The only other option is coming up with a Java workalike on your own, as Kaffe, GNU Classpath and Harmony are trying to do, but that requires a lot of work and cannot be claimed to be "Java" in any case.

Reply Score: 4

this is cool
by spikeb on Sun 2nd Apr 2006 19:43 UTC
spikeb
Member since:
2006-01-18

Sure, there's gcj (which is very very cool), but the more the merrier. and the involvement of the biggies™ ensures this will progress further than kaffe and the like

Reply Score: 2

Sun
by madhatter on Sun 2nd Apr 2006 19:49 UTC
madhatter
Member since:
2005-07-07

I don't understand why Sun doesn't contribute some of their source code, or am I missing something?

Reply Score: 5

disappointing
by gregorlowski on Sun 2nd Apr 2006 20:13 UTC
gregorlowski
Member since:
2006-03-20

If IBM wants to contribute something, why don't they open source their jvm? Providing some tools to help an apache-licensed project make progress is in their interests -- maybe they can learn something from the progress that harmony makes and then use it in their non-FOSS tools. Look at IBM's HTTPServer -- it's basically apache with a couple added modules, but they don't distribute source (or at least I couldn't get it last time I tried!)

I really don't understand Harmony. Is it just for ego reasons that they don't just contribute to projects like gnu classpath, kaffe, jamvm, and cacao? Is it some license-ego thing on the part of the contributors (We won't do GPL?). Or is apache harmony just a marionette that is controlled by business interests that don't want to see a GPL java succeed?

I've been really happy with gcj, classpath, and using either jamvm, cacao or kaffe in GNU/Linux. I wish the swing compatibility was better, but if I really wanted to do GUI work in java then I'd be happy with SWT/JFace or java-gnome.

In any case, I'll stick with the above tools for my java needs in GNU/Linux for the near future and choose other languages with more FOSS tools when I have an option.

Reply Score: 5

RE: disappointing
by lord_rob on Sun 2nd Apr 2006 21:45 UTC in reply to "disappointing"
lord_rob Member since:
2005-08-06

If IBM wants to contribute something, why don't they open source their jvm?

It has been discussed a lot on harmony-dev mailing list. If I remember correctly, they cannot open theit jvm because it contains a lot of sun code.

Anyway, recently SableVM [ www.sablevm.org ] has been relicensed to Apache Software License [ASLv2] and will now be part of harmony.

Reply Score: 3

RE[2]: disappointing
by kaiwai on Mon 3rd Apr 2006 04:33 UTC in reply to "RE: disappointing"
kaiwai Member since:
2005-07-06

It has been discussed a lot on harmony-dev mailing list. If I remember correctly, they cannot open theit jvm because it contains a lot of sun code.

One could also argue that it would be better to start off with a clean slate so that all the features required can be built in from the ground up rather than them being tacked on at the last minute.

Atleast if everything is designed from the ground up, all the features and considerations can be taken into account so that the different parts of the VM can be properly documented, designed to be easy to maintained and most importantly, when it comes to porting to other platforms such as FreeBSD, 300 hoops won't need to be jumped through as with the case of the current situation of JVM.

The idea situation would be to replicate the Java classes and use the mono VM.

Reply Score: 1

RE[3]: disappointing
by Wes Felter on Mon 3rd Apr 2006 18:52 UTC in reply to "RE[2]: disappointing"
Wes Felter Member since:
2005-11-15

One could also argue that it would be better to start off with a clean slate so that all the features required can be built in from the ground up rather than them being tacked on at the last minute.

Atleast if everything is designed from the ground up, all the features and considerations can be taken into account so that the different parts of the VM can be properly documented, designed to be easy to maintained and most importantly, when it comes to porting to other platforms such as FreeBSD, 300 hoops won't need to be jumped through as with the case of the current situation of JVM.


Sounds like a good description of IBM's J9 VM (from what I've heard).

Reply Score: 1

RE: disappointing
by arooaroo on Sun 2nd Apr 2006 22:01 UTC in reply to "disappointing"
arooaroo Member since:
2005-07-06

"Is it some license-ego thing on the part of the contributors (We won't do GPL?)"

I can't speak for the Apache guys, but this is my take. The Apache organisation have had their license for a long time and its even freer than GPL. They've made lots of libraries and frameworks that have been widely adopted by the Java community.

However, their software stack was always dependent on a JRE that was not compliant with the Apache license. This is the last piece of the jigsaw to have a full Apache stack. They believe in their license as much as FSF believes in GPL. Therefore, the GPL-based offerings are too restrictive for them and as much as they'd love to reuse, it doesn't conform, and regrettably, that means they have to leave it be.

So I don't think it's an ego thing. It's just what they need to do to fulfil their ambition to have a full Apache Java stack.

Reply Score: 5

RE[2]: disappointing
by Wes Felter on Mon 3rd Apr 2006 19:00 UTC in reply to "RE: disappointing"
Wes Felter Member since:
2005-11-15

But do any users really want "a full Apache Java stack"? Why? It sounds like many Apache projects (that are just duplicating other open source projects) exist for political, not practical reasons.

Reply Score: 2

Better links...
by Maciek on Sun 2nd Apr 2006 21:05 UTC
Maciek
Member since:
2005-11-15

I am not even going to comment about this "article". If you would like to check the progress of Harmony yourself, take a look at these automatically-generated status pages:

http://incubator.apache.org/harmony/subcomponents/classlibrary/stat...
http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-harmony.html
http://www.kaffe.org/~stuart/japi/htmlout/h-jdk15-harmony.html

Reply Score: 5

Harmony is not the only OSS Java
by arooaroo on Sun 2nd Apr 2006 21:48 UTC
arooaroo
Member since:
2005-07-06

Don't forget, VMs like Kaffe and Sable, plus GCJ have been around for a while. Harmony is about making a JRE (JVM + Class library) under the Apache license. This has caused all sorts of issues because it generally means it can't absorb much of the leg-work already achieved by GNU Classpath and Kaffe, et al.

So, if you want to play around with OSS Java, there are already avenues to pursue. If you want an Apache compliant, then you have to wait for Harmony to catch up.

I think Harmony is a Good Thing, btw.

Reply Score: 5

Java implementations
by TaterSalad on Sun 2nd Apr 2006 21:52 UTC
TaterSalad
Member since:
2005-07-06

It should be interesting to see how the open source java implementions come out and to what level they will advance. Between Apache's java, kaffe (not technically java), Red Hat's java compatible jvm, and Sun's own java for the different platforms I'd say the java wars will heat up before you know it. I could swear there was another jvm-like software called black chopper or something like that.

Reply Score: 1

...
by suryad on Sun 2nd Apr 2006 22:18 UTC
suryad
Member since:
2005-07-09

By the time that the JVM capable for 5.0 comes out Java 6 will be out. Some could see this as an advantage or a disadavantage but I think it is neither because the industry is devastatingly slow at upgrading to newer versions of software. I mean jdk 5 is so much faster than jdk 4 and has so many awesome features. But it is staggering to see how many companies have not upgraded...quite understandable though Walmart did it quite brilliantly. And now jdk 6 is about to come out with even huger performance increases. Honestly, I for one cant go back to jdk 5 after having tried the betas of jdk 6!

Reply Score: 3

RE: ...
by suryad on Sun 2nd Apr 2006 22:28 UTC in reply to "..."
suryad Member since:
2005-07-09

http://www.javalobby.org/java/forums/m92002004.html

A related discussion going on for those who are interested.

Reply Score: 2

PS3
by CaptainPinko on Sun 2nd Apr 2006 22:21 UTC
CaptainPinko
Member since:
2005-07-21

What really gets me excited is thinking that this may lead to a free implementation of Java on PS3/Cell. If you really will be able to install Linux on the PS3 then finally I could write some games that we could sit around the big screen and play. I hate fiddling with game-pieces but love board games in general, but hot-seat around a computer screen I find cramped. I believe this could be a really popular combo given Java's penetration and ease of use.

PS- Would there technically be any problem with an Apache JVM using GPL ClassPath .class-es? After all, they aren't linking to them, merely reading them, and in the case of JIT, compiling them but not distributing them. I really don't see the problem, but IANAL.

Reply Score: 2

RE: PS3
by suryad on Sun 2nd Apr 2006 22:40 UTC in reply to "PS3"
suryad Member since:
2005-07-09

When you say a "free implementation" what do you mean? JVMs from Sun are already free.

Reply Score: 2

RE[2]: PS3
by thebluesgnr on Sun 2nd Apr 2006 23:21 UTC in reply to "RE: PS3"
thebluesgnr Member since:
2005-11-14

See www.fsf.org.

Reply Score: 1

RE[3]: PS3
by CaptainPinko on Sun 2nd Apr 2006 23:42 UTC in reply to "RE[2]: PS3"
CaptainPinko Member since:
2005-07-21

That's exactly the sense I was referring to. I guess I should have clarified with by saying "OSI open source implementation" or something along those lines.

While I use Sun's implementation on the desktop, I doubt they'd be willing for people to make a Cell port; and if they did I doubt they'd let it out for beer-free.

Reply Score: 2

v RE[3]: PS3
by suryad on Mon 3rd Apr 2006 02:11 UTC in reply to "RE[2]: PS3"
RE[4]: PS3
by thebluesgnr on Mon 3rd Apr 2006 02:36 UTC in reply to "RE[3]: PS3"
thebluesgnr Member since:
2005-11-14

Java's VM is free...yes or no?

Not according to FSF's definition, which is what the parent was using. In other words, Java is not free as in freedom.

Does Java have a JVM for Linux? yes or no?

No. Linux ppc, for example, isn't supported by Sun.

Are Cell processors mainstream? yes or no?

Not yet.

Reply Score: 1

v RE[5]: PS3
by suryad on Mon 3rd Apr 2006 04:19 UTC in reply to "RE[4]: PS3"
RE[6]: PS3
by CaptainPinko on Mon 3rd Apr 2006 05:16 UTC in reply to "RE[5]: PS3"
CaptainPinko Member since:
2005-07-21

...other than certain platforms being ignored

I think you pretty much answered your own question:

so that we can support whichever platforms we choose to.

Reply Score: 2

RE[6]: PS3
by thebluesgnr on Mon 3rd Apr 2006 20:25 UTC in reply to "RE[5]: PS3"
thebluesgnr Member since:
2005-11-14

Grow up. You pretended you didn't know what CaptainPinko meant when he said Java isn't free, and when that was cleared up you invented that people are saying Sun is criminal for not making Java Free Software.

The thread started with What really gets me excited is thinking that this may lead to a free implementation of Java on PS3/Cell. and you're trying to turn it into a discussion about Free software. Troll.

Reply Score: 1

RE[7]: PS3
by suryad on Mon 3rd Apr 2006 21:54 UTC in reply to "RE[6]: PS3"
suryad Member since:
2005-07-09

So nowadays a person cannot have an open discussion without being called a troll? Are we in kindergarden?

All I was saying is I see why people say Java needs to be open source: because they want it to support obscure platforms. But is that a correct statement? Not really because it is the JVM that just needs to be ported and not Java itself. There is a big difference. That is why I kept saying Java is free! The language source can be downloaded but you dont need to change the language. You just need to change the JVM. How did I become modded down or considered a troll I will never know!

Reply Score: 1

RE[4]: PS3
by CaptainPinko on Mon 3rd Apr 2006 02:59 UTC in reply to "RE[3]: PS3"
CaptainPinko Member since:
2005-07-21

Does Java have a JVM for Linux? yes or no?
Yes, but to get good performance you need to JIT the byte-code and for obvious reasons this is platform dependent. So the bigger issue is there a JVM for Linux on PPC ?

Are Cell processors mainstream? yes or no?
Well, considering the expected number of PS3 units sold they could be the single most common processor sold in a few years (since they will be selling the exact chip for around 5 years, where as consumer chips are usually upgraded/replaced/EOL'd every 9-16 months), I would have to say that yes, the Cell is mainstream.

Seems to me that for almost every environment that is very popular and very mainstream there is a JVM which is free to download and free to use for however long as you want.
Well the thing is that the Cell is an unusual -by today's standard's at least- beast, and to get top efficiency you need to multi-thread your code. While a generic PPC JVM should work (as long as it doesn't use Altivec IIRC), an optimised JVM has much more potential. Since Java/ByteCode is fairly high-level it should be possible for the JVM to take advantage of the cores and maybe auto-thread the execution.

My main concern I don't see the incentive for any commercial entity to partake in this venture. However, I think the hobbyist community would jump on it in a second. But, the hobbyist community is loathe to donate their time to non-libre code. Therefore, I believe that for a top-notch JIT JVM we need an OSI-"open" JVM.

Reply Score: 1

RE[5]: PS3
by robilad on Mon 3rd Apr 2006 08:30 UTC in reply to "RE[4]: PS3"
robilad Member since:
2006-01-02

We've got gcj, cacao, jamvm, jikesrvm, IKVM and Kaffe on Linux-powerpc, at least. Probably some more ;)

cheers,
dalibor topic

Reply Score: 1

RE: PS3
by kamper on Mon 3rd Apr 2006 01:48 UTC in reply to "PS3"
kamper Member since:
2005-08-20

PS- Would there technically be any problem with an Apache JVM using GPL ClassPath .class-es? After all, they aren't linking to them, merely reading them, and in the case of JIT, compiling them but not distributing them. I really don't see the problem, but IANAL.

There would be no legal trouble with distributing classpath and harmony together. I'm about a month and a half behind on the dev mailing list reading, but to the best of my knowledge the classlib/vm interface used will be classpath compatible so it should be possible.

However, classpath will not be distributed as part of the project and so the combination will probably never be certifiable Java. They tried hard to come up with a way for Apache to distribute gpl'ed code, but the process was completely stalled when IBM and Intel came along and donated so much code and that was basically the end of it.

Reply Score: 1

RE[2]: PS3
by robilad on Mon 3rd Apr 2006 08:24 UTC in reply to "RE: PS3"
robilad Member since:
2006-01-02

The process was stalled on a few things:

We waited for a few months for the ASF to come up with an official policy for licenses they consider to be OK for using in Apache projects. Depending on who one was listening in ASF rumourmill, it was not clear if they did or did not consider LGPL or GPL+linking exception to be good enough, as there was an ongoing intransparent internal discussion. So we were waiting for a few months to see how GPL+linking exception and LGPL will be judged. Eventually, we gave up waiting. That still has not happened, though there is a draft since a few weeks. It says they are not good enough, afaik.

We meanwhile contemplated dual licensing GNU Classpath, but the ASF does not like dual licenses. In particular, dual licenses with GPL-something on them would apparently be scary for some proprietary software companies' lawyers. Yay.

We then contemplated licensing parts of GNU Classpath under the MIT license, which would have been compatible with both the GPL and the Apache license. But the ASF does not like the MIT license since it doesn't talk about patents. Sigh.

We then contemplated licensing GNU Classpath under the Apache license, but that would not have worked for the GPLd VMs, since the Apache license is not compatible with the GPL, so we'd have screwed most of our VMs out of a class library, or forced them to relicense as well. Forcing many of our contributing VMs to undergo a cumbersome relicensing procedure to satisfy some licensing requirement of the ASF, which they had nothing to do with, did not seem like a great idea.

We contemplated convincing the ASF that GPL+linking exception is indeed a valid license, that is used by gcc's code that's statically linked into the Apache OS X web server binaries distributed from Apache.org, as anyone with objdump, nm and grep can see. Unfortunately, Roy Fielding, a big fish at the ASF, does not understand that GPL indeed allows additional permissions to be granted as special exceptions, but prohibits adding restrictions, so that went, quite predictably, nowhere.

Eventually, we figured out that trying to find a common way with the one true Apache Way didn't move either Harmony nor other projects forward, so the Classpath folks went back to finishing the last missing bits of GNU Classpath (and we'll have WW2D running for the next release, says Mark: http://gnu.wildebeest.org/diary/index.php?p=156), so that we can finish implementing Java 1.5 this year. Meanwhile, Harmony started getting some steam of its own, and getting some contributions from various places, which has been pretty nice to watch. I've been helping along with some small things, but eventually ended up focusing back on Kaffe, as that is far more rewarding.

While we didn't (yet) end up sharing code, due to policy choices at the ASF (and not because of legal reasons, you are free to mix and match both GNU Classpath and Harmony), the work on Harmony had some pretty nice side effects: it helped make sure that the FSF fixes the incompatibility issue between the ASL2 and GPL in GPL3, and it also made sure that the FSF explicitely clarifies that adding permissions as special exceptions to GPL3 is really, honestly OK.

That may allow Harmony to use those libraries, if the Apache licensing gods can make sense of the GPL3. It's very, very hard to tell in advance.

Reply Score: 5

RE: PS3
by robilad on Mon 3rd Apr 2006 08:34 UTC in reply to "PS3"
robilad Member since:
2006-01-02

There is no legal problem. It's a policy decision at the ASF. As a previous poster said, the ASF wants an ASL2 licensed implementation.

cheers,
dalibor topic

Reply Score: 2

RE[2]: A step in the right direction
by anda_skoa on Sun 2nd Apr 2006 23:45 UTC
anda_skoa
Member since:
2005-07-07

While I support Harmony's development, Java is already supported just fine on almost every platform

Only if "supported just fine" does not require it to be installable and upgradable using the platform's software installations and upgrade mechanisms (if they exists)

I can understand why Sun is concerned about changes to the software itself, but I can't even remotely understand why they have those repackaging/redistribution restrictions

Reply Score: 2

dextar78 Member since:
2006-04-02

I couldn't agree more.

One of the main advantages of an open source implementation that's a COMPLETE j2se environment is that it can be installed & work 'out-of-the-box' with many OSes.

This would no doubt help the adoption of Java in general. Developers are more likely to use something that is easy for people to install & get their hands on.

I imagine this is one reason (I know there are also others) why Mono is doing so well on the linux desktop.

Reply Score: 2

Java is ok but
by Eric Martin on Mon 3rd Apr 2006 07:00 UTC
Eric Martin
Member since:
2005-11-11

What about a better version of C++/C ???

Reply Score: 1