Technical JRE redistribution question

  • Thread starter Roger Thornhill
  • Start date
R

Roger Thornhill

Hello -

I had 2 technical redistribution questions, one basic and one not so
basic. I would really appreciate any help or advice.

Question #1
============
I would like to redistribute only the parts of the JRE 1.4.0_01 that I
need with my application. I only need:

bin/jvm.dll
lib/rt.jar

According to the JRE README, I need to include a bunch of other stuff
in $JRE_HOME.

So, my first question is: is this right? I expect this is a basic
question, but there's a few conflicting answers out there, so I
thought I would verify.

Question #2
============
If the answer to #1 is yes, I am wondering how a company like
Excelsior (http://www.excelsior-usa.com) can effectively redistribute
rt.jar along with their own JVM? (NOTE: Their product converts Java
executables like .class and .jar files to native Win32 executables)

I am asking this question only to better understand the binary code
redistribution policy of Sun.

Essentially, can one repackage rt.jar and redistribute it with
whatever other software they are producing? I would think not, but
the existence of Excelsior's product makes me think twice.

Thanks for your help --
 
R

Roedy Green

Question #1
============
I would like to redistribute only the parts of the JRE 1.4.0_01 that I
need with my application. I only need:

bin/jvm.dll
lib/rt.jar

According to the JRE README, I need to include a bunch of other stuff
in $JRE_HOME.

So, my first question is: is this right? I expect this is a basic
question, but there's a few conflicting answers out there, so I
thought I would verify.

If Sun let you distribute a stripped down JVM, then others would go to
use it and it would not work, and Sun would be blamed.

If you distribute on CD this is not much of a problem. Over dial up,
it is a pain.
 
R

Roedy Green

If the answer to #1 is yes, I am wondering how a company like
Excelsior (http://www.excelsior-usa.com) can effectively redistribute
rt.jar along with their own JVM?

They can't. It is a pain in the butt. You have to recompile RT.jar
with every release. Further, you have to make sure a copy of RT.jar is
already installed on the site where you are going to run. The reasons
for these restrictions are legal, not technical.

If however, you use Jetperfect, then just the classes you are using
are bundled in native form. There is no possibility of anyone
resusing them as a JRE. Sun lets them get away with this.
 
T

Thomas Weidenfeller

Roger said:
I would like to redistribute only the parts of the JRE 1.4.0_01 that I
need with my application. I only need:

bin/jvm.dll
lib/rt.jar

I would doubt that this is all you need to get a working JRE. But it
doesn't matter. Sun owns the stuff. Sun dictates what you can and can't
do when redistributing the stuff. If Sun says you need to deliver more,
you have to deliver more, or you violate Sun's license.

If you don't like this, either don't use Sun's JRE at all, or negociate
another license with Sun.
If the answer to #1 is yes, I am wondering how a company like
Excelsior (http://www.excelsior-usa.com) can effectively redistribute
rt.jar along with their own JVM?

A couple of possibilities:

- How do you know that Excelsior's rt.jar is Sun's rt.jar? Maybe they
use the same file name but the contents is all Excelsior's?

- Maybe they have negotiate a separate license with Sun (and paid $$$ to
do so)?

- Maybe they have the rest of the JRE somewhere delivered, but you
didn't see it?
I am asking this question only to better understand the binary code
redistribution policy of Sun.

If you need a reliable statement, ask Sun. Every answer you will get on
a newsgroup is just an unqualified, irrelevant opinion. But since you
have already figured out that Sun asks you to distribute more stuff than
what you want, what is the point? If you want to legally redistribute
the stuff you have to play by Sun's rules.
Essentially, can one repackage rt.jar and redistribute it with
whatever other software they are producing? I would think not, but
the existence of Excelsior's product makes me think twice.

Ask Sun, ask a lawyer.

/Thomas
 
R

Roger Thornhill

Roedy Green said:
They can't. It is a pain in the butt. You have to recompile RT.jar
with every release. Further, you have to make sure a copy of RT.jar is
already installed on the site where you are going to run. The reasons
for these restrictions are legal, not technical.

If however, you use Jetperfect, then just the classes you are using
are bundled in native form. There is no possibility of anyone
resusing them as a JRE. Sun lets them get away with this.

Interesting. So, I had thought that the spirit of the redistribution
agreement was to prevent one from profiting off of Sun's work. But
you're suggesting that it's actually related to liability to some
extent (i.e., Sun does not want to get into the business of supporting
an incomplete distribution of a JRE) -- is that right?

I'm just surprised that Sun allows a company to effectively
redistribute their rt.jar property (not in jar form, but in object
code form -- either way, it provides significant functionality for
free).

Thanks for the feedback -- very much appreciated.
 
R

Roedy Green

extent (i.e., Sun does not want to get into the business of supporting
an incomplete distribution of a JRE) -- is that right?

No. Sun does not want buggered up JRE's floating around the universe
giving Java a bad name.

It amounts to vandalism. If you tampered with the JRE you can make
OTHER people's programs stop working.
 
R

Roger Thornhill

Thanks for your comments. Some replies below.

Thomas Weidenfeller said:
I would doubt that this is all you need to get a working JRE. But it
doesn't matter. Sun owns the stuff. Sun dictates what you can and can't
do when redistributing the stuff. If Sun says you need to deliver more,
you have to deliver more, or you violate Sun's license.

If you don't like this, either don't use Sun's JRE at all, or negociate
another license with Sun.


A couple of possibilities:

- How do you know that Excelsior's rt.jar is Sun's rt.jar? Maybe they
use the same file name but the contents is all Excelsior's?

It's obvious during installation that they compile Sun's rt.jar.
- Maybe they have negotiate a separate license with Sun (and paid $$$ to
do so)?

Maybe, but I doubt it.
- Maybe they have the rest of the JRE somewhere delivered, but you
didn't see it?

No, there are definitely ways to distribute only a single .EXE file
with their product.
If you need a reliable statement, ask Sun. Every answer you will get on
a newsgroup is just an unqualified, irrelevant opinion. But since you
have already figured out that Sun asks you to distribute more stuff than
what you want, what is the point? If you want to legally redistribute
the stuff you have to play by Sun's rules.

So I actually tried this before I posted to this newsgroup (I realize
that newsgroup responses are not for legal consumption) but I found
out that I would need to open an "issue" (I guess trouble ticket) with
Sun to get any kind of support. This costs $150/hr, at least, and
assumes a minimum of 2 hours. Definitely worthwhile from a
cost/benefit standpoint, but I was disappointed that my question -
which is a clarification and not a typical "support" issue per se -
could not be answered by somone like a product manager at Sun or
through some "official" online forum.

BTW, if anyone knows a better route to go when contacting Sun, I'd
really appreciate hearing about it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top