On Jan 15, 2007, at 12:56 AM, bootjvm wrote:


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.

+1


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

Well.... not sure. I think that right now, the various files are pulled from classlib. Certainly having them in one place is good. Maybe "common resources"?


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

You can't do links in SVN. We just need to make sure that we have a README in every root that points people to the right place for the files.


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.

Actually, I think that an alternative might be simply to have

  COPYRIGHT_CLASSIB
  COPYRIGHT_DRLVM
  COPYRIGHT_JCHEVM

etc...  so each component maintains their own info?

Dunno

geir


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 <[EMAIL PROTECTED]>
To: <[email protected]>
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 <[EMAIL PROTECTED]>
To: <[email protected]>
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 <[EMAIL PROTECTED]>
To: <[email protected]>
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- [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]




------------------------------------------------------------------ ---
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev- [EMAIL PROTECTED] For additional commands, e-mail: harmony-dev- [EMAIL PROTECTED]



------------------------------------------------------------------- --
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev- [EMAIL PROTECTED] For additional commands, e-mail: harmony-dev- [EMAIL PROTECTED]





-------------------------------------------------------------------- -
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: harmony-dev- [EMAIL PROTECTED]



--

Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: harmony-dev- [EMAIL PROTECTED]





Reply via email to