GPL和BSD内核中的专有模块

Sys*_*ank 13 bsd licensing kernel gpl driver

由于Linux内核是GPL而不是LGPL,我认为将专有代码链接到它是违法的.该行业如何规避这一点?我希望GPL许可证会强制任何开发人员在GPL驱动程序和/或内核模块下发布.

也许我很困惑,实现一个新模块并没有真正链接内核代码??? 公司如何处理这个问题?也许链接相反(从内核到他们的二进制文件)?

另一方面,有BSD内核.您可以自由链接受保护的IP.你能在BSD内核中实现更好的驱动程序设计吗?在为GPL内核实现驱动程序时是否有任何设计限制?

ypn*_*nos 15

正如您所说的BSD内核使用的BSD许可证要宽松得多,因此链接任何许可模块都没有问题.

对于Linux来说这是正确的,因为GPL本身禁止的非GPL兼容的代码的链接将不会允许私有模块,甚至LGPL模块链接.

但是,linux版权所有者授予您将"LGPL"模块与任何专有代码链接的权限.一个例子是nvidia驱动程序:

/------------.-\
| Kernel       |
|              |
|   /--------\ |
|   | Module | |     /-------------------\
|   | (LGPL) <========> proprietary code |
|   \--------/ |     \-------------------/
\--------------/
Run Code Online (Sandbox Code Playgroud)

这通常在GPL下仍然是非法的,但是明确允许Linux内核.作为参考,请参阅Linus Torvalds在此处对此问题的评论:

http://linuxmafia.com/faq/Kernel/proprietary-kernel-modules.html

PS Linking是GPL方面的对称操作.