Subject: Re: DCCP Deprecation

From: Stephen Hemminger <[email-masked]>
Date: Wed, 16 Aug 2023 10:15:47 -0700

On Wed, 16 Aug 2023 15:26:07 +0000
"Maglione, Gregorio" <[email-masked]> wrote:

> > Is the scheduling in the kernel? If so yes, it will cause a MP-DCCP not to be accepted.
> > If it is all done in userspace, then it leaves option for someone to reinvent their own open source version.  
> 
> The protocol works at the kernel level, and has a GPL scheduler and reordering which are the default algorithms. The GitHub implementation includes some non-GPL schedulers and reordering algorithms used for testing, which can be removed if upstreaming.

IANAL

The implementation I looked at on github was in IMHO a GPL violation because it linked GPL
and non GPL code into a single module. That makes it a derived work.

If you put non-GPL scheduler into userspace, not a problem.

If you put non-GPL scheduler into a different kernel module, according to precedent
set by filesystems and other drivers; then it would be allowed.  BUT you would need
to only use exported API's not marked GPL.  And adding new EXPORT_SYMBOL() only
used by non-GPL code would get rejected. Kernel developers are openly hostile to non-GPL
code and would want any export symbols to be EXPORT_SYMBOL_GPL.