在我的操作系统中使用Linux内核

时间:2018-09-09 01:45:07

标签: linux operating-system

前言

我尽我所能尽力解决这个问题,因此,如果您至少可以通读它,我将不胜感激。我也曾尝试研究这个问题,但就直接回答我的问题而言,我似乎从未找到任何有用的东西。我不知道这个问题是否合适,尽管它与编程有关,但它与操作系统开发和Linux内核更为相关,如果我不知道这个问题有一个更好的地方,请把它移到那里;随意做任何事情,编辑是否需要的问题,我不在乎,我只需要回答这个问题,因为这使我感到压力。

以下是为什么我问这个问题的一些背景;如果您不感兴趣,并且只想查看我的要求,请跳至“我的问题”标签;我以为我会把它放在这里,这样任何正在阅读此问题的人都会知道为什么我在问这个问题。

背景

我最近开始建立一个操作系统开发项目;在我准备好一些东西之后,截至目前为止,只有我自己来做,而且我计划写出全部内容(是的,我知道这将需要很多工作,但是我可以尝试,对吧?:p),包括引导程序,CLI以及我自己的内核或Linux内核功能必须具备的大多数功能; GUI等当然,最终我可能会拥有一支团队,但这是为了未来。

我的问题

我的问题实际上由三部分组成,我将其缩小为以下具体内容:

(1)如果我要构建其他所有东西,并按原样使用Linux内核,并且如果我不将系统的其他部分绑定到内核中,而是将内核用于I / O和系统,调用,是否会以任何方式违反GPL,并且我认为需要将其余的代码开源?

(2)如果我仅将内核用于I / O和系统调用,但没有 I 编写的实际上与任何内核函数接口的代码,那仍会考虑链接吗?

(3)如果执行上述操作,当我编写其他所有内容但使用Linux作为系统内核时,是否将其视为派生工作?

所有这些法律问题使我头昏脑沉,并使我极度困惑。

1 个答案:

答案 0 :(得分:2)

Linux内核将系统调用视为边界,并且通过系统调用与内核通信的代码不在内核的许可范围内。因此,您编写的用户空间代码不是内核的衍生产品。

内核还提供了一组头文件,统称为UAPI头,您可以在不使代码成为派生作品的情况下使用这些头文件。

这在https://www.kernel.org/doc/html/v4.17/process/license-rules.htmlhttps://github.com/torvalds/linux/blob/master/LICENSES/exceptions/Linux-syscall-note

中有介绍

但是,如果您需要法律建议,请联系律师。