docs/licensing: Clarify wording about "GPL" and "Proprietary"

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
This commit is contained in:
Uwe Kleine-König 2024-11-15 11:38:41 +01:00 committed by Jonathan Corbet
parent 21e500138b
commit d8c949c577
2 changed files with 11 additions and 9 deletions

View 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()

View 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().
============================= =============================================