Licensing and use of the Linux kernel

I would like to write my own OS and would like to temporarily jump over the difficult task of writing a kernel and return to it later using the Linux kernel at this time. However, now I would like to provide the OS as a closed source. What license is the Linux kernel, and can it be used for release from a closed source OS?

Edit: I am not interested in closing the source of the Linux kernel, I would still provide this as open source. I am wondering if I can use a closed source OS with an open source kernel.

Further editing: by OS, I mean a system that runs on top of the kernel and is used to run other programs. Of course, I did not want to include the kernel in a closed-source statement.

+4
source share
12 answers

You can, of course, write any open source OS on the Linux kernel that you like if you are compatible with licensing the components you refer to.

Of course, this may include the gnu C library (or some other C library). You may also need some command line utilities, which are likely to be the GPL, to do things like file system maintenance, network setup, etc. But assuming you leave them as your own standalone programs, this should not be a problem.

Everything that you associate with the kernel itself (for example, user modules, patches) must be released as an open source GPL to comply with the kernel license.

+10
source

The Linux kernel is released under GPLv2, and you can use it as part of the closed source operating system, but you must leave the kernel and all modifications released with GPLv2.

Edit: By the way, you can use something like OpenSolaris. From my point of view, it’s much easier to work (obviously very subjective), and you can keep the modification of a closed source if you want, as long as you fulfill the CDDL conditions.

+4
source

I think you need to be more specific about what you mean by "OS". This is by no means a clear concept. Some would say that the kernel is all OS. Others would say that the shell and basic utilities such as "ls" are part of the OS. Others might say that standard applications, such as Notepad, are part of the OS.

IANAL, but I do not believe that you have something that will prevent you from linking the Linux kernel to loading your own closed source programs. However, do not use any GPL library code (LGPL is ok).

I ask your motives.

+3
source

Linux has the GPL (v2) as its license, which means that you need to open the source code of any derivative work.

You might want to use BSD, its license is very limited in what you can do with derivative works

+2
source

You must keep the source open, and any work derived from the code, however, if you use the Kernel, write your own application stack on top of this (pretty much ALL GNU stuff), then you don't need to open it.

The GPL says that the "derivative" works ... so if you are writing new code, rather than extending it, then that is fine. In fact, you could even, for example, use the GNU toolchain, the Linux kernel, and then have your own system on top of this (or just DE), which is closed source.

This is when you modify / extract from something that you must keep it open!

+2
source

This is the GPL version 2, and you may not have to close the source code.

+1
source

If the file system you use must be connected to the kernel itself, and if you plan to distribute it to others, the GPL quite clearly requires the file system to also be GPL.

The aforesaid: one of the methods of the Linux legal interface with a GPL-incompatible file system is through FUSE (file system in user space). This was used, for example, to run a GPL-incompatible ZFS file system on top of Linux. However, when the file system starts in user space, performance can be significantly reduced.

+1
source

You can always store any extensions (modules) and / or applications to which you write a closed source, but the kernel itself will need to remain open.

There is a less obvious aspect of GPLv2 that you can use when testing the system: you only need to free the source code for those who have access to the system. GPLv2 states that you need to give full access to the source code to anyone who has access to the binary / compiled distribution of the program. So, if you intend to use only the software within the company that pays for its development, you do not need to distribute the source code to the rest of the world, but simply to them.

0
source

In general, I would say that you are allowed to do such a thing while you provide the kernel source, but there is one point where I am not sure:

On a regular Linux system, between the kernel (GPL) and a non-GPL-compatible application, there is always GNU libc, which is LGPL and thus allows for malfunctioning derivative works. Now, if you have proprietary libc, this may be considered derivative work, as you directly invoke the kernel and also use the kernel headers.

Like so many others, you could better use * BSD.

0
source

If you are seriously developing a new operating system and want to get started with the kernel, I suggest you study the FreeBSD kernel. It has a much more relaxed license than Linux, I think you can find it worthwhile.

Only my 2 cents ...

0
source

I agree with MarkR, but no one told you the obvious. If you are serious, you need to consult a lawyer with experience in this field.

0
source

This is the GPL. The short answer is no.

-1
source

Source: https://habr.com/ru/post/1277035/


All Articles