Distributing Sun server-vm

Still missing the technical point, people :confused:

“AlienFlux.exe” is basically “javaw.exe” but hardcoded to load a particular set of jar files and execute a particular class. Now what if that particular jar file were called, say, “puppyvm.jar” and it installed as a service on the machine and took the bindings to .jar away. Etc. There are just so many ways that Sun could be legally abused by the fact that the whole VM is designed to do what it does. Which is why, right now, I’m getting away with it, on good faith, because I’m not abusing it much.

Cas :slight_smile:

[quote]Now what if that particular jar file were called, say, “puppyvm.jar” and it installed as a service on the machine and took the bindings to .jar away. Etc. There are just so many ways that Sun could be legally abused by the fact that the whole VM is designed to do what it does.
[/quote]
My point is just that we have to cover cases like that, before making any letter/proposal.
If the license was clear that it should be impossible and illegal to use the private, embedded JRE for something else than having the shipped app run it in, your example would be clearly illegal, but AlienFlux.exe would be perfectly legal.
So what technical point am I missing, exactly? ???

The point is that just because it works in my situation doesn’t mean that it can ever work in the general situation because an embedded VM is capable of… well, anything. How do you define what it can and cannot do in a reasonable way, taking into account the future as well? Pretty damned hard.

Cas :slight_smile:

Sure, it is hard.
We can try to make things clear and future-proof though, and if it turns out that there will always be cases where allowing a modified embedded VM is harmful, then it’s probably of no use bothering mr. Schwartz. I still think it’s possible to make a clear cut definition though, and worth persueing.
Making sure the program you are shipping is the only program which can run in the private, embedded, modified JRE should be a good starting point. It shouldn’t even be possible to type “java -version” on that JRE because it will report it is java, which of course, it isn’t.

Still missing the point.

AlienFlux -version anyone? AlienFlux -jar myl33tgame.jar? Why can’t I just basically rewrite javaw.exe and the installer, call it “mocha” and then I’ve basically got my own VM product for running “LWJGL Games” and Sun don’t get a bean? It’s impossible to contain without becoming a problem for the licensee all over again. Of course I don’t really care either way but I’m certain that the lawyers would laugh it out of the office.

It’s their own fault really but it doesn’t help us one bit.

Cas :slight_smile:

My point is exactly that it’s at least very hard to cover everything and that we should not be sending any letter to Schwartz without having a sensible proposal. But, the situation can not be contained already, otherwise Sun would have summoned you to take AlienFlux offline a long time ago.
The mere fact they didn’t, makes it seem that they acknowledge there is a problem in the license. The fact that they keep silent about it is a problem in itself. There must be a clearly definable reason why they silently ‘allow’ for AlienFlux. They only need to include that in the license, whatever it is.

Er, I think it’s more to do with the fact that I am a mere dust mote on the internet, and I’ve been about as successful as a very unsuccessful thing :slight_smile: I fly under the radar because I haven’t even got off the ground yet!

Cas :slight_smile:

Their reason? It would be bad for their reputation.

Cas has quite some influence in the slowly emerging client-side java gaming community.

They’d lose more than they’d win.

That’s not a reason, it’s a clear sign that there’s a problem, caused by their license restrictions.
If there was no problem, they could simply stand strong by their license. Now they have to make exceptions and be vague about it, how great is that?

What about:
If a crippled vm get’s distributed as a Java-VM, isn’t Sun responsible for it working correctly? So people could start calling Sun and asking to repair “their damned vm” - pretty bad I guess for Sun, if they can’t. If you on the other hand rename it to AlienFlux.exe, it’s not Sun that get’s the blame anymore, if it is not working. It’s simply no Sun Java VM anymore.

Arne

The issue is not my game breaking the VM on a machine, it’s the difficulty of figuring out a license that will prevent the technology simply escaping into some other vendor’s hands to do with as they see fit. Which any relaxation of the license which would allow me to ship Alien Flux as it is, would do. That’s the problem and I can see it’s a thorny one for Sun to solve nowadays. The real issue is that the TCK and JCP groups are so monolithically slow and turgid at getting anything genuinely useful done in this area - and allegedly expensive too. My suggestion is they get off their collective arses, take 1.4.2 and cut all the bits out as I have done and literally do the same to the specs and tests to fast-track it and then sell licenses to distribute it to developers just like any other bit of boxed software.

Cas :slight_smile:

You mean publicity benefits from indie < 5Mb games ? You must be kidding. No offense man but they know much better than you and me how they should do their publicity.

The only way i see Sun getting some credibility on the games field is when i see a game like Oblivion made in java and running on a console. And that is if the competition hasn’t done something better than the java vm in the meantime.

It’s obvious they aren’t betting too much resources on the games filed. I mean just having a couple of guys working on a opengl port. That’s nothing compared to what they can really do if they want to. Why would they bother with indie games if they don’t even bother with big games ?

My advice just enjoy using the java vm.

Big games mean big, riskful investments in an area which is not exactly their ‘cup of tea’.
Making a small license change could be relatively easy (although we have yet to figure out if it’s really that easy) but could win them more acceptance in a new area. Many big game companies start out as indies pumping out small games.

Why cant everyone making indie games just use cas’ molebox? If its been used before and as none of these game are every probably going to be very popular then what is the problem already ???

The problem is that it’s legality is well, questionable. It doesn’t seem to be a problem since Cas’ games are unfortunately not very popular yet and it doesn’t really seem to hurt Sun, but it almost certainly will become a problem when his sales are starting to be huge. And we all wanna get popular don’t we? :smiley:
I suppose there are 3 solutions:

  1. Have the JRE deployed everywhere, which doesn’t seem to happen anytime soon
  2. Reconsider the license to deal with these cases, which we are discussing now
  3. Don’t use java for small indie games, which we don’t really want to think about :wink:

Is compiling the game with Jet legal?

One of the problems with breaking the license is if you try to get someone to distribute the game for you. Portals, disk mags etc probably wont touch it if it’s not legal.

I’m saying that should be acceptable by the license so long as it is very hard for AlienFlux.exe or “mocha” to launch anything other than what Puppy Games distrubutes. It won’t be in the PATH, it won’t install any hooks, Teh embedded JRE will NOT be listed in theregistry where java.exe typically looks, etc.

Sun ALREADY allows this distribution of the embedded JRE that is only used by a particular application or set of applications. So long as it can’t be used by OTHER applications without breaking the law. (E.g. the new Sun license forbids use of the Sun embedded JRE for parties that have not agreed to display the “Powered By Java” thingy.)

In that light the idea of not allowing the distribution of a general pupose launcher makes sense. IF the only EXEs that you can ship will only launch the apps that you ship, without someone basically re-writing your app so it does something else, then you are fairly safe that the embedded JRE is not going to get hi-jacked by others. And of course, what reason would anyone have to do that, if they can legally bundle their own embedded JRE? We really only have to prevent this from happening by accident.

If you mean “distributed as a non-embedded, generally accessible Java VM” then NO, because the idea is that that can’t happen without violating the license.

Based on Sun’s track record I don’t agree that they have a clue about how they should do their publicity.

Based on the fact that they added that huge Java logo to applets as they are loading, it is clear that they are smartening up and trying to get some brand awareness from silly little indie applets that are less than 5Mb and everything else.

Quite frankly it only takes one of those little indie games to take off (think Tetris) and they get a TON of free advertising.

So, no, I’m not kidding. Sun has already started almost exactly the same campaign with applets. Who uses applets anymore? Sun doesn’t care - it costs them ZERO, so the return on the investment is going to be acceptable no matter what.

I think so, because if you do it right then you don’t include the JRE, at least not in the sense that is covered by Sun’s license… I think. Cas’ or someone who has tried this already would probably know the details.