couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Anderson <>
Subject Fwd: Code contribution to ASF - What are the minimum actions
Date Mon, 02 Feb 2009 23:38:36 GMT
This is a very helpful document. If Apache were an office, I think it
would be hanging on the wall. This should make a good checklist for us
as we prepare the 0.9 release.

---------- Forwarded message ----------
From: Craig L Russell <>
Date: Mon, Feb 2, 2009 at 3:24 PM
Subject: Re: Code contribution to ASF - What are the minimum actions

Not unlike much of the [DRAFT] incubator documentation, some of the
information might appear to be self-contradictory; but reading it all
together it makes sense to me:
<DRAFT Podling Bootstrap>
Once a JIRA has been created, the source should be cleaned up.

       • Ensure source files use the standard Apache boilerplates.
This may mean replacing existing license headers. The tools
in and may be
       • Ensure that NOTICE and LICENSE documents are present and correct
       • Add any required notices. Consider moving copyright
attributions from source documents to the NOTICE. Read Apache policy
on headers .
       • Audit the source for any potential licensing issues. Any
which are found should either resolved immediately (when required) or
noted in the status document for later.

It is recommended that the initial clean up be is started before the
code is committed. It MUST be completed before any releases are cut.

Clean Up Best Practice
It is recommended that version control is used to create a public
record of the process. This will assist anyone auditing the code
provenance (now or in the future) to easily perform due diligence
without contacting the people who performed the clean up. The clean up
process should therefore clearly document (using version control) the
evolution of the IP licensing.

Particular care needs to be taken with commit messages during clean
up. The intended audience needs to include lawyers and code auditors.
Members of the public need to be able to follow and understand the
process from these messages alone.

It is therefore recommended that the initial source is (after being
expanded from the archive) checked in as is into a special directory
(${project}/trunk/import is suggested). The original packaging,
copyright statements and license notices should be preserved. A
standard Apache LICENSE and appropriate NOTICE should be added at the
top for the copyright for the collective work (see policy ). Take
particular care with this commit message. As with any patch that
contains code which is not the original work of the committer, the
JIRA url (for the artifact imported) needs to be included together
with notes about the original copyright owner and any associated
paperwork. The fact that this is a exact import including original
headers should be noted to stop any queries about these foreign

The cleanup should then proceed in a number of commits. If the source
provenance is complex, break the process up into a number of logical
steps committing each in turn with a good message.

In particular, take care when relocating copyright statements and
license notices into the NOTICE in the root directory: consider moving
each copyright owner individually so that it is easier to audit. (See
policy .)

Once a section of code has been cleaned up (and repackaged, if
necessary) normal development can begin.

</DRAFT Podling Bootstrap>

The way I read the above, it's recommended to do the actual cleanup in
the incubator svn. The initial cleanup is be started [sic] outside the
incubator, but checking on licensing issues, finding all contributors,
looking for copyright notices.

But in the end, this is all just guideline. Mentors have the
responsibility to guide their podlings in The Way.

more below...

On Jan 29, 2009, at 12:01 AM, Niclas Hedhman wrote:

> On Thu, Jan 29, 2009 at 8:05 AM, William A. Rowe, Jr.
> <> wrote:
>> Craig L Russell wrote:
>>> This process provides an audit trail that answers the question "who
>>> changed the license and were they authorized to do so?"
>> If the owner of the code or an agent thereof commits the code
>> (or submits it for svn import or migration) already correctly
>> branded, there is no problem.  We don't need a trail, we have
>> a contribution agreement.
> Exactly. Craig, I don't see why it is ASF's problem to track IBM's
> internal affairs prior to Incubation. We should not go looking for
> problems (e.g. patents), and if we receive a paper from IBM, saying
> "We contribute this, already under Apache license...", why would we
> need to know what has happened prior to that?
>> The current incubator guidelines suggest that code *not* be
>> changed before contribution but be changed in svn. See
>> for details on the process.
> Uh.... It seems we read differently, "It is recommended that the
> initial clean up be is started before the code is committed." and by
> virtue of above, why not simply have that in place before it leaves
> the hands of a single contributor? Why make it harder than needed?

The original question from Steve Poole was:
> Here is my list of whats required at minimum
> 1 - check that everything contained is intended for contribution
> 2 - remove any artifacts and source that are not original works by IBM
> I'm sure it can't be as simple as that - can someone help me by pointing out whats missing?

And your reply was
> 3. Provide the contribution to the project under a Apache License.
> (Makes the incubation process smoother).

I continue to maintain that it is as simple as Steve originally said.
Cleanup can/should/and *will* occur in the incubator svn prior to

> Cheers
> Niclas
> --
> - New Energy for Java
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

Craig L Russell
Architect, Sun Java Enterprise System
408 276-5638
P.S. A good JDO? O, Gasp!

To unsubscribe, e-mail:
For additional commands, e-mail:

Chris Anderson

View raw message