The purpose of this guide is to make it straightforward for projects to follow the OpenJS Foundation IP Policy.
Of course, the source of truth remains the IP Policy.
If in doubt about anything related to IP after reading this document, first read the IP Policy, and then ask for help.
There are four key requirements for all OpenJS Foundation projects:
- Licensing
- Copyright notices
- Displaying the standard website footer on the project's website
- Adopting the DCO or a CLA
Code may be licensed under:
Documentation may be licensed under:
If you need to use a license which isn't in the IP Policy, you will need to obtain permission from the Board to do so.
The recommendation is to use a general copyright statement of the following form (where XYZ is the project's name):
- Copyright The XYZ Authors.
- Copyright The XYZ Contributors.
- Copyright Contributors to the XYZ project.
By using this format, the project avoids having to deal with names of copyright holders, years or ranges of years, and variations on the (c) symbol.
Please note that you must not change or remove existing copyright lines unless you put them there and have the right to do so. If there are existing copyright lines add the recommended copyright statement below the existing copyright lines. You may however update copyright lines that say "JS Foundation" or "Node.js Foundation" to "OpenJS Foundation" as this simply reflects the merged status of the organizations.
All project websites need to have a standard website footer.
Each project must adopt either the Developer Certificate of Origin (DCO) or a Contributor License Agreement (CLA).
There are two options for implementing the DCO on your project:
- By installing the DCO bot
- By including the following in your repository:
The DCO Bot is the preferred method and is also recommended for projects that require strict enforcement.
The Board has pre-approved an individual CLA and a corporate CLA. Projects can choose to adopt either the individual CLA by itself or both the individual CLA and the corporate CLA without any further review.
If you need to use a different CLA, you must obtain an exemption from the board.
CLAs are managed through EasyCLA.
If your project requires an exemption from the IP Policy, you will need to obtain special permission from the Board. To do so, please open an issue in the Cross Project Council repository, and assign or @-mention @bensternthal and your Project Representatives if your are an Impact project, the At Large Project Representatives if you are an At Large project, or your Champion if you are an Incubating project.
If you have any questions about this policy or need assistance with its implementation, please contact the OpenJS staff.