Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 2000 17:40:10 +0930 (CST)
From:      Greg Lewis <glewis@trc.adelaide.edu.au>
To:        Michael Robinson <robinson@netrinsics.com>
Cc:        freebsd-java@FreeBSD.ORG
Subject:   Re: Linux JDK on FreeBSD
Message-ID:  <200008030810.RAA33079@ares.trc.adelaide.edu.au>
In-Reply-To: <200008030637.OAA00807@netrinsics.com> from Michael Robinson at "Aug 3, 2000 02:37:36 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Michael Robinson wrote:
> Greg Lewis <glewis@trc.adelaide.edu.au> writes:
> >Actually, the latest patchset (and probably patchset 9 as well) could 
> >probably have been tagged as beta.  Personally, I'd like to get rid of
> >the redrawing problem some people have before making that jump though.
> 
> Let me quote:
> 
>   "October 11, 1999: Work has re-started on the Java2/JDK1.2 port. Expect
>    an early 'alpha' release in the coming weeks for FreeBSD 3.3-stable/ELF
>    boxes."
> 
> 10 months in alpha, who knows how many more months in beta, and then a 
> release, after which the whole process starts all over again for 1.3.

I can only answer from a personal perspective here.  The patchsets I am
releasing are unofficial.  The quote you have is from the official FreeBSD
Java pages.  In terms of my involvement:

March 22nd, 2000: First pre-alpha patchset.
April 28th, 2000: First alpha patchset.

I feel the port is now stable enough for most people's needs.  Although
others may wish to correct me on this.

> Meanwhile, right now, today, I can use the Sun release of 1.3 for Linux to
> do everthing I need to do.  What I can't do, though, is use HotSpot, because
> it breaks under Linux emulation.  However, since the FreeBSD team doesn't 
> have any access to the HotSpot code, any plans for access to the HotSpot
> code, or any ideas for plans for access to the HotSpot code, this means that
> the Linux JDK on FreeBSD today is just as good as the FreeBSD JDK will be
> sometime in the year 2002.

I believe that Sun have released the HotSpot code under the SCSL, as they
did the JDK 1.2.2, so it should be relatively easy to obtain access to it.
However, Sun have only released a beta version of the JDK 1.3 code so far.
I don't intend to start a porting effort in earnest for 1.3 until Sun
release non-beta code for it, otherwise I waste time fixing bugs which
they've already fixed.

> Do you have any idea what that means, in Internet time?

Yes, and clearly the hold up with 1.2 has been somewhat expensive in terms 
of both peoples perceptions and their frustration levels.  We obviously
have different ideas on how to "fix" things though.

> >I'm not quite sure how you can term the JDK 1.2.2 as "nearly-obsolete"
> >though when it is the current _release_ from Sun for both Linux and
> >Solaris and when Blackdown have announced their final release of the
> >JDK 1.2.2 (with 1.3 to come sometime down the track) on the same day.
> 
> Download Together 4.0, run it under 1.2.2, and then run it under 1.3 with
> the client-tuned HotSpot engine.  Then you will be quite sure how I can
> term JDK 1.2.2 as "nearly-obsolete".  Likewise Enhydra with the server-tuned
> HotSpot engine.

I appreciate that 1.3 is quite an increase in speed, but it still only
comes as a release version for Windows and 1.2.2 is _still_ the official
release for Solaris and Linux.

> For real world technology managers making real-world deployment decisions,
> very soon the choice will be between running slow-slow-slow Java on
> FreeBSD or running fast-fast-fast Java on Linux.

Which is one of the reasons I and the other people involved have been
trying to push the Java porting effort ahead.

> I've been a BSD user since 1984, but as a CTO, I know which decision I'll make
> if it comes down to that.
> 
> >However, I would ask you to consider the following issues:
> >
> >(a) At this point
> >    I'd not only have a huge pain in the neck, I'd also be wondering
> >    why I didn't just install a Linux distro :(.
> 
> I have to face that question every day, and not just for Java.  Oracle, 
> Domino, SMP, etc. etc.

Right, and my choice when faced with that question was to try and improve
the FreeBSD support for Java.  As a CTO you obviously have different
considerations and rigid deadlines to face, so I can understand why
your choice may be different.  

But, improving Linux emulation is not going to contribute towards solving 
the problems with developing a complex JNI using application.  Sure, it
will help Oracle etc., but that isn't the problem I'm trying to solve.

> >(b) Lets say an excellent kernel thread interface (for instance) develops
> >    during the 5.0 production cycle.
> 
> Let's say the tooth fairy comes and debugs all my code for me while I'm 
> sleeping.  But I digress...

And yet, Peter Wemm committed a simple kernel thread interface using
rfork() the other day :).

> >    Its everything you'd want and is
> >    perfectly suited for implementing native threads for the JDK.  But
> >    alas, it can't be taken advantage of as there is no native port of
> >    the JDK.
> 
> Well, I would expect the Linux emulator to be suitably modified to do the
> mapping appropriately, because, again, Java is not the only product facing
> this issue.  Right now I can install Red Hat and run Oracle (with support,
> no less), on an 8-way Xeon box with reasonable scalability.  Either the 
> FreeBSD Linux emulation will have to address this (assuming FreeBSD ever gets
> "an excellent kernel thread interface"), or FreeBSD will become "the network
> appliance OS".  (There is, of course, the third alternative, that FreeBSD 
> earns the kind of ISV support that Linux enjoys, but that's not really in 
> the cards, now, is it.)

I think this is something for either BSDi or the advocacy mailing list to
answer :).

> >(c) The "limited resources" in question here is volunteer time.  The
> >    volunteers may feel that (i) they don't have the skills to work on
> >    the Linux emulator, and (ii) its their time and they'd actually 
> >    like to spend it on a native JDK port :).
> 
> This, of course, is indisputable.  After all, you can still find
> volunteers writing code for the Amiga.  But that raises another issue:
> if a tree writes software in the woods and no one uses it, does it make a
> sound?
> 
> FreeBSD is dangerously close to falling into the Amiga death spiral.  If it
> weren't for the excellent Linux emulation, it would already be there.  The
> two biggest issues currently sucking FreeBSD down are SMP and Java.  In my
> opinion, FreeBSD is far closer to solving the Java issue through emulation
> than it is through writing a native port.

See above.  Emulation solves some of the Java issues (particularly for
people using it for JSP work and the like) but not all of them.  In
particular, it doesn't solve the one which bugs me :).  Personally, I
think there is a place for both approaches and that people will gravitate
to whichever one they feel most comfortable with or solves their particular
beef (I know I've seen some Linux emulator patches posted to freebsd-java,
so there are certainly folk motivated to fix things up via the emulation
route).

> I'm not asking for something for nothing, either.  $6k/seat for Together,
> $15k/server for WebLogic, the Oracle gouge, and it all starts to add up.
> Red Hat charges $2,500 for their Linux Enterprise Edition for Oracle 8i.
> It's a small part of the budget, and if there were a FreeBSD Enterprise
> Edition for Oracle 8i, I'd write the check tomorrow.  But there isn't,
> so I can't.  I can only wait for BSDi to figure out the 1980's are over,
> or try to influence the volunteers, or give up and jump ship.  Today,
> I'm working plan B.

I honestly wish you every success with both plan's A and B.  From my own
point of view I feel I've much more to contribute to the FreeBSD project
by working on the native JDK port than I do working on the Linux
emulator (I don't even have access to a Linux box for starters).  I don't
believe that this is currently a "head in the sand" attitude, I'm just
making the choice to take the approach I think is right and see where
it leads.

-- 
Greg Lewis 				glewis@trc.adelaide.edu.au
Computing Officer			+61 8 8303 5083
Teletraffic Research Centre


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008030810.RAA33079>