]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
docs/licensing: Clarify wording about "GPL" and "Proprietary"
authorUwe Kleine-König <ukleinek@kernel.org>
Fri, 15 Nov 2024 10:38:41 +0000 (11:38 +0100)
committerJonathan Corbet <corbet@lwn.net>
Fri, 22 Nov 2024 17:44:25 +0000 (10:44 -0700)
There are currently some doubts about out-of-tree kernel modules licensed
under GPLv3 and if they are supposed to be able to use symbols exported
using EXPORT_SYMBOL_GPL.

Clarify that "Proprietary" means anything non-GPL2 even though the
license might be an open source license. Also disambiguate "GPL
compatible" to "GPLv2 compatible".

Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20241115103842.585207-2-ukleinek@kernel.org
Documentation/kernel-hacking/hacking.rst
Documentation/process/license-rules.rst

index 1717348a4404e085777affcd80648fe8d1813b34..0042776a9e17cfc5d09b5de043cd4131b54192a9 100644 (file)
@@ -587,7 +587,7 @@ Defined in ``include/linux/export.h``
 
 Similar to :c:func:`EXPORT_SYMBOL()` except that the symbols
 exported by :c:func:`EXPORT_SYMBOL_GPL()` can only be seen by
-modules with a :c:func:`MODULE_LICENSE()` that specifies a GPL
+modules with a :c:func:`MODULE_LICENSE()` that specifies a GPLv2
 compatible license. It implies that the function is considered an
 internal implementation issue, and not really an interface. Some
 maintainers and developers may however require EXPORT_SYMBOL_GPL()
index 2ef44ada3f119562c2f955077c6713fab599535f..59a7832df7d08d817a4a179c9195b9ed7792aed1 100644 (file)
@@ -471,14 +471,16 @@ _`MODULE_LICENSE`
                                  source files.
 
     "Proprietary"                The module is under a proprietary license.
-                                 This string is solely for proprietary third
-                                 party modules and cannot be used for modules
-                                 which have their source code in the kernel
-                                 tree. Modules tagged that way are tainting
-                                 the kernel with the 'P' flag when loaded and
-                                 the kernel module loader refuses to link such
-                                 modules against symbols which are exported
-                                 with EXPORT_SYMBOL_GPL().
+                                 "Proprietary" is to be understood only as
+                                 "The license is not compatible to GPLv2".
+                                  This string is solely for non-GPL2 compatible
+                                  third party modules and cannot be used for
+                                  modules which have their source code in the
+                                  kernel tree. Modules tagged that way are
+                                  tainting the kernel with the 'P' flag when
+                                  loaded and the kernel module loader refuses
+                                  to link such modules against symbols which
+                                  are exported with EXPORT_SYMBOL_GPL().
     ============================= =============================================