Intellectual Property Policies
All Dojo Committers are expected to ensure that all code checked into the Dojo repositories is contributed under the terms of a Dojo CLA. Generally this means simply asking a contributor whether or not they've submitted a CLA. If they're not a well-known contributor, you may need to verify this with Carrie Sackett (<carrie at dojotoolkit dot org>).
In some cases, however, it may be necessary to pull in code from other sources. In these cases, Committers should take the follow the steps:
- Before pulling in external code under an alternate license, attempt to secure a CLA and code donation from the original author(s) of the external software. For software which is not from a single developer, this may not be feasible. Committers MUST NOT include external code under CLA if the committer cannot verify that all contributors to the original work have filed a CLA.
- In some cases, it may not be possible to verify the external CLA situation or we may not be able to reach the author(s), it is in some cases appropriate to import an external chunk of code wholesale. This step should not be taken lightly. If you feel like this may be the right step in your situation, you MUST get clearance from your project lead.
- Project leads may only provide authorization to import external code if the code being imported is licensed in a way which is compatible with foundation goals. This may mean that even licenses for which a project itself has received a licensing variance to use. If you are a project lead and you are in the slightest bit unsure about accepting some external code or have questions about the process, do not "wing it". Ask the Foundation's Board of Directors.
- If you receive authorization from your project lead, you MUST create a file with the name "LICENSE" in the directory in which the new code resides. See an example of the format to use here. You MUST also attribute the original author in ALL imported code and note the license under which it is being used.
In most cases, the above system is not likely to come into play and all committers should work to avoid pulling in external code where is it not absolutely necessary.