licensing - 使用 GPL 的非 GPL 内核模块

标签 licensing linux-kernel gpl

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




我工作的公司正在开发一个闭源内核模块(.ko 文件)。
该模块必须调用 gpl2 模块中包含的函数。
基本上我们有这样的情况:

// GPL 2 kernel module  (gpl.c -> gpl.ko)
void a_function(void)
{
// ...
}
EXPORT_SYMBOL(a_function)


// Closed Source module (closed.c -> closed.ko)
a_function();

这合法吗?在这个例子中我们是否违反了 GPL2 许可?
请注意,closed.c 不包含任何 gpl2 头文件。

最佳答案

GPL_ONLY 模块的标志,不应在非 GPL 模块中使用。所以如果你说的模块不是 GPL_ONLY , 你可以使用它。

但即使是这些 GPL_ONLY如果您通过 user-space drivers, which are possible in 2.6.23 访问它们,则可以使用它们.这正是 USB 子系统发生的事情。 http://www.linux-magazine.com/online/news/linux_2_6_25_without_closed_source_usb_drivers

不完全解决法律问题,但给你一些想法:
http://www.cyberciti.biz/tips/linus-rejects-the-idea-of-non-gpl-kernel-modules.html

关于licensing - 使用 GPL 的非 GPL 内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/736972/

相关文章:

licensing - 移植的 GPL 库也应该在 GPL 下吗?

使用 GPL 代码和非 GPL 许可证的许可软件

licensing - GeoServer 可以在商业应用程序中使用吗?

haskell - Stack中简单整数的条件选择

google-chrome - 如何出售我的 Google Chrome 扩展程序?

objective-c - 我的 Cocoa 应用程序应该如何存储用户的许可证 key ?

linux-kernel - 如何调试中断处理程序

licensing - 许可证 key 管理

linux - 在 ttymxc 上调用 open 函数时的 rcu_prempt

linux - printk() 打印到哪里?