Open sourcing Java and its effect in games

There is an article at ZDNet (http://www.zdnet.com.au/news/software/0,2000061733,39149502,00.htm) about Sun announcing that it will open source Java.

I wonder, how this will affect the java game development, if at all?? Will we be able to ship smaller VMs??

This has the potential to change many things, but as there will be no visible changes for I’d guess at least a year, it’s not worth worrying too much about them! :wink:

An interesting about-turn though. I wonder if the news sites have jumped the gun (again) and it’ll turn out to be either misreported or Raghavan Srinivas’ personal opinion, and will thus be retracted by Sun?

:o :o :o
From the article
" Speaking exclusively to Builder AU, Sun’s Java technology evangelist Raghavan Srinivas said an open source version of Java “will happen,” but declined to elaborate on timelines or specifics of licence arrangements."

Doesn’t exactly sound like an actual announcement…

Oh well…I guess I might have jumped the gun, then…

Anyway, I am interested as how games would be affected if such thing becomes a possibility.

[quote]“We haven’t worked out how to open-source Java – but at some point it will happen,” Srinivas said. However, he noted “it might be today, tomorrow or two years down the road”.
[/quote]
It’s nice to see, that Sun is still thinking about open-sourcing Java, but as long as there isn’t a clear statement I still have my doubts.

The free Java implementations are making good progress (classpath 0.9 with >60% JDK 1.4 compatibility released last month). If Sun really wants to avoid different versions of Java (their number-1-argument against Open Source) they should do the step soon.

Personally I think this is a bad idea, however I may be mis-interpretting what it would mean to Open Source Java. We as developers have enough problems, I don’t want to worry about some half-assed implementation showing up in my day-to-day tool set.

Well…my 2 cents in this Open Source ideia is that it could go either way, bad or good.

I agree with ZParticle that the Open Source movement might generate the so called “half-assed implementation”. However, if, through open sourcing, it become possible to customize, or create, Java VMs game optimized (both in speed and size), I would say “go for it!!”.

The VM size is, I believe, one of the major setbacks for the success of Java games, specially for web games, small games and freelance games.

[quote] We as developers have enough problems, I don’t want to worry about some half-assed implementation showing up in my day-to-day tool set.
[/quote]
I think you’re worrying unnecessarily. There are a number of ways Java could be open sourced and yet preserve compatibility. Open source the software but control the brand and TCK. If the GPL community want to call their implementation -Java- then it would have to be tested against the TCK, and so on.

Those worried about forks are also worrying unnecessarily IMHO. A fork may be an issue with a smaller userbase and a lesser known brand, but consider the size of the Java market, and the fact that a fork wouldn’t be able to call itself Java anyway.

Just my 2 pacific pesos of course.

I’m in the boat with the people who get scared at the idea of java going open source, I actually tried to build applets back in the day that could run in 1.0.2 applet viewer, in ie’s jview, and netscapes JVM (whatever it was, I think it was still mostly the sun implementation but who knows what verson of sun’s jre they started with and mostly they just seemed to add weird behavior to it anyway…). Each one worked pretty much the same, with only minor differences… but man those differences were a pain to deal with… I like the idea of there being people outside of sun being able to submit patches to sun with a dedicated team at sun keeping control of the actual distribution, but I believe that’s already possible right now, something like this would in theory provide more optimized bug free code. I definitely hate the idea of having to pick and choose what JRE to use like we do with IDE’s, if download size of the JRE is an issue now, dealing with 5 different JRE’s (possibly with their own little unofficial extensions even) would make for even more of a download, since javasoft office might like the sun JRE and javaperfect, the other office software, might run best (or only) on Billy Bob’s J ARE EEE.

I do have confidence after all the trouble with MS that sun will be very careful about the way java is open sourced, and that at the very least, tight restrictions on being able to call something java 1.5 would require meeting some pretty strict requirements on API compatability. I do wonder how sun would deal with the idea of extensions, probably by simply not allowing them (not sure that extensions would catch on anyway).

I’m having a hard time imagining a reason for any company to build a JVM, even for commercial sale, really I suspect that the limitations sun would pretty much have to impose to protect java, that the only benifit to open sourcing the core of java, is allowing companies to provide their own bug fixes vital to their own operation immediately instead of having to wait on a new release from sun, for a lot of businesses that use or would like to use java that alone would probably make it worth while and assuming most of these patches that get done get submitted to sun, might even speed up the process of sun releasing new JVM’s and even better, maybe even getting some new ports of the JVM to consoles (well, I assume if someone expressed an interest in porting java to a console, sun would probably jump through at least one hoop for them, maybe not a burning hoop like the tigers in the circus, but a hoop… so long as it wasn’t more than a foot off the ground and was addequately wide and tall that bumping your head isn’t a big issue… and by jump I mean more like step through the hoop).

In the end I hope I don’t regret whatever decision sun makes, I’ve got a lot of time into java, and I’m hoping that won’t be changing any time soon.

If you take a look at StarOffice (SUN’s) and OpenOffice (OpenSource) and take into account that both use the same open code base, I think there’s no need to worry about potential plans to make Java OpenSource. On the contrary. I don’t think SUN will give away Java, but use the good synergy effects of working together with a large and enthusiastic OpenSource community. The latter one will help SUN, and SUN will help them, so it is good for us all: us Java fans.

I have the dream that even our children are going to be able to use Java in the future. :slight_smile:

[quote]I have the dream that even our children are going to be able to use Java in the future. :slight_smile:
[/quote]
Pfft. Assuming you’re talking more than 10 years off, Java as a language will be long gone before then, and we’ll all be using something more powerful, more developer-friendly, and much more appropriate to the tasks of the day. I think the best you could hope for is that VM technology is still in there somewhere, and that Sun are still a big player in the language world. ;D

[quote]If you take a look at StarOffice (SUN’s) and OpenOffice (OpenSource) and take into account that both use the same open code base, I think there’s no need to worry about potential plans to make Java OpenSource.
[/quote]
That is quite quite different.

OO is a tiny little application that doesn’t do much. (Think about it: how much is there for a Word Processor to do? They don’t even have half the features of an IDE, and the same goes (to a lesser extent) for the other apps - ignoring all the half-arsed crap that MS put out to try and trick people into upgrading. Also, note that although some elements like Draw could be very complex, they aren’t by a million miles. If you’ve used Ventura etc you’ll know what I mean).

OTOH, Java is:

  • a complete systems programming language used all over the world by hundreds of thousands of PROGRAMMERS to build apps - of which OO is just one. OO probably represents less than a thousandth of a single percent of the apps that java would cover (if OO were written fully in java instead of just partially).
  • a runtime platform that is sufficiently close to being a runtime OS virtualizer that most other programming languages have converted to using this runtime to reduce their implementation efforts and boost their perfromance and reliability
  • a large variety of libraries and “extensions” that even under Sun’s authoritarian guidance have already bloated and sagged and started to go a bit mouldy round the edges (look at swing: Still a crap API in many areas, despite it’s brilliance in others).

If you take a realistic view: taking into account historical precedent in the IT industry, and a practical view: how incredibly huge java is and how incredibly hard it is to keep that world compatible, then I’m not sure how you could realistically argue that open-sourcing java is a good thing. At best there might be no net loss to the majority of us, and a net gain to those people for whom politics is part of their programming.

For all the arguments I’ve heard from those in favour of opensourcing java - which on the whole I agree are valid - not one has seriously addressed any big issues. People throw out lots of “little benefits” but seem unaware of the massive great Godzilla-sized problems that will step on the benefits and squish them before they do any good.

FWVLIW, tongue-in-cheek, my guess is that sun will open-source java / fully-support GPL java on precisely the day they decide they can’t afford to run java themselves any more and reckon that someone else needs it sufficiently much (e.g. a certain large cyan-tinted company) that they will step into the breach and Sun can carry on making money on services etc off the back of java without the cost of actually owning and looking after it.

Seems to me it works for linux which is arguably more complex than a jvm.

LOL now that’s a contentious statement.

Whilst trying not to make too many assumptions, I would hazard that you haven’t had much pain with linux? Most commentary from those that have used linux either “in anger” or in non-trivial production seems to be full of frustration, despair, anger, pain, and ever-defeated-hope. A large amount of which is caused by the insufficiently controlled and non-quality-assured “forking” due to opensource. I still haven’t found a vendor - anywhere - who is selling a linux distro that actually works.

Even debian (now I have some significant experience with it) is screwed up in many ways, and has such frustrating stupidity as no JVM simply because of people who don’t know how to read a legal document :(. Not that they are trivial to read, but they aren’t that hard, and the one in question is pretty short - AND THEY COULD HAVE ASKED SUN (which is what I did when I had almost the same questions…and I got the answers I needed. Go and buy Game Programming Gems 4 for proof ;)).

Well, look at (X)HTML. Is there any browser wich is 100% accurate? No. Not really. Alot of tiny differences… but they don’t make or break everything (at least not always). But with Java… well no, I just “don’t like” the idea to check compatibility with 5+ different vms on each platform.

If it get’s OS I could aswell switch to C/C++ were one programm usually doesn’t compile with another compiler. I need that about as much as cancer in my arse.

The way it is right now was actually my reason to pick up Java.

[quote]Most commentary from those that have used (A) either “in anger” or in non-trivial production seems to be full of frustration, despair, anger, pain, and ever-defeated-hope. A large amount of which is caused by the insufficiently controlled and non-quality-assured “forking” due to (B). I still haven’t found a vendor - anywhere - who is selling a (A) that actually works.
[/quote]
If you replace A and B with other words you’ll find that it’s valid for most OS’es which are available - Windows springs to mind - but I couldn’t say my “angers” with silly boxes like AIX or HP Unix boxes or Amigas years ago have been any better… Also the number of manyears gone into an OS has to be taken into account etc etc.

Probably it’s mankind which is just incapable of producing anything without errors…? We’re just not living in a perfect world I’m afraid. :slight_smile:

Probably it’s mankind which is just incapable of producing
anything without errors…? We’re just not living in a perfect
world I’m afraid.

Sure. But it’s easier to take just one set of bugs into consideration instead of x bug sets.

What “Godzilla-sized problems”? Forking seems to be the one that is bandied about most often. I still believe forking is less likely when you consider the huge developer base – and could potentially be controlled by not ‘opening up’ the brand and TCK. I also think any of these ‘big’ issues could be satisfactorily resolved by the JCP.

As to whether any of the problems are actually ‘Godzilla-sized’, that is very much a matter of perspective. From my point of view some of the benefits are considerably more than ‘little’.

well if java is open sources we might be able to have smaller VM.

But that gain will be lost with the fact that we have to ship the VM with every application to make sure that all users can run it.

But then again I prefeer my VM as a black box not wanting to worry that I have to debug that as well. Just like me operating system (yes its not linux).

As an application programmer i want to focus on the application NOT 2000 other things. Thats why I love java as a language.

[quote]OO is a tiny little application that doesn’t do much.
[/quote]
You’re not serious, are you?

[quote]For all the arguments I’ve heard from those in favour of opensourcing java - which on the whole I agree are valid - not one has seriously addressed any big issues. People throw out lots of “little benefits” but seem unaware of the massive great Godzilla-sized problems that will step on the benefits and squish them before they do any good.
[/quote]
That’s so abstract, that one can only guess what you are talking about. (What are the little benefits? What are the Godzilla problems?)