On Oct 31, 2005, at 1:06 PM, Rick Hillegas wrote:

I think that a reasonable first-time contributor could be confused by Apache's rules for including copyright notices (http:// www.apache.org/dev/apply-license.html#new).

Agreed. This is perhaps intentionally vague? I guess it's best to err on the side of caution and include it if there doubt. Coincidentally, I thought about this the other day as well. But instead of launching into an analysis of the different kinds of non-java source files in the tree, I thought I would instead examine how other Apache projects handle this.

So what constitutes source and documentation? We don't seem to include copyright notices in:

o Localized message files. These really look like a kind of source code to me.

I had a hard time finding examples with which to compare. I found one places where properties files were used and these did not have the boilerplate. Another used ResourceBundles for localized messages, which, being .java files, had the boilerplate.

o Other properties files used to control configurations and tests.

In almost every .properties file I looked at while searching, the ASL boilerplate was absent. There were a few exceptions, notably lenya and geronimo.

o Ant build scripts.

For build files, the boilerplate was always absent, and this applies to maven-related files as well, and configure.in for C-based projects.

o Documentation on how to build and test Derby.

While this obviously qualifies as documentation, not a single project I checked included the boilerplate in build or test related documentation.

Where do we state our rules about which files require copyright notices?

We don't. We follow the Apache guidelines you linked in your original mail. ;-)

Is this the implicit rule:

o Only files with the extension "java" require copyright notices.

Despite the fact that this excludes certain files which should probably be considered source code (e.g. metadata.properties) and files that are generated but without which the Derby will not function (e.g. DBMS.properties), this seems to be the rule currently in use.

So, my suggestion is to continue doing what we've been doing: attach the boilerplate to .java files and leave it off of other files. If there is a problem with that course of action, someone will (hopefully sooner, rather than later) let us know.

andrew

Reply via email to