TSC/Relicensing Procedure

From fd.io
< TSC
Jump to: navigation, search

Intro

The use of Scapy in python-based test code (not actual data plane code) necessitates relicensing some of that test code. In order to ensure an orderly and trustworthy relicensing process, the procedure is outlined here:

Procedure

  1. Each gpl licensed subdir will contain a subdirectory 'relicense/'
  2. That subdirectory will contain a set of relicense assertion files, one per 'entity' where 'entity' is either a corporation or individual. If corporate, naming should be some appropriate lower case version of the corp name 'cisco' 'intel' if individual, it should be some appropriate lowercase identifier like ${user part of email address used to commit} or ${github id}. Example: relicense/edwarnicke (github id) or relicense/hagbard (user part of email address)
  3. Each relicense file must be pushed in a changeset containing just relicense file(s) (and obviously DCOed, as we require that of all commits).
  4. Individual relicense files must be pushed by the individual authorizing relicensing.
  5. Corporate relicense files must be pushed by an authorized employee of the corp
  6. Individual relicense file template:
    ******************
    I, ${legal name} hereby sign-off-by all of my past contributions which have been moved to the subdirectory ${subdir containing scapy affected files} subject to the Developer Certificate of Origin (DCO), Version 1.1 and relicense them under GPLv2.
    In the past, I have contributed using emails: ${list of emails}
    ******************
  7. Corporate relicense file template:
    ******************
    I, ${legal name} on behalf of ${corp} hereby sign-off-by all past contributions of ${corp} which have been moved to the subdirectory ${subdir containing scapy affected files} subject to the Developer Certificate of Origin (DCO), Version 1.1 and relicense them under GPLv2.
    ${corp} has contributed via the following individual's emails: ${list of emails}
    ******************