GitHub - Jeffrey-Sardina/systemd: Liberated systemd -- no surveillance. Ever.

4 min read Original article ↗

Mass surveillance is bad, actually. So here's a fork of systemd with surveillance enablement removed, which will be kept up-to-date with other changes in systemd/main. However you use this, or do not, is your choice and yours alone.

Purpose

The purpose of Liberated systemd is to do exactly one thing, and do it well: removing surveillance enablement from base systemd. Specifically, here is what I mean by surveillance: surveillance is the tooling that enables or facilitates collection of any personal information that does not arise from technical needs for systemd. The primary offender of this is, of course, age verification. If systemd later adds in support for other surveillance mechanisms, those will also be removed.

What this also means is that Liberated systemd is not a divergent development project. It will not introduce new features, correct bugs or security issues, or implement optimizations. If you want to contribute to any of those things, the correct way to do so is to raise a PR against the base systemd/systemd repo. This repo exists only to remove surveillance enablement.

How often is this updated (or, "why is Liberated systemd behind by X commits?")

Liberated systemd will be updated at least weekly. I hope to automate this process soon, at which point updates will be near real-time. (If you want to help automate this, please feel free to raise a PR against https://github.com/Jeffrey-Sardina/systemd-suite, which is where I am implementing testing and update automation).

How is Liberated systemd implemented?

It's quite simple: systemd, very nicely, has atomic comits. There is exactly one commit (https://github.com/systemd/systemd/commit/acb6624fa19ddd68f9433fb0838db119fe18c3ed) that added in all tooling (both functional and data-wise) needed to enable age verification. I reversed this commit, and have kept all other changes since.

Since age collection is not needed for any aspect of systemd, this does not affect other aspects of systemd. Any downstream systems that attempt to call age-verifiaction-related functions on Liberated systemd will therefore encounter an error. This is done bey design. This is also why 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.

How is Liberated systemd tested?

To see how I run testing for this fork, see: https://github.com/Jeffrey-Sardina/systemd-suite. (In short, I run their CI pipeline before pushing changes.)

Where else can I find Liberated systemd?

In order to allow users to avoid MicroSlop's ecosystem, this repository is made available via Gitea and Codeberg, on top of GitHub. The contents of all repositories are identical, and updated at the same time.

Have any other changes been made?

Only in meta-data files. Specifically, aside from code changes needed to liberate systemd from surveillance tooling, I have edited:

  • this README (/README.md)
  • the Code of Conduct (docs/CODE_OF_CONDUCT.md)
    • the section giving contacts of base systemd devs has been removed -- since the moderators of base systemd are, obviously, not a part of Liberated systemd.
  • the Contributing page (docs/CONTRIBUTING.md)
    • this has been edited to explain how to contribute to Liberated systemd.
  • the Security page (docs/SECURITY.md)
    • this has been edited to direct all security-related concerns to base systemd.
  • the Citation file (CITATION.cff)
    • this has been edited to correctly identify this repo as Liberated systemd, a fork of systemd/systemd.

The original systemd readme is included below for reference.


Systemd

System and Service Manager

OBS Packages Status
Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Fossies codespell report
Translation status
Coverage Status
Packaging status
OpenSSF Scorecard

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Code Map for information about this repository's layout and content.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel

Stable branches with backported patches are available in the stable repo.

We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack

Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release