To understand this topic fully, we have to talk about opensource licenses in general. Every License has a purpose, specially when you do free software. There are several versions out there, which the blog post from Whitesource summarize pretty well.
So every programmer or company can choose their way on how to license their software most likely freely, if they code their application as a single self-contained piece of software. If you however work on a driver and reuse parts of other given software or source you have to follow the same license as the source you reuse not to go into a conflict with licensing.
Some of you might have heard of the GPL condom. A patch from a Facebook developer for utilizing Nvidia GPU hardware in their network stack started a discussion upstream around the new NetGPU code in regard of license conflicts and a potential loop-hole since day one. The kernel module loader refuses to link modules against symbols which are exported with
EXPORT_SYMBOL_GPL() and tagged that way are tainting the kernel with the ‘P’ flag, as cannot be used for modules with source code in the kernel tree.
To fix that issue a patch got added to the Linux-Mainline kernel:
So we have to follow the kernel 5.9 development more closely and see how Nvidia will find a way to provide their drivers still. A potential solution would be to recreate the features they used from GPL licensed code on their code-base, so a reveal of their code is not needed. However, old unmaintained driver series won’t be supported, unless a community developer finds a way to work around this now fixed issue in a legal manner.