You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Rick Hillegas <Ri...@Sun.COM> on 2005/10/31 22:06:03 UTC

ASL

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). Apache advises us to 
include a short copyright notice in "each source file (code and 
documentation) but excluding the LICENSE and NOTICE files)". The 
definition of source and documentation is a little vague although it 
seems to include LICENSE and NOTICE files which are immediately and 
happily excluded.

So what constitutes source and documentation? A reasonable person might 
suppose these terms to include every file under various subversion roots 
including https://svn.apache.org/repos/asf/db/derby/code/trunk and 
https://svn.apache.org/repos/asf/db/derby/docs/trunk. But a quick glance 
at our source tree indicates that this is not what we intend. We don't 
seem to include copyright notices in:

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

o Other properties files used to control configurations and tests.

o Ant build scripts.

o Documentation on how to build and test Derby.

Where do we state our rules about which files require copyright notices? 
Is this the implicit rule:

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

Or should a first-time contributor apply some other implicit rules:

o When creating a new subversion controlled file, first look for an 
existing file with the same extension. If the existing file you picked 
has a copyright notice, then include a copyright notice in your new file.

o If your new file has a completely novel extension and there's no 
corresponding file under source control, then do what seems reasonable 
to you.

Re: ASL boilerplate on source

Posted by Andrew McIntyre <mc...@gmail.com>.
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