Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

authored by

Uwe Kleine-König and committed by
Jonathan Corbet
d8c949c5 21e50013

+11 -9
+1 -1
Documentation/kernel-hacking/hacking.rst
··· 587 587 588 588 Similar to :c:func:`EXPORT_SYMBOL()` except that the symbols 589 589 exported by :c:func:`EXPORT_SYMBOL_GPL()` can only be seen by 590 - modules with a :c:func:`MODULE_LICENSE()` that specifies a GPL 590 + modules with a :c:func:`MODULE_LICENSE()` that specifies a GPLv2 591 591 compatible license. It implies that the function is considered an 592 592 internal implementation issue, and not really an interface. Some 593 593 maintainers and developers may however require EXPORT_SYMBOL_GPL()
+10 -8
Documentation/process/license-rules.rst
··· 471 471 source files. 472 472 473 473 "Proprietary" The module is under a proprietary license. 474 - This string is solely for proprietary third 475 - party modules and cannot be used for modules 476 - which have their source code in the kernel 477 - tree. Modules tagged that way are tainting 478 - the kernel with the 'P' flag when loaded and 479 - the kernel module loader refuses to link such 480 - modules against symbols which are exported 481 - with EXPORT_SYMBOL_GPL(). 474 + "Proprietary" is to be understood only as 475 + "The license is not compatible to GPLv2". 476 + This string is solely for non-GPL2 compatible 477 + third party modules and cannot be used for 478 + modules which have their source code in the 479 + kernel tree. Modules tagged that way are 480 + tainting the kernel with the 'P' flag when 481 + loaded and the kernel module loader refuses 482 + to link such modules against symbols which 483 + are exported with EXPORT_SYMBOL_GPL(). 482 484 ============================= ============================================= 483 485 484 486