Apache undertakes open source jvm

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
http://www.theserverside.com/news/thread.tss?thread_id=33795

I know I've argued against this in the past, but some of the points you guys have made, as well as other experiences I've had lately, made me realize that this would be a really good thing.

Of course there are many attempts at open source jvms out there that just can't reach a level of compatibility that would actually make them useful. I'm hoping that Apache's organized processes and industry support (from IBM in particular) will allow them to actually succeed.

From that announcement:
a freely implementable specification of a modular VM and class library that allows for multiple, independent implementations
That sounds interesting because it would potentially allow people who don't like the apache license to easily create a new implementation, if it actually turns out to be simple enough (that's a big if). Particularly I'm thinking of the bsd folks, but do bsd users even care about java?

Edit:
CNet coverage

Preliminary FAQ

An opinion from a Sun dude
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
The interesting thing from the ensuing debate is that most of the people thought that it was unneeded, that java is already "open-source enough". What are your arguments to support/counter that opinion?
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: kamper
The interesting thing from the ensuing debate is that most of the people thought that it was unneeded, that java is already "open-source enough". What are your arguments to support/counter that opinion?

Java as a language is open-source, but the VM implementations are closed-source as far as I know.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: MrChad
Originally posted by: kamper
The interesting thing from the ensuing debate is that most of the people thought that it was unneeded, that java is already "open-source enough". What are your arguments to support/counter that opinion?

Java as a language is open-source, but the VM implementations are closed-source as far as I know.
There's nothing open source about the language because there is no free code that represents the language. The spec is free for viewing and implementing but I imagine that commercial implementations have to pay to get certified. Obviously open source implementations can certify for free.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: Nothinman
Good, maybe the JVMs will start sucking less once this gets popular.
Thanks for your helpful input :) But really, how about some specific requests so that it can be made more useful for everyone? Actually, I'd like to hear what you would say to the professional developers in that thread who say that sun's jvm is good enough for them.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I don't have any specific requests because I don't use any java apps because they all run like crap and I don't know enough about how the JVMs work to make a bug report that wouldn't be closed and marked as a troll.

Actually, I'd like to hear what you would say to the professional developers in that thread who say that sun's jvm is good enough for them.

Mostly just that an OSS implementation of anything is good for competition. If the OSS developers can fix some of the areas about Java that make it perform so poorly then Sun will have to follow suit. And if Sun happens to go under tomorrow, after the rejoicing we would still have a JVM that is under active development and supported, besides IBM of course. Actually I wouldn't be surprised to see IBM switch over to the free JVM once it's matured, but that'll be a few years.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
When you talk about poor performance, I assume you are meaning laggy desktop performance? I think you've also mentioned software distribution mechanisms as a current problem with java right?

If sun went under tomorrow java would not suffer as much as I think you think it will. Pretty much all of the really big software companies are heavily invested in it and they would not let it drop without an alternative. IBM would probably be free of the licensing shackles that hold back their jvm right now and they might very well replace sun (and not with an open source implementation). BEA also produces a good one and if there were need for more, someone would step in. Of course having a good open source implementation can only do good (as long as it conforms to standards).

I don't think IBM will switch over to a free jvm all that soon, unless sun actually allows them to donate their code. Maybe they'll lend their expertise to this project though. But I get the impression that their jvm is too tied into WebSphere and the related dev environment for code donation to be a possibility. I'm just starting to get a look at IBM java at a new job.
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: kamper
Originally posted by: MrChad
Originally posted by: kamper
The interesting thing from the ensuing debate is that most of the people thought that it was unneeded, that java is already "open-source enough". What are your arguments to support/counter that opinion?

Java as a language is open-source, but the VM implementations are closed-source as far as I know.
There's nothing open source about the language because there is no free code that represents the language. The spec is free for viewing and implementing but I imagine that commercial implementations have to pay to get certified. Obviously open source implementations can certify for free.

What about Community Source licensing? It looks like the Hotspot VM source code is included in the download.

You are right, the base class implementations are not open source. I'm not sure why I thought they were.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
True, sun has been making steps towards making their jvm more open but of course it's still a long way from where you could call it open source. I think you are free to reuse the source you get in src.zip with the distribution (been reading lately that bea used alot of it for jrockit) so you would be partially correct I guess. But much of that code is useless because it refers to proprietary sun classes under the hood. I've also been reading that mustang (6.0) is somehow going to be more open but I don't know any details.

Sun's big argument against open sourcing their jvm is that it will supposedly cause the standard to break. I used to buy that before I was aware of all the other jvms, but now I don't get it. It's the standards and the compatibility test suite that keeps everything together, not sun's particular implementation.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I think you've also mentioned software distribution mechanisms as a current problem with java right?

Maybe, I tend to avoid anything if it's Java based. But, on the subject of software distribution, Debian doesn't have a JVM in even the non-free repositories and the only reason I can think of them doing that is if Sun put some restrictions on distribution. There are some free JVMs in there like kaffe and jamvm, but I don't think they work very well.

If sun went under tomorrow java would not suffer as much as I think you think it will.

I never said Java would suffer, just that people would rejoice and the Sun JVM would be lost.

Of course having a good open source implementation can only do good (as long as it conforms to standards).

Another benefit that I hadn't thought of would be JVMs that run on Linux on platforms that Sun doesn't like supporting like sparc64, Alpha, HPPA, MIPS, PPC.

I don't think IBM will switch over to a free jvm all that soon, unless sun actually allows them to donate their code

Depends on how well the free alternative works, IBM might not have to donate any existing code to use it.
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
I can't find a link on the apache site, but I'm guessing it works with that apache 2 crap. And it probably has that horrible license too...
 

znaps

Senior member
Jan 15, 2004
414
0
0
This is a whole J2SE implementation guys, not just another JVM. Seems like quite a few individuals involved with current open source JVMs and compilers are seeking to get involved in it from the get-go so it should be interesting. It's gonna be a huge project though...Sun took 10 years to get Java to where it is today, so we won't be seeing much anytime soon.

Sun's licensing and distributing restrictions are the biggest problem for me. Every Linux distro out there should come with a JVM for Java apps to run seamlessly.

As far as the performance, since the 1.4.2 release I don't have a big problem with it, but Java apps do use up too much memory. It's getting to be less of an issue with advances in the base memory requirments of a desktop PC ("Hey thanks Microsoft!" - Sun), but if Java is to be more popular you should be able to run 4 or 5 Java apps at the one time and not see any performance issues with paging etc..If they can get that sorted out I'd be happy.

 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: znaps
This is a whole J2SE implementation guys, not just another JVM. Seems like quite a few individuals involved with current open source JVMs and compilers are seeking to get involved in it from the get-go so it should be interesting. It's gonna be a huge project though...Sun took 10 years to get Java to where it is today, so we won't be seeing much anytime soon.
But much of that time was spent engineering the spec, which apache won't have to do at all. Alot of the time would also have been spent gaining experience on how to implement this sort of thing and there should already be a good body of experience behind this project, even if it's not as good as Sun's yet. Not that I really believe this project is going to be much good quickly either.
Sun's licensing and distributing restrictions are the biggest problem for me. Every Linux distro out there should come with a JVM for Java apps to run seamlessly.

As far as the performance, since the 1.4.2 release I don't have a big problem with it, but Java apps do use up too much memory. It's getting to be less of an issue with advances in the base memory requirments of a desktop PC ("Hey thanks Microsoft!" - Sun), but if Java is to be more popular you should be able to run 4 or 5 Java apps at the one time and not see any performance issues with paging etc..If they can get that sorted out I'd be happy.
A lightweight vm for client side stuff would be fantastic (low startup time and low memory usage) and hopefully this is an area that gets seriously addressed, even if someone has to fork the apache implementation (that's getting a little ahead of ourselves though :)). There has been talk of a super-jvm that can run multiple java programs inside the same vm to save on resource usage. The problem with that is that you get to the point where you're reinventing the operating system. I'd rather see something with a high degree of os integration in order to leverage current os technology (specifically threading libraries), so long as the interface to the java program remains completely generic.
Originally posted by: n0cmonkey
I can't find a link on the apache site, but I'm guessing it works with that apache 2 crap. And it probably has that horrible license too...
This project has not even shown up in the Incubator yet but it should be soon. But you can be sure that anyone who doesn't find current apache software palatable will have no interest in this project, at least the specific implementation. In order to succeed it's going to need to take full advantage of the system that the foundation has built. The only glimmering hope is that mention of an open specification (where "open" hopefully means "public domain") that makes it easier to reimplement the thing piece by piece. Give the bsd folks a step by step guide on how to do it and someone might take the carrot :p But given the challenges in front of this project already, I won't be holding my breath.