lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject [lucy-dev] ASL headers, etc.
Date Thu, 14 Oct 2010 23:52:06 GMT
Greets,

The imported grant codebase contains just shy of 1000 files; we need to update
it in accordance with these directives:

    http://www.apache.org/legal/src-headers.html
    http://www.apache.org/dev/apply-license.html

This will best be done over several stages.  I've opened LUCY-123 to track
progress:

    https://issues.apache.org/jira/browse/LUCY-123

We start by adding the file lucy/trunk/import/LICENSE, containing the text of
the ASL 2.0:

    http://www.apache.org/dev/apply-license.html#new

    To apply the ALv2 to a new software distribution, include one copy of the
    license text by copying the file:

        http://www.apache.org/licenses/LICENSE-2.0.txt
        
    into a file called LICENSE in the top directory of your distribution. If
    the distribution is a jar or tar file, try to add the LICENSE file first
    in order to place it at the top of the archive. This covers the collective
    licensing for the distribution.

(Note that the perl build routine, which is run inside the perl/ directory,
will have to be modified.  It will have to pull in LICENSE and NOTICE from
this top level... and may have to be modified in other ways as well -- we'll
deal with all that later.)

Next, we'll add NOTICE.

    In addition, a correct NOTICE file MUST be included in the same directory
    as the LICENSE file. 

Initially, NOTICE will contain only the copyright notification for the ASF
collectively, which I've adapted from the sample file at
<http://www.apache.org/licenses/example-NOTICE.txt>:

    Apache Lucy
    Copyright 2010 The Apache Software Foundation

    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).

Next, we'll modify source files.  I think it would be best to start with the
core/ and charmonizer/ directories -- with the exception of
charmonizer/README, those dirs contain only C-style files.

First, I'll remove all the copyright/license notifications that bear my name
from all the files within those dirs, which typically look like this:

    /* Copyright 2006-2010 Marvin Humphrey
     *
     * This program is free software; you can redistribute it and/or modify
     * under the same terms as Perl itself.
     */

Next, I'll install ASL headers into every file in core/, with one exception:
core/KinoSearch/Util/StringHelper.c. That file contains third-party copyright
notices, and we'll deal with it separately.

Lastly, Peter will install ASL headers into the files in charmonizer/.  (We
discussed this briefly on IRC.)

In the current source code, the copyright notices are at the bottom of the
files.  The ASF prefers that ASL header information go at the top:

    Each original source document (code and documentation, but excluding the
    LICENSE and NOTICE files) SHOULD include a short license header at the
    top.

Aesthetically, I prefer such notices at the bottom, but "When in Rome" and all
that...  For the README, though, it seems silly to put the license header at
the top.  Most README files at Apache don't even have the header, including
those at the top level of Lucene and HTTPD.  

    http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/README.txt
    http://svn.apache.org/repos/asf/httpd/httpd/trunk/README

My inclination would be to put the header at the bottom of charmonizer/README,
but it's apparently not a critical decision.

That should be enough to get us started.

Marvin Humphrey


Mime
View raw message