Free Java advocacy (was Re: Improving Java for Linux)

Tony Kimball alk at
Fri Nov 7 12:43:54 PST 1997

I largely agree with your enumerated points, but I have objections to
your background statement and some of the arguments used in support of
the points with which I agree.

Quoth Jim Pick on , 7 November:
: > I disagree, because Sun has applied to submit Java for ISO
: > standardization.
: And they were rejected, weren't they?  

No, they were not.  There are so far 6 votes in favor of the
application to be a standard submitter, and one against.  There are 
8 countries remaining to vote.  

Really, people, (and this is not specifically addressed to Jim Pick)
if you are going to get your news from trade magazines supported
primarily by Microsoft, you have to be careful to separate the
factual claims from the spin.

: The main problems were that Sun
: wanted to retain some measure of control, including control over the
: Java trademark.

"Including" meaning "specifically".  I think this was a very bad
pretext for the US to vote against Sun's petition, since they don't
have to call it Java.  They could call it "Ishmael" for all I care.

: What I find really scary is how close ISO actually came to actually accepting
: Sun's terms.  

I believe that they will, when the votes are in.

: This is primarily due to the fact that ISO is controlled
: by corporate entities - most of whom have cut deals with Sun.

Are you stating facts, or attempting to smear Sun?  I could claim
at this point that most of them have cut deals with Microsoft -- which
seems more likely, absent factual information to the contrary, since
Microsoft is a lot bigger; but I won't, since I have no factual basis
to support any claim in this regard.  I'm very skeptical of your own
factual basis, given the tenor of your posts, and would like to learn
more about it, if you are willing.

: > Certainly it may be foolhardy for Sun to restrict reference platform
: > source code the way it does, but that does not make Sun the enemy of
: > free-dom.  
: I don't believe Sun is acting foolhardy at all.  They have done an
: extremely amazing job of getting a huge developer community to "buy in"
: to the Java concept. 

One can execute a foolhardy plan very well, but the plan remains
foolhardy.  Not free-ing the code results in a divided community,
and a lot of resentment, as has been shown in this list.  I consider
that to be foolhardy.

: They have no plans to "give away" Java.

Java source code, not for commercial use or redistribution.  Java
trademark, no.  Java the language they gave away years ago.  And they
keep giving away API designs.  I don't see what there is to complain
about, frankly.

: I think they may push the core Java spec and language out to a standards
: body beyond their control.  

Very shortly, in my opinion, since I believe they can get a majority
ISO vote.

: Essentially, Sun will use the standards process to cement their monopoly.

What monopoly?  Kaffe exists.  JV-Lite exists.  Your boogeyman is not
credible.  Sun can't create a standard -- they can only submit a
standard proposal, whereupon the ISO can do what it likes with it.

: I do think we should deviate from the extended APIs Sun is 
: advocating beyond that, however.

Let's get that far first -- cross that bridge after the river gets built.
Until we have a free implementation of the basic portability layers, 
a free implementation is not generally useful.

: [GnuStep, LessTif, Wine...] You'll notice that every
: one of these projects, although successful, have only been able to 
: clone APIs that are several years behind the state of the art. 

Like Linux or FreeBSD?  But Linux and FreeBSD are successful.

Hey, I have no objection to the design and implementation of purely
freeware APIs.  When you produce something useful, I'm sure it will be
used.  But until then, I think the focus should be on meeting the
immediate, non-controversial, concrete barriers to basic minimal 
java execution in a free environment.  

: > : Is Java patented?
: > 
: > No.
: Careful.  Are you sure?

There are undoubtedly myriad implementation patents, but it is not
feasible to patent a language.
: But look at the extended APIs.  Sun cross-licenses Abobe stuff for their
: Java2D API.  Did they cross-license patents?  

Definitely.  But you can implement it using non-patented software.
You are confusing API with implementation.

: Didn't Microsoft have objections against the JAR
: file format because it was too proprietary?

I don't know -- did they?

: Personally, I feel most software patents won't stand up in court.  But
: that's small consolation when you are a volunteer for a free software project
: and you get sued by a company that can afford millions of dollars in
: legal expenses.  (and Sun sure does like to sue)

Who has Sun sued?  Microsoft.  Name one other party.  You really do
seem to be intent on smearing Sun.

: So, I'd like to reiterate what I was advocating:
:  1) We re-implement the core java language and libraries.  Note:  This
:     does not mean the entire java.* heirarchy.  Sun has been loading all
:     sorts of APIs into that space which don't meet my definition of
:     "core API".  Microsoft obviously feels the same way, and is getting
:     sued as a result.

Microsoft signed a contract to implement JNI and RMI.  Microsoft never
agreed to implement the media engine or 3d or any of the other
non-core APIs, so they don't get sued for violating their agreement on
those points.  I don't think that being in agreement with Microsoft
is a point in favor of your views.

If you want agreement with your points, you should refrain from using
specious arguments in their favor.  I agree with your concrete points,
when I take the time to consider them in isolation from your
arguments.  But the rhetoric of the arguments could easily have put me

:  2) We should attempt to implement Sun's extended APIs if they make sense,
:     and somebody is interested enough to do the work.  Some of their APIs
:     look quite good, and are probably worthwhile cloning with 100%
:     compatibility.  But I can't advocate 'cloning JFC' or 'cloning JavaBeans'
:     when I've never used them and can't say whether they are good,
:     workable designs or not.  If they aren't good designs, or if they
:     won't interoperate with the GNU platform - I say: "Why bother cloning
:     them?"
:  3) We should work to build free class libraries that integrate with other
:     software in the GNU platform.  These would be original, and may
:     interface with native methods.  This represents a "divergence" from
:     Sun's plan for Java.

That's what JNI is for.  Use JNI and the java code can run on any
platform which supports the native code.  Use something else, and your
java code won't run on any other VM.  (And foot-shooting such as
this is just the sort of danger which an unreasonable anti-Sun bias 
can cause.)

:  4) We should advocate that free software projects should only use APIs
:     which are free, or for which there is a substantial effort underway
:     to clone them.  Currently, JFC or JavaBeans don't meet that spec.

JFC isn't free?  I downloaded it with no licensing agreement.
I don't know about JavaBeans.

:  5) We should strive to support running of Sun's proprietary class
:     libraries on top of our free libraries.  That way we can maintain
:     cross-platform compatibility with proprietary software using Sun's
:     proprietary APIs.  (GPL'd software that uses proprietary libraries
:     counts as proprietary)
:  6) We should work to make sure our free implementation of Java and the
:     rest of the GNU platform are ported to as many OS's as possible.  That
:     way, people who want to write cross platform code have a choice between
:     the proprietary Sun Java platform -- or the free GNU Java platform.
: I hope I'm clear on what I'm advocating.  You've got to be very careful
: with Sun.  They are putting forth a system which they say is "free, open,
: and standard" -- but it does not qualify as "Free Software" free, until
: we have a implementation that does the same thing.

Agreed.  I'm advocating spending more time working toward that goal,
and less being "very careful with Sun" -- especially if being very
careful means doing something dumb like breaking from the (portable) JNI.

More information about the kaffe mailing list