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]