许可和使用Linux内核

4
我想编写自己的操作系统,想临时跳过编写内核这一复杂任务,并在此期间使用Linux内核,稍后再回来处理内核部分。但是,我现在想将操作系统作为闭源提供。Linux内核属于哪种许可证?是否可以在闭源操作系统发布中使用它?
编辑:我不想关闭Linux内核的源代码,我仍然会提供它作为开放源代码。我想知道是否可以使用开源内核来制作闭源操作系统。
进一步编辑:我的意思是通过“操作系统”指运行在内核之上,用于启动其他程序的系统。当然,我并没有打算将内核包含在闭源声明中。

4
我投票关闭这个问题,因为它涉及许可证或法律问题,而不是编程或软件开发。有关详细信息,请参见这里这里,以及[帮助]页面。 - JasonMArcher
12个回答

10

只要你与所链接的组件的许可证兼容,你当然可以在Linux内核上编写任何闭源操作系统。

当然,这很可能包括GNU C库(或其他C库)。您可能还需要一些命令行实用程序来执行文件系统维护、网络设置等任务,这些实用程序通常都是GPL。但只要您将它们作为独立的程序保留,就不应该有问题。

任何链接到内核本身的内容(例如自定义模块、补丁)都应以开源GPL的形式发布,以符合内核的许可证。


4

Linux内核是在GPLv2下发布的,您可以将其用作闭源操作系统的一部分,但必须保持内核和所有修改的GPLv2发布。

编辑:顺便说一句,您可能希望使用类似OpenSolaris的东西。在我看来(显然非常主观),它要容易得多,并且如果您选择这样做,可以保持修改为闭源,只要遵循CDDL的条款。


3
我认为你需要更具体地说明“操作系统”的含义。这个概念并不明确。有些人会说内核就是整个操作系统,而另一些人则认为像“ls”这样的shell和核心工具也是操作系统的一部分。还有些人会认为像记事本这样的标准应用程序也是操作系统的一部分。
我不是法律专家,但我认为你可以将Linux内核与许多自己的闭源程序捆绑在一起。但请注意不要使用任何GPL库代码(LGPL是可以的)。
我对你的动机表示怀疑。

我认为内核是一个中心(虽然很小)的组件,操作系统的边界在桌面开始的地方,但这只是我的观点。 - dsm
确实 - 每个人都有自己的看法 :)在“操作系统”这个词组的情况下,询问澄清几乎总是一个好主意。 - slim

2

这是GPL版本2,你绝对不可以关闭其源代码。


1
你不能以闭源方式发布它,但是没有任何阻止你将其用作完全闭源操作系统的基础。 - Serafina Brocious

2
你必须保持源代码开放,以及从该代码派生的任何作品。但是,如果你使用内核,在其上编写自己的应用程序堆栈(几乎所有GNU工具),那么你就不必公开它们。
GPL表示“派生”作品,所以如果你正在编写新代码,而不是在现有代码基础上进行扩展,那么这是可以接受的。事实上,你甚至可以例如使用GNU工具链、Linux内核,然后在其上拥有自己的系统(或仅为DE),该系统可以是闭源的。
只有当你修改/派生某些内容时,你才必须使其开放!

1

Linux使用GPL(v2)作为其许可证,这意味着您必须开源任何衍生作品。

您可能希望使用BSD,它的许可证在您可以对衍生作品做什么方面要少得多。


那似乎是一个合理的选择。谢谢你的想法。 - Cristián Romo
没问题 :) (但请记住,开源是一个好主意(商标)) - dsm
开源是未来的一个可能方向,但我想自己完成这项工作,以便学习如何独立完成任务。 - Cristián Romo

1

如果您使用的文件系统要链接到内核本身,并且计划将其分发给他人,则GPL要求该文件系统也必须遵循GPL,这一点非常明确。

话虽如此:通过FUSE(用户空间文件系统),可以合法地将Linux与不兼容GPL的文件系统进行接口。例如,这已被用于在Linux上运行不兼容GPL的ZFS文件系统。然而,在用户空间中运行文件系统会带来可能相当大的性能损失。


0

我同意MarkR的观点,但是没有人向你明确指出一个显而易见的事实。如果你是认真的,你需要咨询一位在这个领域有专业知识的律师。


0

这是GPL。简短的回答——不行。


0

您可以随时保留您编写的任何扩展(模块)和/或应用程序的闭源,但内核本身需要保持开源。

GPLv2 的一个不太明显的方面是,在测试系统时您可以利用它:您只需要向那些有权访问该系统的人发布源代码。GPLv2 规定,您需要向任何具有二进制/编译程序分发的访问权限的人提供完全访问源代码的权限。因此,如果您只打算在支付开发费用的公司内部使用软件,则无需将源代码分发给全世界,而只需分发给他们即可。


模块绝对是一个灰色地带 - 许多人认为它们是内核的明显派生物,而不仅仅是内核的用户空间程序。 - wnoise
那么如果我在自己编写内核之前从未分发它,就不会有任何许可问题了吗? - Cristián Romo
1
这是真的。许可证仅限制您重新分发代码的权利。您在私下里对其的使用完全取决于您自己。 - slim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接