Merge tag 'docs-5.1' of git://git.lwn.net/linux
[muen/linux.git] / include / linux / module.h
index f5bc4c046461544ad366f0af68c261cb34d2a668..5bf5dcd91009eeac5f725ceb727f1f984e065458 100644 (file)
@@ -172,7 +172,7 @@ extern void cleanup_module(void);
  * The following license idents are currently accepted as indicating free
  * software modules
  *
- *     "GPL"                           [GNU Public License v2 or later]
+ *     "GPL"                           [GNU Public License v2]
  *     "GPL v2"                        [GNU Public License v2]
  *     "GPL and additional rights"     [GNU Public License v2 rights and more]
  *     "Dual BSD/GPL"                  [GNU Public License v2
@@ -186,6 +186,22 @@ extern void cleanup_module(void);
  *
  *     "Proprietary"                   [Non free products]
  *
+ * Both "GPL v2" and "GPL" (the latter also in dual licensed strings) are
+ * merely stating that the module is licensed under the GPL v2, but are not
+ * telling whether "GPL v2 only" or "GPL v2 or later". The reason why there
+ * are two variants is a historic and failed attempt to convey more
+ * information in the MODULE_LICENSE string. For module loading the
+ * "only/or later" distinction is completely irrelevant and does neither
+ * replace the proper license identifiers in the corresponding source file
+ * nor amends them in any way. The sole purpose is to make the
+ * 'Proprietary' flagging work and to refuse to bind symbols which are
+ * exported with EXPORT_SYMBOL_GPL when a non free module is loaded.
+ *
+ * In the same way "BSD" is not a clear license information. It merely
+ * states, that the module is licensed under one of the compatible BSD
+ * license variants. The detailed and correct license information is again
+ * to be found in the corresponding source files.
+ *
  * There are dual licensed components, but when running with Linux it is the
  * GPL that is relevant so this is a non issue. Similarly LGPL linked with GPL
  * is a GPL combined work.