Last updated 8 June 2016.
This is the policy for 3rd party code libraries in Drupal's contribution repositories.
In general 3rd party libraries and content are forbidden, so do not commit any. Instead, document for your users how to find and install the library/content themselves.
Exceptions can be made if the 3rd party library/content:
- had to be modified to work with Drupal, and the modifications were not accepted by the original author;
- is generally difficult to find, or the specific version needed is hard to find;
- is no longer maintained by the original author;
- has a license that allows us to distribute it under GPLv2+.
Getting an exception needs explicit approval by Drupal Licensing Working Group (LWG). Exception requests should be posted in the LWG's issue queue with the component "Exception Request". (Upfront: 90% of all exception requests are moot. Only ask for an exception if it is really required.)
For any exception to be made, the 3rd party library/content MUST be licensed under GPLv2+ or have a permissive license that allows it to be re-licensed under the GPLv2+.
This policy does not apply to original code written by a project maintainer. For example, if you write an integration library to connect a Drupal module to another API, you may include it in a repository (licensed under the GPLv2+), since this will be the original version of the library.
All files checked into the repository (code and assets) must be licensed under GPL version 2 and later.
Maintainers who violate this policy or refuse to correct violations brought to their attention may have their project unpublished or Git access revoked. For more discussion see: http://drupal.org/node/418844. Related: http://drupal.org/node/66113.