Comment on the Systemd Age Verification Debate

Hello,

I read your article interviewing Dylan M. Taylor. First, I’d like to clarify that I personally support him and am against all forms of violence, both real and digital. However, as a developer, I’m against him, as he’s clearly not acting in good faith, but is deliberately trying to corrupt the world of free and open source software (FOSS).

Note that the same developer, has made commits to various projects:

  • Systemd accepted github dot com/systemd/systemd/pull/40954. The community made a revert github dot com/systemd/systemd/pull/41179 that was not accepted by another compromised developer Lennart Poettering.

  • Archlinux on hold github dot com/archlinux/archinstall/pull/4290.

  • Ubuntu rejected github dot com/canonical/ubuntu-desktop-provision/pull/1338 and github dot com/canonical/ubuntu-desktop-provision/pull/1339

  • Calamares rejected codeberg dot org/Calamares/calamares/pulls/2499.

  • Freedesktop rejected gitlab dot freedesktop dot org/xdg/xdg-specs/-/merge_requests/113

A fork has been created for systemd, although still experimental (github dot com/Jeffrey-Sardina/systemd).

Note: this project lists the distributions that are currently implementing age verification. Much depends on the adoption of systemd, which appears to be compromised.

Note 2: this repository contains data on this and other potentially compromised developers, all of whom were involved in this action (directed by who?).

P.S. Sorry for the links, I have a strict limit as a new user.

1 Like

It would seem it is too easy for a rogue programmer to submit problematic code changes and for them to be accidentally accepted, by some unthinking distros.

I hope non-systemd init systems are more strict in what mods they accept. I do not think this could happen in the kernel… it is strongly monitored.

3 Likes

One clue is a clue, two clues are a coincidence, but three clues make a case…

Cui bono? Who is moving the pieces?

2 Likes

Personally, I’m pretty convinced this is entirely down to advertising revenue. Meta lobbied for this extensively, to the tune of $2 billion dollars.

3 Likes

Hey there, I just saw this, otherwise I would have responded sooner. I addressed a lot of points here on my blog post which was linked to by the original It’s FOSS article, but before responding to me, I’d like to ask you to read my thoughts on the matter at My First Contribution to systemd: Adding birthDate to userdb | Dylan M. Taylor .

deliberately trying to corrupt the world of free and open source software (FOSS).

I love free and open source software, and run it on all of my devices. Trust me, there is no ill-intent or anything like that.

made commits to various projects

Indeed, I have an entire paragraph about this in my blog post, but let me specifically quote that here too:

People keep asking why I submitted PRs to multiple projects, as if that’s suspicious. It’s not. Like many things in software development, multiple moving pieces need to fit together to form a working solution. On their own, they are not fit for purpose. The architecture I proposed looks like this:

  • userdb / AccountsService as the storage layer

  • Installers for having a date picker or prompt during account creation

  • xdg-desktop-portal as a broker from the storage layer to applications, so they get an “18+” signal instead of direct access to personally identifiable information

These changes are designed to work with one another, and my PRs link to each other with explanations of how the pieces fit together. This development is being done entirely in the open. This is how cross-project infrastructure work happens – see any other project with complexity like GNOME or KDE where interoperability between components is required.

I believe having a centralized, protected storage layer is a far saner and safer solution than having personally identifying information scattered across the filesystem in various formats. Without a standardized, local-first, privacy-respecting way to store this data, every app-level developer or system integrator will be forced to roll their own if they want to be compliant, or they will just avoid shipping Linux apps entirely if they see it as a liability. With centralization, we can secure it, control it, and minimize harm. Would you rather every app collect your age and store it all over the filesystem? Privacy-wise, this is a win.

It’s also worth noting that the xdg-specs MR, which was based on what Aaron Rainbolt suggested on the Freedesktop mailing list, is now closed. It’s superseded by David Edmundson’s xdg-desktop-portal PR, which I think is the best approach for sharing just the age range with applications. Since people continued to comment on the closed MR, I asked the freedesktop project to lock it.

Also, I don’t think anything was “rejected”. I voluntarily closed my xdg-spec PR in favor of handling it in a desktop portal, Calamares was locked for discussion because of uncivil behavior towards me in the comments, and Arch is indeed on hold. They’re waiting on legal counsel to see what’s needed and tracking that at Age declaration laws (#61) · Issues · Arch Linux / Project Management · GitLab

I have abandoned the Ubuntu PRs at this point, since Canonical is discussing this internally to see what solution they will implement.

Much depends on the adoption of systemd, which appears to be compromised.

Implementing an age check has zero dependency on systemd. birth date, or any other PII could have always been stored on the filesystem in any arbitrary location. I’m not enabling it so much as trying to standardize how this would be collected and stored - userdb is a very rational place to store this data, and it can be controlled via policy and protected that way. Also, even if you wish to use a project such as ageless linux, you should welcome standardization as if your goal is to remove this functionality it is significantly easier when there is one implementation not thirty competing ones.

problematic code changes

That’s your opinion. userdb is a database of extended user attributes. This field isn’t out of place there at all.

Happy to answer any questions you have.

Dylan

Hi Dylan,
I read your document and I think most of what you say is reasonable.
I still think storing a birthdate (validated or not) is opening a door to somewhere we may not wish to go.

Instead of contributing to systemd, can I ask you to consider contributing to one of the modern alternative init systems … I mean S6 or dinit.
It is true that systemd was an improvement on sysvinit, but there has been progress since 2014 . Both S6 and dinit have the same functionality as systemd and are cleaner code and better algorithms.

Regards
Neville