A new operating system turns up almost every week, but few define themselves by what they leave out. AlpineBSD does. Its wiki describes it as a system based on the NetBSD kernel, with a userland inspired by Alpine Linux, whose goal is “making it possible to use as little AI-generated software as possible”. The Register covered it on 30 October and it has been doing the rounds on forums and aggregators ever since.
Best to say it up front: this is a work in progress. There is no installer, no numbered releases, and only the edge branch exists, for x86_64 only. Anyone who wants to try it has to put it together by hand from the NetBSD installer.
What it actually is
The idea is easy to grasp if you know its two parents:
- From NetBSD it takes the kernel, the libc and platform-specific tools such as
mount. Thenetbsd-basepackage in the repository is at version 11.0, the release NetBSD shipped at the end of July. - From Alpine Linux it takes the way of working: the apk-tools package manager (3.0.6), BusyBox, and a build system based on
abuildandAPKBUILDfiles. It is not an Alpine fork: the package collection is its own, although many recipes start fromaports.
It differs from both. Compared with NetBSD, the userland leans a little more GNU, preferring GNU make over BSD make, for example. Compared with Alpine, which boots with OpenRC, AlpineBSD uses skarnet’s s6, and the wiki says OpenRC is planned as an alternative.
The wiki also gives a warning worth reading before jumping in: the NetBSD kernel supports far less hardware than Linux, especially on laptops, and it recommends checking NetBSD’s list of supported machines.
The AI policy, which is what sets it apart
For AlpineBSD, a program is “tainted” if its code, documentation, binaries or any other asset include, even partly, the output of a generative AI tool. On that basis it splits software across four repositories:
| Repository | Support | What it accepts |
|---|---|---|
base |
Official | Clean software only |
main |
Official | Clean software only |
tainted |
Community | Tainted software |
community |
Community | Clean, but may depend on tainted |
Dependencies only flow upwards in that table: community can pull from tainted, never the other way round. The most conservative install enables only base and main, and with that the project guarantees nothing tainted gets in. If you want more, you add tainted with a tag in /etc/apk/repositories and then have to request each package explicitly, for example apk add python3@tainted. Otherwise apk complains when something depends on a tainted package.
Every package also carries a label you can search for with apk: genai:clean, genai:tainted, genai:pinned, plus three genai:indirect-* variants for packages tainted only through their build, runtime or test dependencies.
The pinned part is interesting. Some software is too fundamental to drop, so the project freezes it at the last version without AI-generated code. There are six right now: binutils, GCC, GDB, libffi, Perl and xorriso. The wiki stresses that pinning is a last resort: they would rather find an alternative or move the package to tainted.
And the tainted list gives a sense of how far AI has already spread through free software. The repository index on 1 November includes, among others, git, curl, CMake, Meson, Go, htop, PCRE2, FreeType and fontconfig. Tools anyone takes for granted on a system, left outside the guaranteed core here.
The rule applies to people too: no contribution to the project (code, documentation, packaging recipes, or even posts on the mailing lists or IRC) may be made with generative AI tools.
It didn’t come out of nowhere
NetBSD already had a stance of its own. Since 2024, its commit guidelines presume that code generated by a large language model is tainted and cannot go in without explicit approval. AlpineBSD builds on a kernel with that rule and extends it to everything on top, which is where most of the software lives.
It is also the second eye-catching BSD project in a few weeks, though with the opposite philosophy: a few days ago we reported that Daemonarchy, Jordan Hubbard’s Omarchy for FreeBSD, is built with AI help.
Who is behind it
The wiki doesn’t name anyone. The source code, the ports (absd-ports), the mailing lists and the issue tracker live on SourceHut under the ~sircmpwn account, which belongs to Drew DeVault, SourceHut’s creator, and the key that signs the mirror’s packages is his. Contributions go in as patches via git send-email to the alpinebsd-devel list, SourceHut style, and there is a #alpinebsd channel on Libera.Chat.
Other people are already active on the tracker, and the repository is not small for something a month old: the oldest package on the mirror dates from 27 September, and on 1 November there are roughly 430 entries in base, 170 in main, 95 in community and 143 in tainted, counting subpackages (-dev, -doc and the like).
How to install it today
The wiki calls the procedure one for “the brave”, and it is. In short:
- Boot the NetBSD installer, set up networking and drop to a shell.
- Partition the disk as GPT with
gpt(EFI, swap and root) and format withnewfs_msdosandnewfs -O 2ea. - Bootstrap apk: create
/etc/apk/repositoriespointing atmirror.alpinebsd.org/edge/base, fetch the public key and the staticapk.staticbinary. - Install
absd-base,netbsd-kernel-generic-bin,netbsd-firmware,ifupdownand the bootloader (netbsd-bootloader-efior-mbr), plusdhcpcd,wpa_supplicantor the man pages if you want them. chrootin, create the devices withMAKEDEV all, enable the s6 services (consoles,mountall,fsck,hostname…), copy the EFI loader or set up BIOS boot, and edit/etc/boot.cfgand/etc/fstab.- Reboot and hope. The wiki itself signs off with “Congratulations, you’ve (probably) installed AlpineBSD.”
The apk steps will look familiar to Alpine users, everything else to NetBSD users. If neither rings a bell, better wait for the installer.
Is it worth a look?
As a daily driver, not yet. For understanding where the debate on AI in free software is heading, yes: AlpineBSD turns a position into something you can check with apk search, and its lists of pinned and tainted packages are a good gauge of how much code written with language models has already made it into everyday tools.
We have added it to the catalogue on its AlpineBSD page, in the BSD category. Since it doesn’t publish releases yet, the page tracks the edge branch. For background, see the history of BSD, the history of Alpine Linux and our guide to Linux package managers.
Sources: AlpineBSD wiki, its AI policy, the installation guide and contributing page, the package mirror, the SourceHut project, NetBSD’s commit guidelines and The Register.
