jek3 at sun.com
Tue Jun 3 19:35:51 PDT 2008
I've tried to summarize what I think we have decided, and it just a matter
of crossing the "t's" and dotting the "i's". (But there are a significant
number of those to do.)
Perhaps this should replace quite a bit of what is currently on the wiki?
Of course, respond as appropriate,
Proposed Java addition to the LSB
1) The Java VM is part of the platform/distro. The implication is
that the Java VM does not have to be LSB compliant itself.
It may be a useful marketing tool if a Java VM is otherwise LSB
compliant itself, but that is another project, which is being
2) Specification of the Java Application Environment (JAE):
The Platform Specification consists of:
1. Language Specification
The Java Language Specification, Third Edition
2. Virtual Machine Specification
The JavaVirtual Machine Specification, Third Edition
3. API Specification - JavaSE javadoc
4. Java Native Interface Specification
>>> ------------- snip ------------- <<<
5. JVM Tool Interface - Version 1.1
6. Java Debug Wire Protocol
7. Extension Mechanism Architecture
1 through 4 are of interest to the LSB. Numbers 5 and 6 are
for general development. Number 7 is for Java VM suppliers.
(Number 7 is not what you probably think it is. It is a way to
add standard classes (defined by the JCP) that are extensions
to the core specification. Examples are JMF and JAI. It may
be useful to define these extensions to be part of the LSB,
but one thing at a time.)
3) In order to call something Java, it must pass the JCK (Java
Conformance Kit). In the world of open source, this must be
easily available. It is, through a very liberal license.
4) The CLIs to be included into the LSB from the JRE are:
There are publicly available manual pages for these. We should
prune these to eliminate the flags which are either only appropriate
for developers, are potentially non-standard or are simply too
One may note that there is also the Java plug-in. That strictly
interacts with the browser and should not be part of the LSB.
5) Its not clear that this belongs in the LSB, but it seems useful
to allow the installation of additional Java VM implementations
and for them to "play nice" with each other. (This is vaguely
described in the man page java(1). I have a detailed specification
(which I wrote) but I need to get it vetted so that it is public
(and easy task, but it still needs to be done.))
That installation point is:
The entries need to be of the form:
Note that Sun's RPMs and Ubuntu's integration do not comply with
6) Co-residency of 32/64 bit Java VMs is an interesting issue, but
beyond the scope of the LSB.
1) Availability of an appropriate Java Environment for all architectures
for which an LSB specification is available. (I think this is just
an action item for the distros which produce these less common
architectures, but others may feel differently.)
2) Availability (from Sun) of javaws for 64-bit Linux (any architecture).
More information about the lsb-discuss