DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
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.
Estimation process:
Goal: Work out how much effort it will take to do license clearing process on the entire NuttX codebase, ideally with information on the whole project and by section, so we can prioritize by the highest reward / effort ratio sections.
- Get all authors of all files, using the file headers and git log.
- Create a table of statistics for each section and each file
- Author name and email, by volume of code (lines)
- create a CSV for each section and each file
- Create a report that can summarize sections, authors, code volume
Notes:
- First pass can omit code volume
- Ideally process would be completely automated, one shell or python script
License Clearing Process 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 SGAs Individual Contributor License Agreements (ICLAs) from all the committers that don't have them. Update the list of authors with SGAsICLAs.
- When all SGAs 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 SGAs Get ICLAs from all the authors that don't have them. Update the list of authors with SGAsICLAs.
- When all SGAs 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 and license headers should have no other changes in them
- No nxstyle changes
...
- No code changes
Project Plan
- We need to make progress each release
- The plan of attack on which files/sections to do each release should go here!
Resources
- NuttX Fossology instance (hosted by Brennan Ashton)
- License clearing tools (in this github branch for now)
- Tool for mass changing license headers (customized for NuttX) – only use on files that have had their licenses cleared in Fossology
- Apache Individual Contributor License Agreement(ICLA)
- From Justin Mclean:
To Do:
- authors.sh toollicense clearing 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