<html>
<head>
<title> Opinion: Eclipse For Java Developers </title>

<body>

<table border>
<th colspan=2> Sun Microsystems Systems Architecture Committee <BR>
 Sun Proprietary/Need to Know </th>
          <tr><th>Subject       </th> <td> Eclipse For Java Developers

</td></tr><tr><th>Submitted by  </th> <td> Alexandre Iline
</td></tr><tr><th>File          </th> <td> LSARC/2008/626/opinion.html
</td></tr><tr><th>Date          </th> <td>Nov 18, 2008</td></tr><tr><th>
<A HREF="mailto:LSARC at sun.com?subject=case 2008/626 opinion">Committee</A>
        </th><td>

        # This file is automatically generated on a daily basis by 
create_membershiplists. Mark Carlson, Lloyd Chambers, Thomas Childers, Aniruddh 
Dikhit, Danek Duvall, John Fischer, Ed Hunter, Chris Kasso, Arieh Markel, 
Margot Miller, Stephen Uhler, Jyri Virkki.
Mark Carlson, Lloyd Chambers, Aniruddh Dikhit, John Fischer, Margot Miller.
Minority: (Michael Kearney).
Abstain: Tom Childers, Ed Hunter, Jyri Virkki.
        <!--
        List the majority first, in alphabetical order.  Except, place the name
        of the person writing the majority opinion first.  List the minority
        second, after a "." and the word "Minority:".  Again, place the name
        of the author of the minority opinion first, but then alphabetically.
        E.g.: Joe Blow, Allan Able, Charlie Carlson.  Minority: George Wrong,
        Devils Advocate.  List abstentions last.

        Interns should not be included in the committee list unless an intern
        wrote the opinion.  In that situation, list the intern in parentheses
        after the case owner.  E.g.:
                August Case-Owner (Aspiring Intern)

        Note that [ARC_DIR]/committee contains a list of committee
        members in a form suitable for inclusion here.  The review minutes
        are another source for this information.
        -->

</td></tr><tr><th>
<A HREF="mailto:${PACemail}?subject=case 2008/626 opinion">Product Approval 
Committee</A></th>
<td>
        LSARC
</td></tr>
</table>               

<h1>1.  Summary </h1>
<ul>

<p>Eclipse is an integrated development environment (IDE).</p>

<p>Eclipse for Java Developer is one of the most popular open source Java IDEs, 
providing 
        functionality in order to simplify development of extensible, modular 
and cooperating Java 
        based desktop applications.</p>
<p>URL: http://www.eclipse.org.</p>

        <!--
        In this section, put a few sentence synopsis of the proposal.

        Make the description ample enough for a wide audience, as this
        is all that the majority of your future readers will use to
        identify and understand this project.
        -->

</ul>
<h1>2.  Decision & Precedence Information</h1>
<ul>

        <!--
        This section follows a specific phrasing and order.  One sentence
        paragraphs are best here.

        * Whether or not the proposal is accepted.

        * If there are mandatory modifications that the acceptance is
          conditional upon, state that they are specified in Appendix A
          (the TCRs).  If the proposal is accepted unconditionally,
          simply state that it's accepted.
        --> 


        [The project is approved as specified in reference [1]]
        [, but as modified by the required technical changes
         listed in Appendix A].


        <!--
        * The classification of the deliverable as a
                major  [incompatible],
                minor  [compatible enhancement], or
                micro  [a "replicant" like a port or driver; or a bug fix]
        and for what product line [Solaris, Web Download, a specific
        unbundled product, ...].

        See the Release Taxonomy document for details...
        /BestPractices/ToDo/release.taxonomy/Taxonomy.ps
        --> 

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


        <!--
        * The table of projects that must be delivered no later than this
        project.  (If none, omit this paragraph and the following table.)
        List this in the format shown, with project IDs or case numbers to the
        left and the text of the description (usually the case's title) to the
        right, as a relative link if possible.
        -->

        [The project depends on the following other projects and may not
         be delivered before them.

        <table border>
        <tr><th> Case </th><th> Name </th></tr>

        <tr><td> [PSARC/1994/038]
        </td><td><a href="[../../../PSARC/1994/038/opinion.html]">[Making FNS 
XFN Compliant]</a>
        </td></tr>

        <tr><td>[950331_scott.mcnealy]
        </td><td>[Making MS SUN Compliant]
        </td></tr>

        </table>
        <br>
        ]

<P>

</ul>
<h1>3. Interfaces</h1>

<ul>

        <!--
        This section should identify the project's interfaces and their
        classifications in the interface taxonomy.  A tabular format is
        most appropriate for this information, listing imported interfaces
        in a separate table from interfaces being exported.
        
        Two skeleton tables appear below.
        Fill them in with export and import information.

        Try to make comments succinct.

        Useful information to include in the Comments field includes:
           -    What kind of interface it is (function, library, file, ...)
           -    A cross reference to a reference material entry describing it

        -->

        <p>

        <!--            EXPORTED INTERFACES             -->
        <table border>
        <tr><th colspan=3>Interfaces Exported</tr>
        <tr><th> Interface Name </th><th> Classification </th><th> Comment 
</th></tr>

                <tr><td>  eclipse
                </td><td> Uncommitted
                </td><td> Package
                </td></tr>

                <tr><td>  /usr/eclipse
                </td><td> Uncommitted
                </td><td> Installation directory
                </td></tr>

                <tr><td>  eclipse
                </td><td> Uncommitted
                </td><td> Commandline syntax
                </td></tr>

                <tr><td>  SWT
                </td><td> Uncommitted
                </td><td> Library
                </td></tr>

                <tr><td>  JUnit
                </td><td> Uncommitted
                </td><td> Java Library
                </td></tr>

                <tr><td>  Eclipse Platform
                </td><td> Uncommitted
                </td><td> Set of Java Libraries
                </td></tr>

        </table>

        <p>

        <!--            IMPORTED INTERFACES             -->
        <table border>
        <tr><th colspan=3>Interfaces Imported</tr>
        <tr><th> Interface Name </th><th> Classification </th><th> Comment 
</th></tr>

                <tr><td>  j6dev
                </td><td> Committed
                </td><td> Package
                </td></tr>

                <tr><td>  GTK
                </td><td> ???
                </td><td> Library
                </td></tr>

        </table>


</ul>
<h1>4.  Opinion</h1>
<ul>

        [Place the text of any opinion here.]

        <!--
        Place the text of any opinion here.  Note that if the decision is
        to reject then opinion text is mandatory.  The decision should,
        where possible and especially for a rejection, express the principles
        that underly the decision.  If the application of the principle is
        limited or "special" for this case, be sure to identify that.

        This section should also capture the content and resolution of the major
        issues uncovered during the committee's deliberations.  Unless there
        are only one or two issues, use a subsection for each, by adding
        headers for each issue or related group of issues; e.g.:
        -->

        <h2>4.1 Issue Title</h2>

        <ul>

        [Text about that issue here.]


        </ul>
</ul>
<h1>5.  Minority Opinion(s)</h1>
<h1>5.1  SWT Library</h1>
<p>My opinion is that it's not a maintenance nightmare to support two versions 
or locations
for the SWT components and I can easily envision the need to have a production 
version
and a development version of a library.  How else to produce software for the 
next
supported release?

<p>Secondly, this arrangement makes the Eclipse install on Solaris
different from all other OSes.  This will serve to reduce acceptance by the 
development
community.

<p>Thirdly, every step Sun takes that diverges our version of Eclipse from the 
freely downloadable
version is wasted effort on our part.  It increases the time between new 
releases and their availability
on Solaris as well as putting a burden on the NetBeans team.

<p>I think the fundamental issue is the difference between a developer platform 
and a 
production platform. Solaris as a developer platform MUST allow open source 
tools 
like this to function as designed, otherwise we sacrifice developer mindshare. 
The TCRs established by this review actually cripple the deliverable. 
Furthermore, 
a developer (non-root) installation has no system-wide reliability or security 
impact.

<p>SWT actually belongs to Eclipse, and Eclipse has taken ownership of it and 
will 
automatically update it through their own mechanism.
<h1>5.1  IPS </h1>

<p>To my mind, ideally, an open project such as OpenSolaris should not always 
be held 
captive to support requirements by SMI.  With regard to particular other open 
source 
projects, especially where those projects maintain their own community-driven 
support 
channels; we should not always, as a rule, opt to override those support 
ecosystems 
on the assumption that this provides lower support costs for SMI.  In this 
particular 
case, this very likely would result in a broken user experience, and is a great 
departure from the integration of this tool on every other platform that it 
runs on.  
I would add that the TCR requiring that the auto-update functionality be 
decorated 
with obvious warnings increases the user experience gap.  This most likely 
leaves 
the user in a lurch the moment he attempts to install one of the copious 
plug-ins 
or add-ons and the update functionality is invoked automatically.

<p>I believe the onus here should be on the IPS project team to address the 
need to 
integrate future products which feature self-updating functionality.  Until SMI 
develops an answer for how it will thrive as downstream consumer of so many 
projects 
originating in other open communities, especially those that provide their own 
patch/fix/update/extend ecosystems, it can not do no better than always 
discourage 
or disable this functionality in projects.  A solution should be found for 
better 
integration of this functionality within the packaging system so that the 
answer 
will not always be "it self-updates everywhere but here". 
<h1>6.  Advisory Information</h1>
<ul>

[Any editorial or advisory information goes here.]

        <!--
        If there is editorial, or advisory information the committee wishes
        to express, place that here.  This is information that may be used
        by the project or management as they see fit.  It could include
        observations about costs, techniques, suggestions for different
        design decisions, and the like.  This section is where advice to
        product approval committees about the project's ramifications should go.
        -->

</ul>
<h1>Appendices</h1>
<ul>

        <h2>Appendix A: Technical Changes Required</h2>

        <!--If there are mandatory technical changes, enumerate them here.-->

        <ol>
                <li>Eclipse creates the password file with 644 permissions and 
the
            directories with 755 permissions.  This is too permissive.  It 
            must create the file with 600 or 400 and the directories with 700.
        </li>
                <li>Eclipse uses a single key to generate the encrypted 
password file 
            for CVS for every installation.  It must use a different key for
            each install.
        </li>
                <li>Eclipse uses the SWT libraries, which are included in 
Solaris as 
            part of LSARC 2008-462.  Eclipse must use the common system-wide
            SWT and not its own.
        </li>
                <li>Eclipse must include a man page with the admonishment that 
using the
            standard Eclipse installation and update mechanism will make updates
            using IPS difficult or impossible.
        </li>

        </ol>

        <!-- else, if none: -->



        <h2>Appendix B: Technical Changes Advised</h2>
                
        <!--As in Appendix A, list specific changes that the committee 
advises.-->

        <!-- else, if none: -->

        <ul> None </ul>



        <h2>Appendix C: Reference Material</h2>

                <!--List reference material.

                The references must include the project's specification and 
should
                include the case's mail file, and other submission material as
                appropriate.  It is often useful to include references to 
related
                cases, as well.  This section should help guide the reader 
through
                the material, so include a short explanation with each 
reference.

                URLs should be relative to the current directory, assuming
                that this file is in the case directory, e.g. if this file
                is assumed to be in directory *ARC/1996/666 .

                HTML files should have the extension ".html".
                Text files should have the extension ".txt".
                PostScript files should have the extension ".ps".
                Other kinds of files should include the file format
                in the descriptions.  Also, large files (approx.
                larger than 1M) should so state in the description.
                -->

        Unless otherwise stated, path names are relative to the
        <A HREF="/Projects/LSARC/2008/626">

        case directory (LSARC/2008/626)</A>.
        <P>
        <ol>
        <!--  1 --><li> <a 
href="[commitment.materials/20081104.2008.626.commitment]">
                        [commitment.materials/20081104.2008.626.commitment]
                        </a><br>
                        [meeting minutes]

        <!--  2 --><li> <a 
href="[commitment.materials/20081118.2008.626.commitment]">
                        [commitment.materials/20081118.2008.626.commitment]
                        </a><br>

                        [meeting minutes]


        <!-- and so on -->
        </ol>
</ul>

</body>
</html>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20081120/2e960519/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Michael_Kearney.vcf
Type: text/x-vcard
Size: 347 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20081120/2e960519/attachment.vcf>

Reply via email to