Re: [PATCH] sched: make task_nice available to non-GPL modules

Ingo Molnar
2008-03-06T10:41:45Z

* Pavel Roskin <proski@gnu.org> wrote:

> The API is trivial, and so is the implementation. Linux priorities
> are exposed to the userspace, so nobody should claim that software
> aware of Linux priorities is a derived work of the kernel.
>
> The complementary function set_user_nice() is available to non-GPL
> modules. If the module can set the priority, it should be able to
> read it back.

i've applied this, but i removed the (incorrect) legal interpretation in
the commit message. We simply make it available generally, and the
export is not restricted to clearly internal modules only. (but that
does not mean that a module using it is not a derived work)

this is a fine but important distinction. If a module uses a GPL symbol,
it is a strong hint of being derived work. But by not using GPL-only
symbols (but using other symbols - or not using kernel symbols at all)
it might still be derived work and even if it's not derived work, it
might still fall under the GPL.

in other words: EXPORT_SYMBOL does not mean and never meant
EXPORT_SYMBOL_NON_GPL.

EXPORT_SYMBOL_GPL is EXPORT_SYMBOL_I_ADMIT_MY_MODULE_IS_DERIVED, and
EXPORT_SYMBOL is EXPORT_SYMBOL_ASK_YOUR_LAWYER.

Ingo