![]() |
1
7
有
但即使是这些
不完全解决法律问题,但给您一些想法: http://www.cyberciti.biz/tips/linus-rejects-the-idea-of-non-gpl-kernel-modules.html |
![]() |
2
7
所以你真的应该寻求合格的法律意见。然而这 这种做法肯定违背了许可证的精神, 在核心地带不会赢得任何朋友。 然而,你可以考虑另一种分裂。一种方法是 一个完整的GPL'ED模块,把你所有的“秘密公司IP”放在一个用户身上。 空间驱动器。这是我在公司工作时采用的方法 不想向全世界公开我们的FPGA的细节。所有的 在用户空间和 驱动程序的内核端刚刚在IRQ上加载了值。小心地 设计您可以管理任何实时问题,并且 关闭的驱动程序和内核之间的清晰分离。我 相信新内核支持用户空间更容易实现这一点 尽管我认为驱动程序还不支持DMA(我不得不 对用户空间DMA内核模块进行编码,以便直接在 芯片组和用户空间)。 不过,我还是建议你考虑一下 试图保护。对于嵌入式应用程序,关闭的驱动程序可能是正常的。 对内核版本和硬件有严格的控制。 但是如果这个驱动程序被认为是更通用的(即 销售硬件的人会插入自己的系统),然后关闭 源驱动因素只会被证明是持续痛苦和 维护头痛。 |
![]() |
3
4
第一:你需要和律师谈谈这个问题,可能是你公司的法律部门。 第二:重要的问题是什么代码是从哪个代码派生出来的。 不幸的是,这个问题几乎有很多答案。 有些人认为所有内核模块都是从内核派生出来的,所以不管头包含什么,都必须是gpled。 或者,关闭的模块派生自gpl模块,而gpl模块派生自内核,因此关闭的模块也必须是gpl。 |
![]() |
4
4
一些核心开发人员(但不是Linus本人)认为,任何非GPL的模块都违反了内核的许可证。 当一些开发者将Belkin驱动程序从Linksys路由器中剥离,对其进行反向工程,并发布结果时,Belkin无法阻止他们,因为作为一种抗辩,将此许可证解释提交法院。 |
![]() |
5
4
无数其他驱动程序使用开放源代码“填充程序”将封闭源代码对象文件与开放源代码内核桥接起来。大多数内核开发人员都认为这违反了GPL,至少在精神上是这样。 在我看来,这取决于您是否分发软件。如果您纯粹是在软件即服务上运行,那么应该允许这样做。如果你在发行嵌入式设备或盒装产品,那是不可能的。 把你需要的任何功能移出内核,或者开源你的内核组件。这正是其他人(诚实的)所做的,而且通常不会那么棘手,因为任何拥有大量内核空间“知识产权”的人,要么有一个糟糕的商业模式,要么是一个不称职的工程团队。 *以上是我的意见* |