JavaOne Linux Java Field Report
John Mitchell
johnm-java-linux at non.net
Sat Mar 28 14:51:18 PST 1998
Please note that I've bcc'd the Kaffe mailing list so that they don't
*have* to get sucked into the expected deluge of follow-up messages. :-)
This message is a bit of a recap of some of the happenings at the JavaOne
conference with respect to (w.r.t.) Java on the Linux platform.
Perhaps, I'd better give a quick recap of the state of things prior to the
show...
The state of the "free" port of Sun's Java tools and implementation on the
Linux platform is in flux. In the current iteration of things, I've been
working with JavaSoft, since Steve Byrne resigned from JavaSoft, to create
a completely legal, sanctioned, fee-less Java license with the express
charter of porting Sun's Java stuff to the Linux platform. This means
things like the fact that we'll get the source to the Sun JDK, JRE, and,
yes, even the JCK, at the same time all of the other Java licensees get
them (i.e., *way* before FCS :-). The license agreements have gone through
a number of iterations of refinement and negotiation so far (and that
process continues apace). The various folks involved at Sun/JavaSoft have
been very helpful and wonderfully sensitive and accomodating to the needs
and desires of the Linux Java community.
And now, back to the show...
Methinks we should start a mailing list or something to organized BOF get
togethers in the future. It's so amazingly valuable to be able to finally
meet the actual person behind the email face-to-face. To start this off,
I'm planning on attending the JIBE conference in NYC which is supposedly in
December this year.
It was great to meet the folks who came to the BOF including Tim
"Mr. Kaffe" Wilkinson. I urge everybody interested in a GPL'd version of
Java to check out www.kaffe.org and, Tim's new company,
www.transvirtual.com. Creating a clean-room implementation of all of Java
is a *huge* task so please help out however you can.
The BOF itself was certainly lively. :-) I'll probably misrepresent at
least some of the various viewpoints but it's pretty safe to say that there
was an advocate of each of the major schools of thought on pretty much any
issue that we discussed. If you have followed much of the discussion over
the last couple of months in the various Java-Linux mailing lists, you've
heard all of the main arguments (repeatedly :-). If you have not followed
the discussion and like to inflict pain on yourself, you can paw through
the archives for the java-linux mailing lists.
In my mind, there are a couple of main dimensions to this dicussion. The
first axis is probably the easiest to figure out: Do you want *everything*
to be "public domain" (PD) or have everything totally commercial? At the
PD end of things, IIRC, Kaffe started out under basically a UC Regents BSD
style of license (i.e., a couple of steps up from public domain) and is
changing to the GPL. At the other end, someone is free to raise the money
to pay the relatively large commercial licensing fee to Sun, port the Sun
Java stuff to e.g., Linux and charge whatever they like.
What seems to me to be the clear consensus of the Java-Linux community is
somewhere in the middle of the PD vs commercial axis. The desire to have a
no-fee use of the JDK and free distribution of the JRE on the Linux
platform. The ability to allow for basically anybody to help work on the
port (i.e., have access to the source to be able to fix bugs, make
improvements, etc). The tools and licensing to have the port validated and
branded as being "Java(tm)". Etc.
So, while most, if not all, of the Java-Linux community supports projects
like Kaffe, we have an appreciation for various practicalities (things
like: variances to the Java specifications and/or the Sun Java
implementation, the delay in getting support for the latest versions
language/library/tool/etc., etc.) -- hence there is a willingness to put up
with some restrictions so that we can get access to and port the Sun Java
tools, implementation, and libraries.
Now, within this context, a new dimension unfolds. The major "hot button"
question that has been reasonably (or, in a few cases: vehemently,
pointedly rudely) asked is who/what "controls" the relationship with
JavaSoft/Sun. While there are certainly some interesting (and I guess
confusing) subtleties the simple answer is all of us. The very thing that
makes the Linux community as a whole and the Java-Linux community in
particular w.r.t. Java so powerful is what and who we are. The value of
the true hacker/explorer/early-adopter/techno-geek/power-user/etc. and in
our simple desire to have the things we use work well is patently obvious
just by looking at the direct outcome of the collective works of the
community. From the Linux kernel itself through the many libraries and
toolkits to the various applications to the amazing virtual community that
we participate in to support each other are all great virtues but are
really just the tip of the iceberg. Those scraping, gnashing sounds that
you hear just before you doze off and smack your face on your keyboard at
4:23 AM as are the vast protrusions of the iceberg below the waterline
slicing open the "unsinkable" commercial computer world. For all the
silliness of the allusion, the effects that the Linux community has on the
rest of the computer world (and by extension the rest of the world directly
or indirectly) is profound and cannot be reasonably ignored.
So, you might ask, what the hell does this philosophical digression have to
do with controlling the relationship with Sun/JavaSoft? It's really quite
simple: The value to Sun of doing the special no-fee licensing deal is to
get the myriad benefits of the Linux community porting, using, supporting,
and promoting Java. So, as members of this community, we all share in
making this relationship work.
Unfortunately (or perhaps fortunately :-), a relationship with a community
such as ours is fundamentally different from the typical, commercial
licensing relationships: The value of getting the Borland's, Symantec's,
and IBM's of the world to support Java is well understood and the mechanics
of those relationships is conventional and reasonably well contained
legally. Given this sort of reasoning and my personal desire to make Linux
an uncompromisingly good platform for Java development and use, I decided
to (and the Board of Directors backed me in) facillitating the licensing of
Java from Sun/JavaSoft to the "Linux community" by licensing through my
company, Non, Inc. The use of a corporate entity in the licensing removes
a number of sticky problems in trying to license to such an amorphous group
as the "Linux community". Yes, indeed, this is putting me and the
company's butt firmly on the line legally (and I'd hope people can
appreciate that fact far enough so that those obnoxiously rude folks will
be civil but I won't be holding my breath for that to happen :-).
As to answering the questions of the gist: "Who died and made you god to
make this relationship with Sun?" My first answer is: Who died and made
Linus the god of Linux or Larry Wall the god of Perl or Cygnus the gods of
GDB or whatever? That's easy: Nobody and everybody. Nobody in the sense
they they just got up off their butts and *did* the work to make those
things happen. Everybody in the sense that if people didn't use those
things then e.g., Linus would continue screwing around with it himself or
would have dropped it and gone on to other things.
W.r.t. to Java on Linux, in the freewheeling early days, nobody knew who
the hell Randy Chapman was but he did a lot of fine work and made the early
Java v1.0 stuff work. Steve Byrne, when he was working at JavaSoft was
instrumental in making the Java v1.1x stuff (and it's great to have him
back after transitioning to his new job at FreeGate) but the Java licensing
situation is changing. So, who the hell are "Uncle George" and this Sergey
dude? :-) The fact is, the Linux community isn't driven by some abstract
democratic idealism but rather by individual people blending their personal
beliefs and their technical interests and ability to make things happen
which benefit a lot of other people as well.
As to answering the questions of the form: "Well then, what are the
mechanics of how all of this work is going to get done, who will work on
it, what are the various constraints and who makes the decisions?" [Yes, a
number of the questions are all over the place like that. :-)] The basic
answer is: As free and easy as possible within the legal constraints and as
productive as we all can make things happen. Yes, indeed, that answer
isn't precise -- this is for the simple fact that nailing down all of the
particulars in the licensing agreement is continuing and things have not
been finalized and signed yet. As to making decisions, that depends on
what level we're talking about. If the linux community doesn't use the
port then it won't be worth spending time on so the project would likely
die. If the Linux Java community doesn't work on it then it won't ever get
done and so the project would likely die. If people who participate in the
project do illegal things (i.e., break the contracts) then the project will
certainly die. If I die or whatever then the project will most likely
continue with someone else stepping forward to take over. If Sun changes
its mind for whatever reason, they can kill the project. As to operating
the porting project itself, the decisions are ultimately mine. Of course,
I'm going to delegate as much as possible to people who participate in the
project so that I can focus on getting rid of any excuses keeping them
from getting things done.
Stepping back out to things relating to the JavaOne conference itself, I
had conversations with everyone that I could about this porting project. I
talked with Rick Ross and some of the other JavaLobby folks; some
commercial Java licensees; various Sun and JavaSoft technical folks,
marketing folks, and managerial types; and some other press folks.
Everybody that I talked to was wonderfully supportive of the Linux Java
porting effort.
Well, this post has dragged on and, hopefully, this has helped to
make sense of what's going on. I urge you to learn about and support the
various "free" Java efforts like Kaffe and the no-fee port of the Sun
stuff. Also, please keep in mind that we are already well along in the
licensing process with JavaSoft/Sun. The license will happen as soon as
possible so let's show some good faith and only hack on them for other
issues. :-)
Take care,
John
More information about the kaffe
mailing list