Initial commit
[nyankernel.git] / COPYING
blob54fb41ac622b9d1549e7857136bad96a19e548c2
1 This is mostly a derivation of linux kernel code then:
3  - All new and really independent from linux pieces of code are dual licenced
4    with a GNU affero GPLv3 with "normal"/"abnormal" userspace code exceptions
5    (see below) _AND_ the linux GNU GPLv2 with its similar exception _IF_ and
6    _ONLY_ _IF_ running with the linux derived code.
8  - All the other pieces of code are derived from linux, then obey the licencing
9    of the linux kernel, aka GNU GPLv2 with its "normal" userspace code
10    exception or more depending on their authors.
12 "normal"/"abnormal" userspace code: this is stating the obvious, but we will do
13 it anyway, namely userspace code which is actually hardware drivers/file
14 systems/etc is not "normal" but "abnormal". So this code obeys those licensing
15 terms when used with this kernel (and probably linux too). We grant this
16 "abnormal" userspace code a "lesser" exception (see the GNU GPL licences).
18 For instance, once the GPU hardware command ring buffers are setup, userspace
19 code will program the GPU and expose a version of the Vulkan3D API. With the
20 "normal"/"abnormal" userspace code exceptions, closed source programs can
21 interact with this code without having to comply with those licencing terms
22 (aka to provide the code to their users, even if this code is remotely used via
23 a network).