Overview

Active Fork

Repository: github.com/Jeffrey-Sardina/systemd — 719 stars, 32 forks as of April 2026

Mirrors: Codeberg, Gitea

Companion repo: systemd-suite — patch management, testing automation, CI validation

Maintainer: Jeffrey Sardina, researcher at Trinity College Dublin (ADAPT Centre)

License: GPL-2.0 / LGPL-2.1 (matching upstream systemd)

Created: March 21, 2026 — three days after the birthDate merge

What It Does

Liberated systemd applies a single patch (main.patch) that reverts the upstream commit adding birthDate support. The patch modifies 14 files — 10 functional (source code, tests, man pages, documentation) and 4 repo-level metadata (rebranding to Liberated systemd). The scope is narrow by design:

Functional Files Reverted

src/basic/time-util.c          # date parsing utilities added for birthDate
src/basic/time-util.h
src/home/homectl.c             # --birth-date= CLI option
src/shared/user-record.c       # birthDate field in user record structs
src/shared/user-record.h
src/shared/user-record-show.c  # display code for birthDate
src/test/test-time-util.c      # associated tests
src/test/test-user-record.c
man/homectl.xml                # man page documentation
docs/USER_RECORD.md            # userdb field documentation

Denial, Not Deception

The maintainer explicitly chose not to insert a fake default date of birth. Applications that call the age verification API get an error — the field does not exist. This is a deliberate design decision:

"I have not simply created a 'default age' as a lie — it's about denying applications the ability to assume the presence of an API that enables mass surveillance." — Jeffrey Sardina, Liberated systemd README

This contrasts with Ageless Linux's approach (setting birthDate to the epoch or null) and is arguably more aggressive: rather than neutralizing the data, it removes the infrastructure entirely.

Update Cadence

The fork rebases against upstream systemd at least weekly. The systemd-suite repo is working toward automating this to near-real-time. Before pushing, the maintainer runs systemd's own CI pipeline (building from source and verifying that a VM boots). Because the birthDate code was a self-contained addition rather than a deeply integrated feature, most upstream commits merge without conflicts.

Distro Packaging

No major distribution has adopted Liberated systemd as its default. Packaging exists for individual users on Arch Linux:

AUR Packages

The Arch User Repository provides systemd-liberated-git, systemd-liberated-libs-git, systemd-liberated-ukify-git, and systemd-liberated-tests-git — drop-in replacements for the official systemd packages built from the Liberated systemd source.

Pacman Repository

Jarmoco/systemd-ageless-archpkg provides a ready-to-use pacman repository with pre-built packages. Add it to pacman.conf and the liberated packages replace official ones via standard package management. Also supports local builds via PKGBUILD.

Distros That Declined

  • OpenMandriva — already builds systemd minimally; does not consider the birthDate field a concern
  • Garuda Linux — issued a formal statement refusing to implement age verification, but will not switch to the fork; views the birthDate field as inert metadata that does not impose verification

The Fork Ecosystem

Liberated systemd is the most maintained of at least eleven forks that appeared after the birthDate merge. One notable second-generation fork uses it as upstream:

sonicd

supersonic-xserver/sonicd (27 stars) — a hardened fork that uses Liberated systemd as its upstream, adding Clang/LLVM compilation, CodeQL security fixes, and a bypassAgeVerification boolean field that defaults to true. Includes a null-attestation D-Bus interface (src/aged/aged_bypass) and a management tool (sonicd-age-toggle.sh).

Other Forks

The remaining forks range from straightforward reverts to protest projects. Most are single-commit forks with no ongoing maintenance. Representative examples:

  • unshitted-systemd — strips age verification, AI code, and the realName field
  • systemd-saneagecheck — includes bypass and polling rate options
  • systemd-no-age-verification — direct revert of the PR
  • fightthesystemd — removes age verification and lighthouse

Several additional protest forks exist with more colorful names. All share the same approach: revert the birthDate commit. Only Liberated systemd and sonicd maintain ongoing sync with upstream.

Harassment and Upstream Response

The systemd contributor who authored the original birthDate PR faced harassment, doxxing, and death threats after the merge, forcing them to disable issues and pull requests across their GitHub repositories. They subsequently proposed a compromise: implementing age verification as a configurable option in the Calamares installer framework, with an on/off default that individual distributions could set. This would let distributions that do not want age verification leave it off without maintaining a fork.

The contributor also predicted a future split in the Linux ecosystem — "mostly along the lines of independent distributions and those with corporate backing" — over how age verification infrastructure is handled.

Coverage

The fork and the broader reaction to the birthDate merge received significant coverage:

Relationship to Ageless Linux

Liberated systemd and Ageless Linux address the same problem from different layers of the stack. They are complementary, not competing:

Liberated systemd removes the birthDate API entirely. Applications cannot query a field that does not exist. Downstream systems that expect the API get an error.
Ageless Linux keeps the API but neutralizes the data. become-ageless.sh sets birthDate to the epoch (1970-01-01) or null. The field exists; it reports nothing useful.

The distinction matters at scale. Liberated systemd's approach breaks any application that assumes the field exists — a harder stance that forces the ecosystem to handle the absence. Ageless Linux's approach preserves API compatibility while rendering the data meaningless — a softer stance that avoids breakage but still defeats the purpose of age collection. Both refuse the premise that operating systems should facilitate age verification.