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 <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
>>
>
>
>
|