Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

  1. Get all authors of all files, using the file headers and git log.
  2. Create a table of statistics for each section and each file
    1. Author name and email, by volume of code (lines)
    2. create a CSV for each section and each file
  3. Create a report that can summarize sections, authors, code volume

...

  • First pass can omit code volume
  • Ideally process would be completely automated, one shell or python script

License Clearing Process Overview:

  1. For each section, clear it:
    1. Get all authors of all files.
    2. Do the easy files first:
      1. Find the subset of files that have only NuttX committers as authors. (Use the authors.sh tool.)
      2. Mark the files' licenses using Fossology
      3. Get Individual Contributor License Agreements (ICLAs) from all the committers that don't have them. Update the list of authors with ICLAs.
      4. When all ICLAs for these files have been submitted, clear the files in Fossology.
      5. Update the license headers with the licenseheaders.py tool
      6. Generate a PR for Greg and others to carefully review
    3. Do the harder files next:
      1. Find the subset of files that have authors who are not NuttX committers. (Use the authors.sh tool.)
      2. Mark the files' licenses using Fossology
      3. Get ICLAs from all the authors that don't have them. Update the list of authors with ICLAs.
      4. When all ICLAs for these files have been submitted, clear the files in Fossology.
      5. Update the license headers with the licenseheaders.py tool
      6. Generate a PR for Greg and others to carefully review
    4. Mark this section done.
  2. When all sections are cleared, we are done. Generate a report and submit to Apache.
  3. Celebrate!

...

  1. NuttX Fossology instance (hosted by Brennan Ashton)
  2. License clearing tools (in this github branch for now)
  3. Tool for mass changing license headers (customized for NuttX) – only use on files that have had their licenses cleared in Fossology
  4. Apache Individual Contributor License Agreement(ICLA)
  5. From Justin Mclean:
    1. Apache 3rd Party License Policy
    2. Apache Licensing Howto
    3. How to Get Your Release Through the Incubator
    4. Navigating the Apache Software Foundation Incubator Process presentation

...