- The GPL requires that when GPL licensed code is distributed a license declaration is included.
- Hence, we should include a license declaration with all GPL code that we include with Drupal.
Some further points to clear up the inevitable questions:
- Drupal.org when distributing Drupal core itself (and contrib projects) includes LICENCE.txt with each download, so is itself in compliance.
- While site builders could in theory add license declarations themselves, it seems that fixing this in Drupal itself supports the success of the Drupal project in particular, and the principles of free and open source software in general.
- This applies to both minified and non-minified (source) code files (in the same way that licenses need to be distributed with both compiled and source for GPL projects).
- There is a more complex question of how to deal with vendor libraries (jQuery etc) and also potential broader drupal.org contributor policy around this - please discuss this in the META issue ( ).
- There is also the issue of improving the clarity and detectability of licenses in aggregated files - this is an area where there is not yet a clear best practice, but it's probably easier to work on determining these - in the META issue ( )..
- It uses @licstart and @licend tags which allow easier license detection by LibreJS (a browser plugin to allow users to opt-out of running non-free code) as well as potentially other systems/spiders.
- It is also protected from being removed by the most common minification systems by being the first comment in the file (UglifyJS), having an "important" comment mark "/*!" (YUI) and including the @license tag (Closure Compiler).
- It includes a @source tag that instructs a user where to find the original source for this file, should they receive a minified version (for now it just points at drupal.org - if we prefer we could link to the specific file on drupalcode.org).