licence: SchOS is GPL-2.0-or-later, no longer Apache-2.0

Nexoniarz is the sole author and SchOS was never published under
Apache-2.0, so this is a straight relicence. LICENSE is the FSF GPLv2 text,
every first-party SPDX header moves to GPL-2.0-or-later, and NOTICE,
README.md, docs/licensing.md and the site say so. projects/schfs-linux
follows the rest of the tree.

The GPL gives copyleft: a fork has to ship its source. It also lifts the
old "Linux drivers, never" rule, since GPL-2.0-only code combines with
GPL-2.0-or-later. "Or later" leaves room for GPLv3, but one binary still
has to pick one version, so docs/licensing.md now keeps Apache-2.0 and
GPLv3 code out of the kernel to keep Linux code possible there. BSD
4-clause code goes from "avoid" to "no", because the advertising clause
is GPL-incompatible.

LDLS still ships no .ko. That boundary is now project policy rather than
a legal requirement, and ldls.md, devices.md and licensing.md section 6
say so. refmod declares license=GPL, and ldls-check passes (27 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nexoniarz 2026-10-22 08:48:45 +02:00
commit 26bca020b6
135 changed files with 959 additions and 689 deletions

23
NOTICE
View file

@ -2,7 +2,8 @@ SchOS
Copyright 2026 Nexoniarz
This product includes software developed as part of the SchOS project,
licensed under the Apache License, Version 2.0. See LICENSE.
licensed under the GNU General Public License, version 2 or (at your option)
any later version. See LICENSE.
================================================================================
Third-party software
@ -118,9 +119,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Fetched by ports/lwip and compiled into the kernel -- it is the TCP/IP stack,
not a userland library, so it is present in every built kernel image rather
than in a binary under /bin. The port layer written for SchOS
(kernel/net/lwip/) is Apache-2.0 and is not part of lwIP; lwIP's own sources
are unmodified. Clause 3 is a no-endorsement term, not the four-clause
advertising requirement, so it combines with Apache-2.0 without difficulty.
(kernel/net/lwip/) is GPL-2.0-or-later and is not part of lwIP; lwIP's own
sources are unmodified. Clause 3 is a no-endorsement term, not the four-clause
advertising requirement, so it combines with the GPL without difficulty.
--------------------------------------------------------------------------------
Intel 8254x device identifiers BSD 3-Clause
@ -149,9 +150,8 @@ http://www.linux-usb.org/usb.ids
Distributed by its maintainer under the terms of *either* the GNU General
Public License version 2 or later, *or* the 3-clause BSD Licence. SchOS takes
the BSD option; the GPL option is not exercised and could not be, since
Apache-2.0 and GPL-2.0-only cannot be combined (see docs/licensing.md section
2).
the BSD option, which was chosen while SchOS was Apache-2.0; either option is
compatible now, and the BSD one is kept because it asks less of anyone.
Shipped verbatim as /usr/share/usb.ids. Cached in dist/ and refreshed with
`make usb-ids`, never automatically -- the version and date are in the file's
@ -163,9 +163,10 @@ Roboto Apache-2.0
Copyright the Roboto Project Authors (https://github.com/googlefonts/roboto)
Shipped as /usr/share/fonts/Roboto-Regular.ttf, from ports/Roboto. Licensed
under Apache-2.0 -- the same licence as SchOS itself, so it carries no
obligation beyond this notice. Intended for the desktop, window manager and
compositor.
under Apache-2.0. It is a separate data file loaded at run time, not code
linked into SchOS, so it sits beside the GPL as an aggregate and keeps its own
licence; the obligation is this notice. Intended for the desktop, window
manager and compositor.
--------------------------------------------------------------------------------
JetBrains Mono SIL OFL 1.1
@ -178,7 +179,7 @@ Shipped as /usr/share/fonts/JetBrainsMono-Regular.ttf, from ports/JetBrains_Mono
and TTY.
Under the SIL Open Font License 1.1 the font remains under OFL even inside this
Apache-2.0 system -- that does not reach any other part of SchOS -- and it may
GPL-licensed system -- that does not reach any other part of SchOS -- and it may
not be sold on its own. Bundling it with an operating system is expressly
permitted. JetBrains Mono declares no Reserved Font Name, so a modified version
(a pre-rasterised bitmap, for instance) may keep the name.