Hmm. Good question. Not sure I'm qualified to answer it, but here's an attempt: if I download the Apache web server code, change it slightly (creating a fork), can I call my fork Apache?

The answer is no (I believe, based on my reading of the license). Which doesn't make it any the less "Open Source".

And that's not a hop, skip and a jump from controlling the Java brand and requiring anyone who wants to distribute their own JVM (as a Java VM rather than embedded in their own product... e.g. in a game) from doing so unless they've satisfied the TCK requirements.

Maybe it is Sun's fear that a free JVM implementation is becoming more attractive than theirs which would finally lower their reputation as the Java-creators. Has anyone of you tried to have multiple JVMs installed? Can you switch easily between them?

Yes, I have several ones (seven?) installed.

Quote

Is it possible to install Java3D/<enter your favorite Java library here> without hassles? Do you need administrative access to do so?These a some points current Sun JVMs fail to do right ...

If you need administrative access depends on where you installed it. If I install it in my home dir I don't need administrative access.

Quote

Some final thoughts: It may be true that kaffe sucks because it is supporting Java 1.1.4 only BUT I would never dare to affront people who sacrifice their lifetime to do a favor to their fellow men!

1.1.4 is just the current version number of kaffe. Btw. 1.1.5 can be expected soon.

Well at the moment it's rather difficult for me to download a nightly build,...

Yes that much is true - we only have access to the source for releases. Good point.

Quote

Is core java (just for example) contributed to by anyone other than Sun developers?

I don't suspect there is a significant amount of contributions from anyone other than Sun licensees. (E.g. we know that Apple has contributed technology such as the shared object store that appears in 1.5.) But nothing stops anyone from contributing a patch along with their bug report or suggesting alternative algorithms in any other way. Leaving the decision to Sun in terms of what gets integrated.

It seems to be that though Sun has not 'Opened' their source in an accepted OpenSource way, the only real barrier to a free and Open implementation is perhaps the cost of the compatibility tests.. which of course costs Sun money to validate...so I see no good reason why they shouldn't be allowed to charge a reasonable fee to validate a potential JRE to get the Java brand.The GNU project is slowly coming along, which is great.. hopefully one day it will work well enough to actually use. Why is it that Kaffe didn't keep up to date then?The major whining that seems to be coming from the OS community is that Sun doesn't give them free stuff - which in a general sense is complete crap, since Sun has given quite a bit to the OS community - just not Java.

Quote: Some final thoughts: It may be true that kaffe sucks because it is supporting Java 1.1.4 only BUT I would never dare to affront people who sacrifice their lifetime to do a favor to their fellow men!

1.1.4 is just the current version number of kaffe. Btw. 1.1.5 can be expected soon.

sorry for parroting someone else but the intention of the sentence is not dependent on what version number kaffe (or any other incomplete free/opensource project) is.

Quote

The major whining that seems to be coming from the OS community is that Sun doesn't give them free stuff ...

Uhm no, I do not think that this is true. Without wanting to sound picky but it is primary the *free* software community 'whining' for a free implementation - their reasons for that are simple and publicly accessible. I think you all know where to look for that ... if certain people call that webspace enemy territory its their problem.

The trouble is that some prominent Open Source activitists seem to use a rather restrictive definition.

There is only one definition of Open Source, but of course there can still be different point of views. AFAIK the definition doesn't say anything about how a project should be organized, so Sun can continue the JCP, if they like.

I think this is an important point from that definition doc, in the light of worries of forking:"Accordingly, an open-source license must guarantee that source be readily available, but may require that it be distributed as pristine base sources plus patches. In this way, 'unofficial' changes can be made available but readily distinguished from the base source."

Quote

so I see no good reason why they shouldn't be allowed to charge a reasonable fee to validate a potential JRE to get the Java brand.

Neither do I. And I also don't see why open sourcing Java makes any difference to this, assuming the 'brand' & TCK are still under Sun's control (which I imagine they would be).

For those of us who are lucky enough not to worry about compatibility issues, we get to download a 'nightly' for the latest and greatest bug fixes and enhancements and can compile our own version of the JVM/SDK (I'd be happy to do this cause I do it already with my OS... gentoo).

Quote

download a nightly build, or do a CVS update, of Java and compile it on my own machine

Quote

What is the problem with everyone doing his specialized version of Java? Does anycone care if I download kaffe change some opcodes and compile a few classes with that?

This scares the **** out of me as a java developer, because my stress levels go through the roof even just thinking about that possibility. Support is hard enough to fund on many projects at it is - throw into the equation that a lot of your uses will be seduced (or, more usually, tricked - the e.g. the FSF and GNU people are certainly not paragons of virtue; c.f. ESR's utter BS open letters to sun) by crap like the current open source jvm's.

As long as you can't see that, I agree it's hard to see what the problem is - why do people like me fear it? - but you're talking about taking us back to 1980, and removing one of the top three reasons I develop in Java:

There is only one platform

Think about that. Hard. Even now, this is not perfect - x-platform issues rear their ugly head occasionally (for me, in particular, the first 3 versions of Sun's NIO were radically different on win32 and linux). But, when you start having a pantheon of JVM's, it's just the same as coding in C and all the nightmares return.

You *cannot* say "well, only support the Sun one then" because the reality (sadly) is that you have to follow your customers: if 30% of your target market are using some GNU JVM that turns out to be fatally broken in some way, you have to support them or write off 30% of your custom (which may well be enough to remove your profit margin entirely).

Has anyone of you tried to have multiple JVMs installed? Can you switch easily between them? Is it possible to install Java3D/<enter your favorite Java library here> without hassles? Do you need administrative access to do so?These a some points current Sun JVMs fail to do right ...

A good point. I've been using IBM's JDK's since 1997, and they've often spurred Sun to work harder at their own JVM. However, I question how much e.g. GNU's JVM would ever spur Sun on - I doubt anyone at Sun would do anything but laugh at the suggestion that they might have the resources to show up Sun, who have full time salaried expert staff for this.

Of course, if Sun further cuts the number of java staff they employ, the landscape starts to undergo a seismic shift, and you could see me changing sides in this argument (the problems don't go away, but if Sun stagnates their development, and IBM etc do too, then it's a case of "the lesser of two evils")

Quote

And now my favorite topic: Java wants to be platform independent. Which is obviously only true for the well-known 3 major OSes and their 1-2 major architectures.You could be argueing that there is no market for such a small group of user! Fine I say. Lets have an open-source JVM and people will fix the issue on their own - if they want so.

Those who've been around long enough will remember that someone at IBM (can't remember who, I remember finding his page via the internal directories) used to host a page listing JVM's for all platforms. I remember counting something in excess of 20 different platforms (including DOS and RiscOS, both of which I did some (limited) development for in java).

The fact that all these died out and were never resurrected seems to me a testament to the lack of demand and interest on non-major platforms; if no-one can commercially justify the cost of a thing, then you have to go to some length to prove it's worth doing even as an opensource project (look at SF.net and see how many "intersting" os projects just died for lack of interest / input / effort / etc. What good do these do the world? Even the SF admins have started deleting old os-projects...)

This scares the **** out of me as a java developer, because my stress levels go through the roof even just thinking about that possibility.

If my changes to some VM scare you then you probably did not get the point or I was not clear enough. I wanted to say that since no one is interested in a deviation no one will notice or care. Someone said with an OS JVM princec can have his structs-supporting version but who cares about that when the majority is not interested in that. IMHO projects like classpath, kaffe and SableVM are trying to do their best to be compatible.

Compared to most sofware houses marketing adverts OS/free software projects are a little bit more honest:- "... but Sun controls the Java trademark, and has never endorsed Kaffe, so technically, Kaffe is not Java."

- "Kaffe is not the best Java virtual machine for developing Java applications, as it lacks much in the way of documentation, compatibility, ..."(www.kaffe.org)

... seduced (or, more usually, tricked - the e.g. the FSF and GNU people are certainly not paragons of virtue; c.f. ESR's utter BS open letters to sun) by crap like the current open source jvm's.

Well, everyone has to think and evaluate on his own: RMS's comments about the Java trap or ESR'S open letter. A lot of 'high-ranked' people had to say something the last weeks (eg. Gosling, Schwartz, ...) and all of that has to be judged. Actually I suppose we have more in common when talking about these guy's utterances only.

Quote

I doubt anyone at Sun would do anything but laugh at the suggestion that they might have the resources to show up Sun, who have full time salaried expert staff for this.

There are two things inside I want to address:

1) You mean Sun would laugh the same way MS classified Linux a toy?

2) I doubt salary alone guarantees good software. What about Apache Tomcat? I don't know who is actually paid in the ASF but I know that Tomcat has the hell of a good reputation - would you feel better if the opensource JVM would be given to the ASF for development? (I would )

---

And now again to the platform stuff: I don't know what the major JRE's depend on (archicture details etc) and how complicate it would be to port them to new other architectures. Since the JRE 1.5 beta is available for a greater variety of OSes (or OS variants) and architectures (eg x86_64, sparc64) than any of the VMs before I suppose Sun has made their homework well. But thats not enough. Why I dare to say that? Simple enough: gnome runs on more platforms."huh?" You might wonder what the gnome desktop has to do with Java and you are right I have not mentioned that until now: The gnome desktop is written in large parts in C.As we all know who escaped C successfully to live in the world of fine interfaces, compatibility to the max and all that, C is a hell to maintain.Such a large project as the gnome desktop is considering to write future parts of that project in a managed language. And now guess what is my favorite? And how could Java be that language if it does not run where the gnome desktop already does ..

Oh and gnome is THE showcase project of the gnu and GPLed.

Relating to gnome I find this a paradoxon: - Sun is involved in gnome development (just check the network applet's about box ) - Sun uses the gnome desktop for its own Linux distribution called JavaDesktopSystem - Ximian/Novell (who are involved in gnome too) plead for C# as the language of choice and Miguel de Icaza seems to be pretty sure that he can convince the gnome people to do so ....

uhm what?A gnome desktop using a CLR on Java Desktop made by Sun?

*headcrash*

java.lang.UnsupportedOperationException: Can't think of that! at java.util.prefs.FileSystemPreferences.removeNode(FileSystemPreferences.java:659) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at

This scares the **** out of me as a java developer, because my stress levels go through the roof even just thinking about that possibility.

...

You *cannot* say "well, only support the Sun one then" because the reality (sadly) is that you have to follow your customers: if 30% of your target market are using some GNU JVM that turns out to be fatally broken in some way...

Hmm. It doesn't scare me. Primarily because I could (potentially) build a JVM with the latest versions of GCC + whatever other libs I've got on my box that are about 50 steps past the lowest common denominator Sun is building with, and undoubtedly see a performance improvement. Cool/geekness factor mod+1.

However I do see your point in regard to VMs running on customer machines that have been patched with some dodgy-ass version of Java. But your example is ...somewhat... spurious if the 'GNU JVM' (or whatever) isn't allowed to call itself Java unless it's been TCK tested.

Developer: This software needs Java 1.7 to run.Customer: It doesn't work on my machine.Developer: What version of Java are you using?Customer: Ermmm.... GNU NotJavaBecauseWe'reNotAllowedToCallItThatCauseWeChangedSomeStuff.Developer (reaching for gun): start running...

You don't necessarily have a pantheon of VMs just because it's been open sourced. Actually let me rephrase: you might have a pantheon of VMs but they won't all be allowed to call themselves Java. And let's face it, developers are the only ones who are going to bother to install a custom VM with weird patches. Standard consumers are going to download an official build and it'll be business as usual. And if you're developing for the normal market, you're not going to use a patched VM anyway (unless you're nuts).

I could see Enterprises using patched VMs. Probably using patches support clustering or some other technology that has been developed but not (yet) incorporated into the official version. And I see that whole idea working better in an open source java world.

Quote

Those who've been around long enough will remember that someone at IBM (can't remember who, I remember finding his page via the internal directories) used to host a page listing JVM's for all platforms. I remember counting something in excess of 20 different platforms (including DOS and RiscOS, both of which I did some (limited) development for in java).

The fact that all these died out and were never resurrected seems to me a testament to the lack of demand and interest on non-major platforms...

...or a testament to the fact that they weren't open source (?? correct me if I'm wrong. I do recall trying out the DOS VM at one point but I doubt it was source-based), weren't updated often enough, so no one using those platforms felt motivated enough to use them...?

And let's face it, developers are the only ones who are going to bother to install a custom VM with weird patches. Standard consumers are going to download an official build and it'll be business as usual.

Just like they download and install a "Standard" version of Linux right now :)?

Let's face it Sun's Java has bugs.. other JVMs that pass the compatibility tests will have bugs - likely different bugs. Already there are bugs in Apple's 1.4 that they won't fix on-purpose so that they are compatible with Sun's bugs!

How many 'users' have IBM's JRE installed? Multiple JREs are fine... but the more that there are the more important it becomes to control the JRE that you deploy your application with if reliability is a concern.

I think ultimately it would be in the best interest of Java developers if the JRE development remained focused on a small number of implementations. With a 'standard' version to measure against. I think me have that now. Open Source java exists already in the sense that the GNU project is Java that can't call itself Java *yet*. The Open Source community can flock to that implementation and finish it off, make it rock... and I'm SURE they will be able to come up with the money to get it tested if they get it to a point where it would be practical to think that they would pass.

It's "agree to disagree time", because I don't think a disparate project like Linux the OS (as opposed to Linux the kernel) compares to a Java the platform open source project -- where compatibility would have to be proven in order to allow usage of the brand.

In Linux we had LSB (linux standard base) well after the fact. In OS Java we have TCK (and the JCP) before the fact.

Obviously you're right though. If GNU classpath was completed we'd potentially have open source Java right now -- I guess what we're really arguing about is that the official Java implementation (i.e. Sun's) along with HotSpot VM and so on, be made open source. I realise that there are numerous issues on that front (ala McNeilly's "we'll do it when IBM opens DB2" comment)....

...however it's hard not to get starry eyed over the potential benefits to me personally (and of course, I am the centre of the universe )

On re-reading what I wrote, I think it sounds harsher than intended (perhaps that fear of the hell of x-platform testing temporarily took hold of my sense? ).

I phrased them in an extreme sense to try and make the points as clear and obvious as possible - for instance, it's not fair in such a discussion to be contemptuous of the GNU jvm work (even though today it really is crap) because we're talking about the future, and they could theoretically have it perfect by then. But in terms of explaining the POV that many people have that is against os-ing java, spelling out a potential yet realistic doom helps make it easy to understand, I think.

I'm actually pretty confident that Sun understands well the issues I've outlined above, and that they won't os java. At least, not without some major protective layers. Java is a major (indirect) contributor to their bottom line, and I hope they can't risk doing something to java that causes enterprise contracts (hardware, software, and services) to desert them even in small numbers (when a contract is worth multiple millions, losing just one is devastating ). I could be completely wrong - maybe Sun's execs are weaning themselves off java dependency - in which case I really am scared (time to start learning C#, methinks...)

everyone is thinking about applications etc, but as this is a "gaming" forum, il put my voice in. Whats going to happen to applets if Java was opensources? Forking...etc would virtually shatter applets because they need libAlakazam to work, others need Jave (Notice the E instead of an A ) in order to work.

A big corporation from Redmond created the biggest fork of Java (named .NET) ever which is gaining popularity day by day and you feel threatened by someone's personal Java deformation experiments which will vaporware for years ...

Our do you think that the advent of mono will bring massive diversification in the .NET world?

--

In some earlier posts someone said it would be better to have a relatively small amount of JVMs to support. If you want that then learn C#. Its syntax is extremely similar and you can code for one platform only for years without worrying to exclude a vast userbase.

IMHO Java is THE answer to monocultural software. It stands for ubiquity and diversity. It makes software engineering and development enjoyable and I am sure the majority of Java enthusiats would punish a non-conforming VM with legitimate ignorance - just as it was done with the MSJVM.

JasonB said this already but it seems that some people did not get it: There is a difference between an application claiming to run Java Bytecodes and a TCK (test compatibility kit?) approved JVM. The first is not allowed to call itself a true Java VM and any opensource VM will have that fate for a really long time. Same goes for anyone who releases a modified Sun-based VM (assumed its opensourced).

In some earlier posts someone said it would be better to have a relatively small amount of JVMs to support. If you want that then learn C#. Its syntax is extremely similar and you can code for one platform only for years without worrying to exclude a vast userbase.

I meant on a per-platform basis. I didn't mean to imply that Jaca should only support a small number of platforms, just that a zillion JREs for Linux is likely to result in a lot of wasted effort as well as potential nightmares for Java delevopers.

And to darkprophet: see previous (and subsequent) points about forking and TCK tested JVM's. As for applets, I'd say the battle was already lost. I'd be darn surprised if anyone is doing anything -serious- these days using applets (and by serious, I mean professional, paid development), whereas there'll be plenty out there being paid to do flash, shockwave, etc. Even if I'm wrong I'd put money down that it's in the minority.

I'd be darn surprised if anyone is doing anything -serious- these days using applets (and by serious, I mean professional, paid development), whereas there'll be plenty out there being paid to do flash, shockwave, etc. Even if I'm wrong I'd put money down that it's in the minority.

How about the live results pages for the recent French Tennis Open (done by IBM)? That seemed to be using an applet. It worked very well.

I have read the "previous (and subsequent) points about forking and TCK tested JVM's", and what im saying is that applets are very frigile, I agree that java has lost the battle in interactivity in webpages, but why should applets cease to exist? On what merrit can you tell the people of IBM your out of business, go develop the open french tennis thing in shockwave?

java has lost the battle in interactivity in webpages, but why should applets cease to exist? On what merrit can you tell the people of IBM your out of business, go develop the open french tennis thing in shockwave?

Yeah, I allowed that 10% of applets are appropriate because there are situations for which they are perfect (and I'm thinking specifically of complex games/apps, not the crummy pong applets etc).

E.g. summitsoccer.co.uk is a web-based football game. It was deliberately done this way even though the game needs a custom GUI eventually becuase this allows a cunning rapid development cycle:

1. Write all logic in the server, save 6 months by NOT writing a GUI client, and just use HTTP for communication - everyone has a web-browser already! 2. Create individual parts of a GUI client as applets, and gradually replace chunks of runtime-generated HTML + javascript + multiple pages with single applets 3. ...carry on until most things have an applet, and have been running live and debugged for an extensive period of time; feedback from players has shaped each individually. 4. ...gradually convert the individual applets from using HTTP (inefficient protocol) to proprietary and/or standard gaming protocols (much more efficient) 4. Take the source from the applets, create a java GUI app. Amount of coding required to create the app is now minimal - especailly since you have already done months of unit testing, and your bugs will be much much easier to locate.

To be honest I think Sun really lost out with applets. Once applets appeared in browsers there should have been no point to many of the other plugins - most of them should have been implemented AS applets. It's a shame it didn't work out that way.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org