This is a page about the process of License Clearing — getting Apache Software Grant Agreements (SGAs) or Individual Contributor License Agreements(ICLAs) for all NuttX contributors. This needs to be done before NuttX can graduate from podling stage.
Here's the process we're following. Update this if it changes.
Overview:
- For each section, clear it:
- Get all authors of all files.
- Do the easy files first:
- Find the subset of files that have only NuttX committers as authors. (Use the authors.sh tool.)
- Mark the files' licenses using Fossology
- Get Individual Contributor License Agreements (ICLAs) from all the committers that don't have them. Update the list of authors with ICLAs.
- When all ICLAs for these files have been submitted, clear the files in Fossology.
- Update the license headers with the licenseheaders.py tool
- Generate a PR for Greg and others to carefully review
- Do the harder files next:
- Find the subset of files that have authors who are not NuttX committers. (Use the authors.sh tool.)
- Mark the files' licenses using Fossology
- Get ICLAs from all the authors that don't have them. Update the list of authors with ICLAs.
- When all ICLAs for these files have been submitted, clear the files in Fossology.
- Update the license headers with the licenseheaders.py tool
- Generate a PR for Greg and others to carefully review
- Mark this section done.
- When all sections are cleared, we are done. Generate a report and submit to Apache.
- Celebrate!
Practices:
- PRs that change licenses should have no other changes in them
- No nxstyle changes
- No code changes
Resources:
- NuttX Fossology instance (hosted by Brennan Ashton)
- License clearing tools (by Adam Feuer, in a github branch for now)
- Apache Individual Contributor License Agreement
- (ICLA)
- From Justin Mclean:
- Apache 3rd Party License Policy
- Apache Licensing Howto
- How to Get Your Release Through the Incubator
- Navigating the Apache Software Foundation Incubator Process presentation
To Do:
- authors.sh tool
- commit to tools/
- create help in tool for using
- create docs here for using
- fossology
- try to run 1 a and 1b for sched/
- update this page with new procedure