On Mar 8, 2008, at 10:09 AM, David Jencks wrote:
There's been a bunch of discussion on legal-discuss recently about
exactly what should be in the license and notice files and after
looking over the remote-resource-plugin I think we could use it to
provide correct and useful information by doing the following:
1. Produce 3 files: LICENSE, NOTICE, and DEPENDENCIES (new)
2. The standard LICENSE and NOTICE files would be ALv2 and the
standard NOTICE (with ".vm" appended to the file name). No
processing except date range if appropriate.
3. Additional licenses and notices need to be ascertained by hand
and files containing these additions put in src/main/appended-
resources. For instance src/main/appended-resources/LICENSE and
src/main/appended-resources/NOTICE
4. In addition, for the convenience of our users, we provide a list
of transitive dependencies with origin. This would be pretty
similar to what the standard resource bundle puts into the NOTICE
file.
5. genesis would be modified to use this plugin and this bundle by
default.
David Blevins has a dependencies plugin at codehaus/swizzle that
provides hierarchy information by indenting but doesn't seem to
provide provenance. At this point I think I'd prefer the
provenance info to the indentation. If someone has an idea about
how to get both easily I'm all ears.
I'd prefer it if there was an easy way to roll up NOTICES and
LICENSES for projects that physically include jars from other
projects (such as our servers and jee applications and plugins) but
I think that leaving that capability to future developments in the
m-r-r-p might be wise.
I'm having some trouble getting the genesis release OK without the
m-r-r-p so I'd kinda like to get this implemented in the next day
or two.
Thoughts?
thanks
david jencks
so I have some sample output...
NOTICE for tools-maven-plugin:
Genesis Plugins :: Tools
Copyright 2003-2008 Apache Software Foundation
This product includes software developed at
Apache Software Foundation (http://www.apache.org/).
(I seem to have lost the blank lines and can't figure out how to get
them back in)
DEPENDENCIES
// ------------------------------------------------------------------
// Transitive dependencies of this project determined from the
// maven pom organized by organization.
// ------------------------------------------------------------------
Genesis Plugins :: Tools
From: 'an unknown organization'
- Unnamed - ant:ant:jar:1.6.5 ($project.url) ant:ant:jar:1.6.5
- Unnamed - junit:junit:jar:3.8.1 ($project.url) junit:junit:jar:
3.8.1
From: 'Apache Software Foundation' (http://www.apache.org/)
- Maven Artifact (http://maven.apache.org/maven-artifact)
org.apache.maven:maven-artifact:jar:2.0.4
- Maven Artifact Manager (http://maven.apache.org/maven-artifact-
manager) org.apache.maven:maven-artifact-manager:jar:2.0.4
- Maven Model (http://maven.apache.org/maven-model)
org.apache.maven:maven-model:jar:2.0.4
- Maven Plugin API (http://maven.apache.org/maven-plugin-api)
org.apache.maven:maven-plugin-api:jar:2.0.4
- Maven Profile Model (http://maven.apache.org/maven-profile)
org.apache.maven:maven-profile:jar:2.0.4
- Maven Project Builder (http://maven.apache.org/maven-project)
org.apache.maven:maven-project:jar:2.0.4
- Maven Repository Metadata Model (http://maven.apache.org/maven-
repository-metadata) org.apache.maven:maven-repository-metadata:jar:
2.0.4
- Maven Local Settings Model (http://maven.apache.org/maven-
settings) org.apache.maven:maven-settings:jar:2.0.4
- Maven Wagon API ($project.url) org.apache.maven.wagon:wagon-
provider-api:jar:1.0-alpha-6
From: 'Codehaus' (http://codehaus.org)
- Plugin Support (http://mojo.codehaus.org/plugin-support)
org.codehaus.mojo:plugin-support:jar:1.0-alpha-1
From: 'Codehaus' (http://www.codehaus.org/)
- Default Plexus Container ($project.url)
org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9
- Plexus Common Utilities ($project.url)
org.codehaus.plexus:plexus-utils:jar:1.2
From: 'The Apache Software Foundation' (http://jakarta.apache.org)
- Commons JEXL (http://jakarta.apache.org/commons/jexl/) commons-
jexl:commons-jexl:jar:1.1
- Lang (http://jakarta.apache.org/commons/lang/) commons-
lang:commons-lang:jar:2.3
- Logging (http://jakarta.apache.org/commons/logging/) commons-
logging:commons-logging:jar:1.0.4
From: 'The Codehaus' (http://codehaus.org/)
- classworlds (http://classworlds.codehaus.org/)
classworlds:classworlds:jar:1.1-alpha-2
thanks
david jencks