Files
KeruOS/web/stability.html
T

75 lines
4.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Stability — Keru OS</title>
<meta name="description" content="Keru's stability promise: the system won't break for any choice Keru offers you. Past that, it warns and steps aside — you're never blocked.">
<link rel="stylesheet" href="assets/css/style.css">
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>ける</text></svg>">
</head>
<body>
<nav class="top" data-nav></nav>
<header class="pagehead">
<p class="crumbs"><a href="index.html">home</a> / stability</p>
<h1>Stability</h1>
<p>Guaranteed on what's offered. Never enforced on you.</p>
</header>
<section>
<div class="wrap">
<div class="prose">
<h3>The promise, scoped</h3>
<p>Keru's definition of stable is direct: <strong>the system won't break.</strong> But that promise is only honest if it's scoped. Keru guarantees it <strong>on the combinations it offers you.</strong></p>
<p>That's what it means for the installer to offer a choice in the first place: each option in <code>install.sh</code> is one Keru has proven builds and boots. The offered set is curated <em>so that</em> it doesn't break. Choice multiplies the test surface — six inits, four libcs, seven filesystems, five kernels, and more produce well over a thousand possible systems. Guaranteeing every one of them is only honest if it's enforced by curation: Keru offers what works.</p>
<h3>But you're never locked out</h3>
<p>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 <strong>not</strong> stop you. It <strong>warns you</strong> the combination is unstable and lets you proceed.</p>
<blockquote>"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."</blockquote>
<p>The full definition, in one line:</p>
<blockquote><strong>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.</strong></blockquote>
<h3>How the warning shows up</h3>
<p>The installer runs a stability check after your selections. Known-risky combinations are flagged before anything is written:</p>
<div class="code-block"><span class="tag warn">WARNING</span>
uclibc-ng + runit: not yet proven to build and boot together
musl + systemd: not yet proven to build and boot together
this combination is unstable. Keru won't stop you — build at your own risk.</div>
<p>Some of the pairs Keru currently warns about:</p>
<table>
<tr><th>Combination</th><th>Why it's flagged</th></tr>
<tr><td>uclibc-ng + anything</td><td>Pre-0.1, not yet proven to build and boot end to end.</td></tr>
<tr><td>musl + systemd</td><td>Systemd and musl are a known-hard pairing.</td></tr>
<tr><td>zfs as root fs</td><td>Needs kernel module + ZFS userspace; not yet proven.</td></tr>
<tr><td>reiserfs</td><td>Unmaintained; no stable future.</td></tr>
</table>
<h3>What stability means for choices that work</h3>
<ul class="features">
<li><strong>Reproducible.</strong> The same <code>make.conf</code> builds the same system.</li>
<li><strong>Predictable.</strong> What you chose is what boots. No surprises smuggled in by defaults.</li>
<li><strong>Kama never lies.</strong> The package manager's job is to do exactly what a recipe says — reliably, silently, and correctly.</li>
</ul>
<h3>The honest trade-off</h3>
<p>"Extremely stable" and "everything is swappable" pull in opposite directions. Most famously-stable distros (Debian) gain stability by <em>shrinking</em> choice. Keru's stability therefore isn't "fewest things possible" — it's <strong>"whatever you chose, it builds and boots predictably, and Keru never hides a risk from you."</strong></p>
<p><a href="philosophy.html">← Back to the philosophy</a></p>
</div>
</div>
</section>
<footer data-footer></footer>
<noscript><div style="text-align:center;padding:16px">See the <a href="sitemap.html">sitemap</a> for all pages.</div></noscript>
<script src="assets/js/include.js" data-base="."></script>
</body>
</html>