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>
69 lines
2.5 KiB
Text
69 lines
2.5 KiB
Text
# Build output. Everything here is reproducible from `make`.
|
|
build/
|
|
schos.img
|
|
schos.iso
|
|
*.o
|
|
*.d
|
|
*.asm
|
|
*.sym
|
|
|
|
# The staged root filesystem. Assembled by the build from cmd/, lib/ and
|
|
# ports/ -- tracking it would mean committing a second copy of every binary
|
|
# on every build.
|
|
sysroot/
|
|
|
|
# Upstream tarballs, fetched not authored: musl, toybox, mksh, dash, the DOOM
|
|
# WADs and usb.ids. 61 MB of other people's release artefacts, all of which
|
|
# the build downloads again if they are missing. The patches that matter are
|
|
# under ports/*/patches/ and those *are* tracked.
|
|
dist/
|
|
|
|
# Test and screenshot output.
|
|
*.log
|
|
*.ppm
|
|
*.png.tmp
|
|
|
|
# Claude Code's per-machine settings (permissions granted on this host).
|
|
# .claude/memory/ IS tracked -- it is the project memory, and committing it is
|
|
# how it survives a directory rename and reaches the other machines.
|
|
.claude/settings.local.json
|
|
|
|
# Emacs lock files: dangling symlinks like .#README -> user@host.pid, left
|
|
# behind when a session ends badly. One was committed in the initial import.
|
|
.#*
|
|
*~
|
|
\#*\#
|
|
|
|
# Build output under projects/ -- these are programs that run on SchOS, and
|
|
# their binaries were tracked by accident.
|
|
projects/schcom/schcom
|
|
projects/schcom/schcom-demo
|
|
|
|
# A built ISO dropped next to the site for download.html. 62 MB; not source.
|
|
docs/Website/releases/
|
|
|
|
# Kernel modules, ever. docs/plan/ldls.md rule 1: LDLS ships the layer and
|
|
# never the thing it loads, and that applies to this tree as well as to an
|
|
# image. The loader's test input is built from ldls/test/refmod.c, which is
|
|
# ours; a .ko here would be someone else's code, with its own provenance, in
|
|
# a tree that is otherwise all first-party or attributed in NOTICE.
|
|
*.ko
|
|
*.ko.xz
|
|
|
|
# Core dumps from host-side test harnesses (tools/*test.c run on the build
|
|
# machine). One of these got committed once; the pattern is cheaper than
|
|
# remembering.
|
|
core
|
|
core.*
|
|
|
|
# Reference material: somebody else's source tree, read and never shipped.
|
|
#
|
|
# help/ is where a third-party kernel gets cloned when it is worth reading --
|
|
# Zircon, at the time of writing. It is BSD-licensed and this project is
|
|
# GPL-2.0-or-later, so the licences are compatible and that is *not* the reason it is
|
|
# ignored: it is ignored because a copy of another project's source inside this
|
|
# one is a copy that will rot, that nobody will update, and that makes the
|
|
# provenance of every file around it a question. Clone it, read it, learn the
|
|
# facts, write our own expression -- the rule docs/architecture/ldls.md section
|
|
# 3 already states for Linux drivers.
|
|
help/
|