All,

I have included the minority opinion written by Mark Carlson.

We did in fact have quorum yesterday; our external member
was not listed as a full member.

In any case, due to the lack of perceived quorum yesterday,
please vote on this case.

  Vote to approve the case as written (with the TCR)
  Vote to deny

If we find we now have a majority denying the case because
they don?t agree with the TCR, then the TCR camp will
become the minority.

Thanks
Margot


microsystems Systems Architecture Committee

_________________________________________________________________

Subject: trove-2.0.4

Submitted by: Vivek Titamare

File: LSARC/2009/262/opinion.txt

Date: May, 2009

Committee: Margot Hackett Miller, Lloyd Chambers
Minority: Mark Carlson


Product Approval Committee:
Solaris PAC
solaris-pac-opinion at sun.com

1. Summary

This project is one of the Linux familiarity cases; this one provides
a library to do fast regular and primitive collections for
Java.

2. Decision & Precedence Information

The project is approved as specified in reference [1].

The project may be delivered in a minor release of Solaris.

3. Interfaces

Exported Interfaces:

__________________________________________________
| Interfaces Exported |
|____________ ______ |____________ __ __|____________|
|Interface | Classification | Comments|
|_______________ __|_________________|_____________|
| trove.jar | Uncommitted | |
|SUNWtrove | Uncommitted | |
|___________________|_________________|____________|


Imported Interfaces:

______________________________________________________________
| Interfaces Exported | |
|___________________|______________ __|________________________|
|Interface | Classification | Comments |
|_______________ __|_________________|________________________|
|
| SUNWj5dev | Committed | Java Development kit |
| SUNWj5rt | Committed | Java Runtime library |
| SUNWj6dev | Committed | Java Development kit |
| SUNWj6rt | Committed | Java Runtime library |
|___________________|_________________|________________________|




4. Opinion

During review, the only real issue raised was whether this team
should provide a man page in addition to the javadocs. The man
page would basically give a brief description of the jar file,
pointer to the javadocs, and state the interface stability of the jar file.
Discussion ensued whether it makes sense to ship a man page
with a jar file. Solaris developers expect man pages, but do
Java developers? Is it worth the extra work to provide a man page
and would Java developers even look for a man page.

It was noted that this is not standard practice as most Java developers 
look
for java documentation via javadocs, not via man. However, others stated 
that
having a minimal man page for a java jar file would allow the interface
classification to be visible to the end user and a few other ARC cases have
already shipped man pages for jar files.

There was discussion over the granularity of the jar file and does
it make sense to have an interface stability for the overall jar. 
Currently,
java has Public, Package, and Protected.   There was debate as to
whether that conveys enough of the stability of the jar and its methods 
to the
developer.

With all the FOSS that is being delivered into Solaris, projects are
delivering in their native, natural form. This includes man pages, texinfo,
html, and javadoc. So the problem isn't just with javadocs and jar files.
There is quite a bit of FOSS out there with no interface stability
in the external Sun documentation.  This is not a problem for Sun
project teams as they can always look at the interface tables in
the ARC tables to determine stability level.

Asking all java project teams to ship a man page in addition to javadocs 
doesn?t
seem like the right solution and having some teams ship a man page
and others not, does not provide consistency.

There needs to more discussion to determine if it is critical that the 
ARC stability
level be communicated to the Solaris end user for all the FOSS software
that is being delivered. If so, a comprehensive solution needs to be
formulated, whether it is a CLI, a man page, annotation embedded in the 
Javadocs
(which will work for Sun products but you cant force that upstream).
This is not being addressed in this case.  Project teams can continue
to ship documentation in their ?natural?form and if there is some
stability suggested in that documentation that is fine.
Up until now, most projects have not shipped man pages with jar
files.  This doesn?t seem to have been written down anywhere.  With
this case, we would like to make it explicit to not deliver man pages
with jar files.  This is setting precedent of ?do not ship man pages
with jar files.? This resulted in the below TCR.

5. Minority Opinion(s)

      Background

      It is not typical for programmers working with non C/C++/Assembler
      files, such as Java Jar files, to determine the
      Exported Interface stability level using the man command.  Java
      programmers depend on Javadoc, Python programmers
      depend on pydoc and so forth to document interfaces and the
      stability would best be indicated there.  

      Approval of OpenSolaris projects have been inconsistent in
      preferring man pages or native documentation.  This opinion seeks
      to clarify the issue and define a policy for all such cases going
      forward.

      Best Practice

      Case A - Sun Developed Components

          1) Sun project team developing a Jar file shall document the
      ARC interface classification in the native documentation. (i.e.
      Javadocs)

      Case B - Components imported from external OSS Communities

          1) The OSS Community documents the interface classification in
      their native documentation

              a) OpenSolaris project team agrees with the classification
      and supports it
                  - Javadoc or other native documentation required
      (unchanged)
                  - No man page shall be allowed

              b) OpenSolaris project team disagrees with the classification
                  - Javadoc or native documentation required, but
      project team must change the OSS documentation
                  to match the project team's classification
                  - No man page shall be allowed

         2) OSS Community does not document interface classification in
      their native documentation
              a) OpenSolaris project team is strongly encouraged to
      update the native documentation to reflect the OpenSolaris project
      team
              classification.
                  - Changed Javadoc or other native documentation required
                  - No man page shall be allowed
              b) OpenSolaris project team cannot support deltas to the
      native documentation
                  - Unchanged Javadoc or other native documentation required
                  - A man page shall be provided 




6. Advisory Information

None.

7. Appendices

7.1. Appendix A: Technical Changes Required

Do not ship man pages with Java jar files

7.2. Appendix B: Technical Changes Advised

None.

7.3. Appendix C: Reference Material

Unless stated otherwise, path names are relative to the case
directory LSARC/2009/262

1) Project Proposal file:


LSARC/2009/262 Copyright 2009 Sun Microsystems

Reply via email to