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: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> Terms of use : http://incubator.apache.org/harmony/mailing.html >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >> --------------------------------------------------------------------- >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > > > --------------------------------------------------------------------- > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [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: [EMAIL PROTECTED]
