harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "bootjvm" <boot...@earthlink.net>
Subject Re: [general] centralization of the NOTICE, COPYRIGHT, etc files
Date Mon, 15 Jan 2007 03:56:54 GMT

All,

Now that Harmony has graduated from the incubator
and several contributions have been checked in, and now
that the federated build process in 'enhanced/trunk' is getting
off the ground, it is probably time to take another look at the
outstanding matter of centrally managed administrative files.  At
this time, this means that the root of various directory trees
contain some or all of the following files: COPYRIGHT, LICENSE,
NOTICE, THIRD_PARTY_NOTICES.txt.  In addition,
the 'harmony/enhanced/jchevm' tree contains a couple
of unique files of this genre.

Geir originally suggested condensing the various identical LICENSE
files and the like into one (back in July).  By October 2, the discussion
took the form of a first pass idea plus comments from the list. (The list's
discussion to date follows at the end of this message.)  But with the
prospect of incubator graduation and new contributions, this second
attempt seems to me a bit more focused and mature in my thinking
about the issue.  Here is the substance of what I propose:

1.  Make _sure_ to set EOL style to 'native' on all affected files.

2.  Add Intel's 2006 copyright from a new contribution to the
     centralized 'enhanced/trunk/COPYRIGHT' file.

3.  Remove almost all COPYRIGHT, LICENSE, NOTICE, and
    THIRD_PARTY_NOTICES.txt files in favor of a symbolic
    link to the equivalent file in 'enhanced/trunk'.  These files contain
    the complete superset of all other files that will be replaced with
    a symbolic link.  Intel's 2006 copyright claim for a contribution
    is the only change that will be made to these files:

        enhanced/trunk/COPYRIGHT
        enhanced/trunk/LICENSE
        enhanced/trunk/NOTICE
        enhanced/trunk/THIRD_PARTY_NOTICES.txt

4.  Two exceptions to this rule are some similarly-named files
     in '/enhanced/jchevm' which cover special circumstances
    of that contribution.  Those files will, however, be adjusted
    to use native EOL style in SVN.

5.  The complete list of affected files follows this narrative
    and precedes the previous list e-mail discussion.

This is everything that needs to be done now.  Several adjustments
along the way have made other ideas either obsolete or have already
been accounted for.

Comments are solicited, especially from Tim Ellison and Geir Magnusson.

I would appreciate it if everyone could respond within about a week, namely
by January 22.  I would like to perform the SVN adjustments soon thereafter.
Thanks for your time in evaluating this proposal.

Dan Lydick


#
# Summary of all activities:
#
# enhanced/trunk/COPYRIGHT
#     Change EOL property to 'native'.
#
#     Recommend adding language:
#         (C) Copyright 2006 Intel Corporation
#
# enhanced/trunk/LICENSE
#     Change EOL property to 'native'.
#
# enhanced/trunk/NOTICE
#     Change EOL property to 'native'.
#
# enhanced/trunk/THIRD_PARTY_NOTICES.txt
#     No changes.
##########
# ./enhanced/jchevm/LICENSE.sablevm
#     Change EOL property to 'native'.
#     Due to special provisions,  recommend no changes to this file.
#
# ./enhanced/jchevm/NOTICE
#     Change EOL property to 'native'.
#     Due to special provisions,  recommend no changes to this file.
##########
#
# ./enhanced/classlib/trunk/COPYRIGHT
# ./enhanced/classlib/trunk/modules/rmi/COPYRIGHT
# ./enhanced/drlvm/trunk/COPYRIGHT
# ./enhanced/drlvm/trunk/vm/gc_cc/COPYRIGHT
# ./enhanced/drlvm/trunk/vm/gc_gen/src/COPYRIGHT
# ./enhanced/jdktools/trunk/modules/jpda/COPYRIGHT.txt
# ./enhanced/tools/trunk/jmx_console/COPYRIGHT
#     Remove in favor of symbolic link to ./enhanced/trunk/COPYRIGHT
#####
# ./enhanced/classlib/trunk/LICENSE
# ./enhanced/classlib/trunk/modules/rmi/LICENSE
# ./enhanced/drlvm/trunk/LICENSE
# ./enhanced/drlvm/trunk/vm/gc_cc/LICENSE
# ./enhanced/drlvm/trunk/vm/gc_gen/src/LICENSE
# ./enhanced/jchevm/LICENSE
# ./enhanced/jdktools/trunk/LICENSE
# ./enhanced/jdktools/trunk/modules/jpda/LICENSE.txt
#
./enhanced/tools/trunk/eclipse/org.apache.harmony.eclipse.jdt.launching/LICE
NSE
# ./enhanced/tools/trunk/jmx_console/LICENSE

#     Remove in favor of symbolic link to ./enhanced/trunk/LICENSE
#####
# ./enhanced/classlib/trunk/NOTICE
# ./enhanced/classlib/trunk/modules/rmi/NOTICE
# ./enhanced/drlvm/trunk/NOTICE
# ./enhanced/drlvm/trunk/vm/gc_cc/NOTICE
# ./enhanced/drlvm/trunk/vm/gc_gen/src/NOTICE
# ./enhanced/jdktools/trunk/NOTICE
# ./enhanced/jdktools/trunk/modules/jpda/NOTICE.txt
# ./enhanced/tools/trunk/jmx_console/NOTICE

#     Remove in favor of symbolic link to ./enhanced/trunk/NOTICE
#####
# ./enhanced/classlib/trunk/THIRD_PARTY_NOTICES.txt
#     Remove in favor of symbolic link to
./enhanced/trunk/THIRD_PARTY_NOTICES.txt
#

===================================================

> [Original Message]
> From: Tim Ellison <t.p.ellison@gmail.com>
> To: <harmony-dev@incubator.apache.org>
> Date: 10/2/06 1:27:19 PM
> Subject: Re: [general] centralization of the NOTICE, COPYRIGHT, etc files
>
> There's a lot to take in here Dan.  Some comments in-line.
>
> bootjvm wrote:
> > A while back, Geir asked for someone to volunteer to take a
> > look at his first pass at gathering all of the COPYRIGHT,
> > LICENSE, NOTICE, and other such files from the top level of
> > the several Harmony directory trees that he had gathered
> > them into 'harmony/enhanced/trunk'.
>
> Ok.  There is certainly duplication in places, the challenge is to
> ensure that the modular code structure stays intact (so we don't end up
> with, say, JCHEVM notices in a build that doesn't contain the code!)
>
> > I have taken a look at these and have summarized them below.
> > Following that is a short proposal as to what to do about
> > finishing this process that Geir started by eliminating the
> > redundancies while retaining the unique elements of these
> > files for each area.  From the Harmony SVN repository
> > https://svn.apache.org/repos/asf/incubator/harmony/enhanced:
> > 
> > trunk/
> >     COPYRIGHT -- contains these declarations:
> >         (C) Copyright 2005 Intel Corporation
> >         (C) Copyright 2005-2006 Intel Corporation
> > 
> >     INCUBATOR_NOTICE.txt
> >         "...Incubation is required of all newly accepted projects..."
> > 
> >     LICENSE
> >         Apache License
> >           Version 2.0, January 2004
> >             http://www.apache.org/licenses ...
> >               TERMS AND CONDITIONS FOR USE, REPRODUCTION, ...
> >                 1. Definitions.  ...
> > 
> >     NOTICE -- re ASF License 2.0 section 4 d:  "Portions of Harmony..."
> >         Intel Corporation
> >         Internet Society RFC 3280 re X.509 Public Key Infrastructure
>
> Currently, I take the NOTICE file to be our (Apache's) notices to the
> recipient, such as the copyright statement and arguably the incubator
> notice, and...
>
> >     THIRD_PARTY_NOTICES.txt -- regarding a number of packages:
>
> THIRD_PARTY_NOTICES is the notices that we pass on from code/resources
> we have used in our implementation.  In principle we can roll them all
> into a single NOTICE file if that helps.
>
> >         ICU4C version 3.4:
> >             ICU License - ICU 1.8.1 and later-- IBM 1995-2005
> >         ICU4J version 3.4:
> >             ICU4J 1.3.1 and later-- IBM 1995-2005
> >         ICU4JNI version 3.4:
> >             ICU4JNI 1.3.1 and later-- IBM 1995-2005
> >         FDLIBM version 5.2:
> >             Sun 2004
> >         ZLIB version 1.2.3:
> >             1995-2004 Jean-loup Gailly and Mark Adler
> >         Visual C++ Runtime Files:
> >             The file msvcr71.dll is the Microsoft(R) C Runtime Library.
> >             This file is redistributed from Microsoft(R) Visual
> >             Studio 7.1
> >         Bouncy Castle version 133:
> >             2000 - 2006 The Legion Of The Bouncy Castle
> >         MX4J 3.0.1:
> >             The MX4J License, Version 1.0
> >             Copyright (c) 2001-2004 by the MX4J contributors
> >         The Independent JPEG Group's JPEG software
> >             1991-1998, Thomas G. Lane
> >         Little CMS
> >             1998-2004 Marti Maria
> >         libpng
> >             2004, 2006 Glenn Randers-Pehrson
> >         Unicode Character Database
> >             1991-2005 Unicode, Inc.
>
> Yep.  Some of these are required notices and some are courtesy notices.
>
> > classlib/trunk
> >     COPYRIGHT
> >         identical to 'trunk/COPYRIGHT' regarding
> >            "(C) Copyright 2005 Intel Corporation"
> > 
> >     LICENSE
> >           identical to 'trunk/LICENSE'
> > 
> >     NOTICE
> >           identical to 'trunk/NOTICE'
> > 
> >     README.txt
> >         "...Incubation is required of all newly accepted projects..."
> >         same as 'trunk/INCUBATOR_NOTICE.txt', plus additional
information
> >         following)
> > 
> >     THIRD_PARTY_NOTICES.txt
> >         identical to 'trunk/THIRD_PARTY_NOTICES.txt'
>
> I expect that many of these were copied-up (rather than moved), hence
> the duplication.
>
> > classlib/trunk/modules/rmi
> >     COPYRIGHT
> >         identical to 'trunk/COPYRIGHT' regarding
> >            "(C) Copyright 2005-2006 Intel Corporation"
> > 
> >     LICENSE
> >         identical to 'trunk/LICENSE'
> > 
> >     NOTICE
> >         identical to 'trunk/NOTICE' portion regarding Intel Corporation
>
> A hang-over from the original contribution -- I think these can be
> merged-up now.
>
> > drlvm/trunk
> >     COPYRIGHT
> >         identical to 'trunk/COPYRIGHT' regarding
> >            "(C) Copyright 2005-2006 Intel Corporation"
> > 
> >     LICENSE
> >         identical to 'trunk/LICENSE'
> > 
> >     NOTICE
> >         identical to 'trunk/NOTICE' portion regarding Intel Corporation
> > 
> > jchevm
> >     LICENSE
> >         identical to 'trunk/LICENSE'
> > 
> >     NOTICE
> >         Same as 'trunk/NOTICE' portion regarding portion
> >         regarding, "This product includes software developed by the ASF"
> >         but then adds info about code derived from the SableVM project.
> > 
> > 
> > Here is a possible way to meet Geir's original objectives:
> > 
> >    (1) Make 'trunk' the focal point where all such files are gathered.
>
> which trunk <g>?
>
> >    (2) For files that are completely common between the projects, such
> >        as 'LICENSE', remove the copies in each directory and replace
> >        them in SVN with a symbolic link to the version in 'trunk'.
>
> 'the projects'?  and what do you mean by symbolic link?  more
> svn:externals :-( ?
>
> >    (3) For files that have significant redundant content, replace the
> >        common portions of these files with statements referencing the
> >        relevant language in a like-named file in 'trunk'.  As an
> >        alternative, retain the language but add a reference to
> >        the common file.
>
> I would imagine that the duplication is in boilerplate files like the
> ASL file, but is there duplication in third party notices between
> 'classlib', 'drlvm', 'jchevm', etc.?
>
> >    (4) In order to protect the integrity of the licensing agreements
> >        for bulk contributions, maintain their existing 'COPYRIGHT'
> >        files as they stand, but add a related file to 'trunk' that
> >        has the same exact contents.  Should the original files change,
> >        which is highly unlikely, since it concerns a historical event,
> >        then the 'trunk' version would be updated also.  (By keeping
these
> >        files as they stand, then there can never be any question as to
> >        the arrangement by which that code came into the ASF, thus
> >        protecting all parties.)  The relevant files are:
> > 
> >          classlib/trunk/COPYRIGHT:  "(C) Copyright 2005 Intel
Corporation"
> > 
> >          classlib/trunk/modules/rmi/COPYRIGHT:
> >                                     "(C) Copyright 2005-2006 Intel
> > Corporation"
> > 
> >          drlvm/trunk/COPYRIGHT:     "(C) Copyright 2005-2006 Intel
> > Corporation"
> > 
> >        The suggested additions become:
> > 
> >          trunk/COPYRIGHT.classlib:  "(C) Copyright 2005 Intel
Corporation"
> > 
> >          trunk/COPYRIGHT.dlrvm:     "(C) Copyright 2005-2006 Intel
> > Corporation"
> > 
> >          trunk/COPYRIGHT:           remove this file
> > 
> >        The existing file 'trunk/COPYRIGHT' would be removed because it
only
> >        contains the messages from the two other directories, yet does
not
> >        state which copyright notice goes with which contribution.
>
> What is the difference, therefore, between having
>     classlib/trunk/COPYRIGHT
>     drlvm/trunk/COPYRIGHT
> and
>     trunk/COPYRIGHT.classlib
>     trunk/COPYRIGHT.dlrvm
>
> >    (5) The LICENSE files may be combined into one central location:
> > 
> >        trunk/LICENSE                The central focus and target of all
> > others
> > 
> >        classlib/trunk/LICENSE       Replaced by symbolic link to
> > 'trunk/LICENSE'
> > 
> >        classlib/trunk/modules/rmi/LICENSE
>
> Not sure that we need to call out RMI as a special case.
>
> >                                     Replaced by symbolic link to
> > 'trunk/LICENSE'
> > 
> >        drlvm/trunk/LICENSE          Replaced by symbolic link to
> > 'trunk/LICENSE'
> > 
> >        jchevm/LICENSE               Replaced by symbolic link to
> > 'trunk/LICENSE'
> > 
> > 
> >    (6) The NOTICE files retain their existing text, but adds a statement
> > such
> >        as, "This notice also appears in the main
> > 'harmony/enhanced/trunk/NOTICE'
> >        file, where all such notices appear."
>
> That won't mean much to the recipient of a build though.
>
> > 
> >        trunk/NOTICE                 Contains a grand union of all NOTICE
> > files.
> > 
> >        classlib/trunk/NOTICE        Adds this message at the end of its
text
> > 
> >        classlib/trunk/modules/rmi/LICENSE
> >                                     Adds this message at the end of its
text
> > 
> >        drlvm/trunk/LICENSE          Adds this message at the end of its
text
> > 
> >        jchevm/LICENSE               Adds this message at the end of its
text
> > 
> > 
> >    (7) The THIRD_PARTY_NOTICES.txt files may be combined into one
> >        central location:
> > 
> >        trunk/THIRD_PARTY_NOTICE.txt   The central focus and target of
all
> > others
> > 
> >        classlib/trunk/THIRD_PARTY_NOTICE.txt
> >                                     * Replaced by symbolic link to
> >                                         'trunk/THIRD_PARTY_NOTICES.txt'
> > --OR--
> >                                     * Add language at the end of this
file
> > to
> >                                         the effect "this list is part of
> >                                         a project-wide list found in
> >                                         'trunk/THIRD_PARTY_NOTICES.txt'
> >                                         (Comments?)
>
> As above, is there overlap here?
>
> >    (8) Ad hoc changes to selected files, namely:
> > 
> >        classlib/trunk/README.txt    Remove language that is identical to
> >                                     'trunk/INCUBATOR_NOTICE.txt', then
> >                                     in its place, add reference to that
file
> >                                     for such information.
>
> Do you need to cross-reference like this?
>
> >    (9) All other files are unchanged, namely:
> > 
> >        trunk/INCUBATOR_NOTICE.txt
> > 
> > 
> >   (10) In _all_ such files, set 'svn propset svn:eol-style=native' to
avoid
> >        white space differences in comparison between them and usage by
all
> >        interested parties without wrangling with this issue.
>
> Sure.
>
> >   (11) Future bulk contributions 'harmony/enhanced/foo' would then
> >        follow this same general approach:
> > 
> >        (a) to gather all common files into 'harmony/enhanced/trunk' and
> >            point symbolic links to them.
> > 
> >        (b) Add a 'harmony/enhanced/trunk/COPYRIGHT.foo' file containing
> >            their prior copyright information.
> > 
> >        (c) Any NOTICE file would add the appropriate reference to
> >            'trunk/NOTICE' and extend that file with any new language.
> > 
> >        (d) Third party notices would be added at the end of
> >            'trunk/THIRD_PARTY_NOTICES.txt' and add a symbolic
> >            link 'foo/THIRD_PARTY_NOTICES.txt' to point to that addition,
> >            or add a file by that name containing _only_ the new
> >            information and language referring to the global one. 
> > (Comments?)
>
> Hopefully covered by comments above.
>
> >   (12) Suggest replacing the name 'THIRD_PARTY_NOTICES.txt' simply
> >        with 'THIRD_PARTY_NOTICES' (for consistency in naming), perhaps
> >        in 'classlib/trunk' adding a symbolic link with the old name
> >        pointing to the new.
>
> Sure
>
> > Your comments would be appreciated.
>
> Thanks for tackling it Dan.
>
> Regards,
> Tim
>
>
> > Dan Lydick
> > 
> >> [Original Message]
> >> From: Geir Magnusson Jr <geir@pobox.com>
> >> To: <harmony-dev@incubator.apache.org>
> >> Date: 7/20/06 9:52:37 PM
> >> Subject: Re: [general] centralization of the NOTICE, COPYRIGHT, etc
files
> >>
> >> Well, go for it!  See what I have in there now and see what you
think...
> >>
> >> geir
> >>
> >>
> >> bootjvm wrote:
> >>> Geir,
> >>>
> >>> I have been working off and on with on putting together
> >>> a contribution for this purpose.  It has all the things you
> >>> mentioned plus some more things.  If you like, I would
> >>> be glad to put it together shortly and submit for The List's
> >>> inspection and approval.  What do you say?
> >>>
> >>>
> >>> Dan Lydick
> >>>
> >>>
> >>>> [Original Message]
> >>>> From: Geir Magnusson Jr <geir@pobox.com>
> >>>> To: <harmony-dev@incubator.apache.org>
> >>>> Date: 7/20/06 2:07:14 PM
> >>>> Subject: [general] centralization of the NOTICE, COPYRIGHT, etc files
> >>>>
> >>>> If you haven't guessed from my random checkins, questions, and
> >>>> befuddlement, I'm finishing off a first cut at a federated build.
> >>>>
> >>>> The plan is to cut a hdk and a jre snapshot.  The HDK will contain
the
> >>>> jre, but I thought it would be more conventional for users to get a
> >>>> plain jre and not have to figure out what a HDK is.
> >>>>
> >>>> Now, I want to coalesce the NOTICE, COPYRIGHT, 3rd party, etc files
> > into
> >>>> one project-wide file in
> >>>>
> >>>> enhanced/trunk/
> >>>>
> >>>> and replace the ones we have in classlib/, drlvm/ etc with a NOTICE,
> > etc
> >>>> file that points to the root one.
> >>>>
> >>>> Any complaints, suggestions?
> >>>>
> >>>> geir
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >>>> For additional commands, e-mail:
harmony-dev-help@incubator.apache.org
> >>>>
> >>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >>
> > 
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> > For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> > 
> > 
>
> -- 
>
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>




Mime
View raw message