harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [general] centralization of the NOTICE, COPYRIGHT, etc files
Date Mon, 02 Oct 2006 19:27:05 GMT
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