Welcome to the Java-OS/2 list!

Welcome to the Java-OS/2 porting list!

Well, it looks like quite a group of interested people popped out of the 
woodwork in response to my message, so this list has been set up with the 
assistance of Paul Hepworth <SL65R@cc.usu.edu> to help keep us all 
organized..  Just in case anyone doesn't actually want to be here, let Paul
know and he can remove you..

The address for sending mail to this list is sl65r@hyrum.declab.usu.edu 
(Paul's currently using one of his auxiliary accounts (on hyrum) to do the 
list, but we're looking into getting a better-named list set up in the near 
future, so watch this space).  Please note:  The LIST is 
@hyrum.declab.usu.edu, Paul himself is @cc.usu.edu.

First off, so everybody's aware of who's here and what kind of expertise we 
have, here's a brief list of the people I've gotten responses from (who have 
consequently been automatically added to this list) and any general 
information about what they're good at or interested in which I've gleaned 
from the messages..

Name              Email             Expertise/interest
Alex Stewart (me) riche@crl.com     Basic experience with OS/2 & PM APIs,
                                    unix TCP/IP programming experience
Andrew Bosch      bosch@mcs.com     Some familiarity with source code,
                                    interest in threads/IPC programming
John Rodley       john.rodley@channel1.com
                                    Experience with Java programming,
                                    HotJava, and OS/2 threads/IPC
Guy McIlroy       guy@apple.com     Experience with OS/2 threads/IPC
Philip R Brenan   phil@bga.com      PM programming expertise, familiarity
                                    with SMART
Paul Hepworth     SL65R@cc.usu.edu  Our host for the maillist, experience in
quantum           brettw@io.com

If I've left anything really important out for anyone (or gotten anything 
wrong), please post..  It looks like the biggest weak area so far has to do
with networking stuff.  Fortunately, part of my job has to do with maintaining
and hacking unix TCP/IP stuff, so I'm somewhat familiar with that (and I've 
had a little bit of experience with this under EMX as well).  We seem to have
plenty of threads/IPC people, and I'm not sure how much work there is to be
done on that area anyway, so probably not everyone who's mentioned that is
going to be involved in that aspect of things..

The next order of business is fairly important, I think..  As was mentioned 
by quantum on the java-porting list, just a bit ago I got a 
("you-didn't-hear-it-from-me") message from someone at IBM who reports that 
IBM has already done a "port" of HotJava to both AIX and OS/2 ("port" is in
quotes because it's not actually technically a port of the Sun code but a
clean-room rework from the ground up, but the result is pretty much the same).
Anyway, apparently the AIX version is finished but is currently encountering
some resistance in the area of getting it OK'd for general release (so it's
currently IBM-internal only, until they sort that out).  The OS/2 version
apparently should be finished within a few days, but then it'll have to get
the same type of clarance for general publication, and nobody even wants to
speculate on how long that will or won't take.. (my suspicion is that it'll be
easier than for AIX, given the market and department structure, but then I'm
not exactly an IBM insider, so that's pur speculation).

In any case, the question arises:  Is it worth doing our own port at this 
stage, or would it be better to just wait for IBM's version to come out, 
whenever that happens (or at least wait and see how it looks like things 
will turn out)?  There are advantages to doing our own port even if the IBM
stuff does come out.. We'll have access to the source code (which IBM is
unlikely to give out for their version), and it'll be a lot easier to
incorporate any changes that Sun comes out with in later releases.  On
the other hand, if we do go ahead and do it and then the moment we get 
finished IBM releases theirs, well, we'll have done a lot of work for not a
lot of results.  Of course, if IBM doesn't release theirs for a while, 
and we don't do ours, we'll be waiting for a while..

My initial feelings are to continue onward anyway, but I wanted to throw the 
situation and question out to everyone to make sure we all know what's going 
on and to see other people's reactions..

Anyway, assuming we are going to continue on, the next order of business is 
to establish what type of development tools we'll be using.  Trying to port 
something using different compilers for different bits is a Really Bad 
Idea(tm) in my opinion, so we s ould standardize early..

As noted in my initial mail message, my preferences are to use the EMX/GCC 
(0.9a) development system with the GNU make (3.74) utility for OS/2.  For 
those I haven't already talked to about this, there are three primary reasons
I chose this configuration:

1. It's what I have and like to use.  This is, of course, somewhat a matter 
   of preference on my part, but it also ties in with point 2 below, since I
   don't have a lot of money either.
2. It's free, and available to everyone.  This is a big issue both in terms 
   of our porting efforts (anyone who doesn't already have it doesn't have to
   shell out big bucks just to be part of this porting project), and the end
   audience for our product (it's always nice if the widest possible audience
   can take advantage of the source code we produce).
3. It's one of the best tools I know of for porting unix source code to OS/2
   (it was specifically designed for this purpose), which may avoid some
   problems other systems might introduce.

It has also been suggested by Philip Brenan that we just take the Win95 
source code and port it using IBM's SMART porting tools (which are designed 
for porting from Windoze stuff to OS/2).  The two potential problems with 
this that I see are that as far as I know the Win95 source isn't available
anywhere (and I have no idea if/when it ever will be), and I personally (and I
suspect most of the rest of us) am not really familiar with SMART at all.  I
also have a tendency to prefer "clean" ports directly from the original 
source, particularly when the application is likely to make significant use of
low-level, OS-specific features like multithreading and IPC, just on
principle, but that's kinda a personal call..

Anyway, if people have information or suggestions to contribute regarding any
of this, please post..  The sooner we clear all this up the sooner we can get
on to dealing with the actual porting stuff (or not dealing with it, if 
that's what we decide).

In the mean time, just to make sure we're all on the same footing, everybody 
here should have a copy of the Alpha3 Solaris sources, of course, and 
possibly also download and look over the EMX stuff if you're not already 
familiar with it (EMX and GNU make can both be obtained from ftp-os2.cdrom.com
in the /pub/os2/unix directory).

I'm currently in the process of sorting out how the code can reasonably be 
divided up amongst us, based both on its structure and where the divisions 
seem to lie in our expertise, and should have something to post shortly 
regarding all that.

Anything I'm forgetting?

     Alex Stewart - riche@crl.com - Richelieu @ Diversity University MOO
            "Difficult answers lead to intelligent questions."