Date: 28 Mar 1998 22:51:18 -0000 To: java-linux@java-linux.org Subject: JavaOne Linux Java Field Report 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