Files

110 lines
5.2 KiB
Markdown

# Keru OS — Philosophy
Keru is a source-only Linux distribution built on one governing principle:
> **The OS is a choice, not a conclusion.**
Most distros ship a decision someone else already made for you — a default
init, a default libc, a default filesystem. You inherit it and live with it.
Keru refuses that premise. Every foundational component is a *variable you
resolve at install time*, not a fixed value baked into the distribution.
Every init, every libc, every filesystem, every kernel, every
privilege-elevation tool — all selectable, none forced.
## Anti-opinionated, not opinionated
Keru is not opinionated. It is **anti-opinionated**. An opinionated distro
picks a stack and defends it — *"you get s6 and XFS whether you like it or
not."* Keru is the direct rejection of that. It holds **no opinion** about
which init, libc, filesystem, or daemon you should run, because that decision
belongs to you, not to the distribution.
The distro's only opinion is that you have to form one. After that, it shuts
up and builds exactly what you chose.
## Only what you asked for
The install medium carries **nothing but the installer**. There is no prebuilt
base image, no hidden bloat, no background assumptions. You pick your system,
Keru fetches it and compiles it from source, and the disk reflects exactly
that and nothing more. What gets built is defined by what you chose — not by
what maintainers decided you should have.
## Control without complexity
This is the deliberate bet, and the thing that separates Keru from a
Gentoo-skin. The package manager, **Kama**, is a shell script. It reads a
`make.conf` and runs recipe commands. No dependency solver. No package
database. No compiled manager machinery.
> "Sure, the package manager is in shell, and that compromises performance —
> but it's still faster than many package managers people actually use, and
> the real cost of a build is the compiler, not the meta-machinery around it."
The dependency model is AUR-style ephemeral: build tools are fetched,
compiled, and removed once they've served, so they never accumulate. The
richness lives in the recipes and the profile, not in the machinery. Keru is
the position that package managers became more complex than the packages they
manage, and that the simple version is the right one.
> "A package manager doesn't need a resolver to be honest. It needs to be
> legible — you can read every decision it makes, because every decision is a
> script or a line in make.conf you can see and change."
## Squared with reality
Building every init, every libc, every filesystem from source at install time
requires a working network connection, and the installer is honest about that:
connectivity is a hard gate, and network setup happens inside the installer.
This is what makes "everything is swappable" real rather than aspirational.
The power to choose anything comes from the fact that nothing is prebuilt —
you fetch exactly the parts you picked.
> "You give up the convenience of a prebuilt system so the system you get is
> exactly the one you designed. Speed-to-install is traded for
> fit-to-request. If you want fast and prebaked, a binary distro is right
> there. If you want your machine, this is the one."
## Stability: guaranteed on what's offered, never enforced on you
Keru's promise is that **the system won't break** — but honestly scoped: it
won't break **on the combinations it offers you**. That is what the installer
means by offering a choice: each option in `install.sh` is one Keru has proven
builds and boots. The offered set is curated *so that* it doesn't break.
Choice multiplies the test surface — six inits, four libcs, seven filesystems,
five kernels, and so on produce over a thousand possible systems. Guaranteeing
every one of them is only honest if it's *enforced by curation*: Keru offers
what works.
But the user is never locked out of going further. If you pick something that
isn't yet proven — a libc and init never tested together, an unmaintained
filesystem, an exotic kernel pair — Keru does **not** stop you. It **warns
you** the combination is unstable and lets you proceed.
> "Stability is a guarantee about what we offer, not a jail around the edge of
> it. If you want to push into the unproven, we tell you the truth and get out
> of your way."
So the full definition, in one line:
> **The system won't break for any choice Keru offers you; for anything beyond
> that, Keru warns and steps aside — you stay in control, never blocked.**
## Agreement on choice, not agreement on opinion
The through-line across Keru's lineage is clear: TOML packages, then a
50-line build DSL, then plain shell. And from *opinionated dogma* — "you get
s6 and XFS whether you like it or not" — to *anti-opinionated anything-goes*.
Keru keeps the from-scratch purity while rejecting the fixed dogmas outright.
> "We don't tell you which init to worship or which filesystem to trust. We
> tell you that you have to choose — and then we build exactly that."
The philosophy in one line:
> **A system should be exactly what you chose it to be — selected at install,
> built from source, nothing forced and nothing you didn't ask for.**
And in two words: **anti-opinionated by design.**