Bringing code to the ASF
July 18th, 2007 by HenThis is something that I think I now have straight, so here’s an info share. The initial premise is: “You are a person who wants to donate code to the ASF”.
- If you are a user and the code is a minor change, please either bring the subject up on a mailing list, or create an issue in one of the issue trackers (2 Bugzillas, 4+ JIRAs). Please attach the relevant code to the issue, if the tracker offers the option to state that this is intended for the ASF, please tick that option.
PleaseIt’s customary to avoid putting copyright statements in your contribution. - If you are a user and the code is a major piece of new functionality, then you will be required to fax in a software grant so the ASF is allowed to use your code. This holds for companies as well as users, a software grant will be needed from someone. The project the code is going to should be working with the ip-clearance materials in the Incubator.
- If you are an existing committer and the code is a minor change; then just commit.
- If you are an existing committer (ie: signer of a CLA) and the code is a major piece of functionality originally developed elsewhere then you can happily commit it, but you do need to work with the ip-clearance in the Incubator. This means adding a file to SVN - it does not mean that you have to fill out a new software grant.
- If you were made a committer as a part of the the major piece of functionality - then it’s the same as 2), but you sign the CLA instead of a grant. (I’m not 100% on this one)
This is something that I think hasn’t been that clear. I’ll update the above if I find that it is incorrect.
- ip-clearance - http://incubator.apache.org/ip-clearance/
- software grant - http://www.apache.org/licenses/#grants
- CLA - http://www.apache.org/licenses/#clas
Updated 20070719 in line with Aaron and Wendy’s comments

July 18th, 2007 at 12:51 pm
Thanks for addressing this.
A couple of comments and questions:
On #1 - should someone ‘avoid’ putting in statements or just note that such statements are not required
On #4 - I thought there was a shorter form. Maybe I’m thinking of the software grant. And is it “need to” or “should”? Is the Incubator really tasked with keeping all of these forms or should they also be included somewhere in the projects svn? I would also expect the change notes to refer to the ip-clearance.
On #5 - “instead of” or “in addition to”?
I’d like to see a document that went over the permutations of “If you are person A who wants to contribute B, then you should do C.” This should not be an Incubator specific document (though could be hosted on the Incubator project site) because it could include things like financial contributions.
July 19th, 2007 at 4:00 am
On #2, We just went through this at Shale. I thought the decision was that a single contributor with a CLA on file was _not_ required to send a software grant.
#4 reads as if a committer who implements a major feature over the weekend is not allowed to add it without filling out another form. Isn’t this just about about bringing in code that was developed elsewhere?
July 19th, 2007 at 9:51 pm
To Aaron’s comment:
On #1 - I mean that people shouldn’t put their own copyright statements in their submissions. I’m not sure if there’s any legal or organizational reason why they shouldn’t - they still retain copyright to the code (afaiu), but it’s frowned on as it’ll make a mess of the code. If someone believes strongly in retaining a label of their copyright (above and beyond svn logs), it should go in the NOTICE.
On #4 - I don’t think there’s a shorter version of the ip-clearance, but could easily be wrong. What we call the grant is a shorter version of the CLA. I think it’s supposed to be “need to” at the moment and not “should”.
On #5 - I’m a bit unsure on this one, but if the CLA is a deeper version of the grant, then I don’t see why you’d need to do CLA and grant. Doing both would be implying that having written the code before you signed a CLA made a difference.
To Wendy’s comment:
On #2 - A single committer with CLA on file does not need to. I guess if a contributor sends in a CLA and its registered, but they’re not actually a committer, then the CLA might be fine. Not sure how that works.
On #4 - Good point. It’s “major piece of functionality developed elsewhere”. An import vs an add.
July 20th, 2007 at 5:15 am
AIUI
#2 major functionality
A software grant is preferable but not always necessary.
If the copyright is owned by a single individual or organisation, then a CLA or CCLA is good enough.
If the copyright ownership is more complex than that then a software grant is needed.
#4 Same as #2 - software grant is preferred but CLA or CCLA good enough provided that the committer owns the copyright.
#5 not sure that this sequence is possible. incubator clearance is needed. clearance requires either a CLA, CCLA or software grant. committer status doesn’t matter. granting committership should be earned personally and not conditional on acceptance on IP clearance. IMHO the cleanest way to manage this situation is to ask for CLA and software grant first then clear IP. once the IP is in the code base, the project may choose to elect the contributor a committer.