Everyone seemingly getting mad about systemd adding a completely optional date of birth field to user records that is, in reality, only ever going to be filled in on the machines of children administered by parents who want such restrictions enforced, perhaps on machines administered by schools, or by people who want their computer to wish them a happy birthday.
@erincandescent I don't think cute happy birthdays needed to be handled by systemd, and this is all done in the context of laws being pushed that would criminalise computer use without age verification. So I think now, and not later, is the reasonable time to push back on it.

@seachaint systemd maintains a standard for a user database format, because /etc/passwd is incredibly limited and lacking many fields you might want to store on a modern system.

It contains optional fields like a user’s e-mail address, “real name”, or details like identifiers of security tokens they might wish to use to unlock their account.

In this case they’re adding a definition of a dateOfBirth fields to a JSON map, and nothing more. In particular you will not find any particular age confirmation method here; it’s entirely up to self reporting by the system administrator(s)

@erincandescent @seachaint The fact that this surfaces whatsoever in systemd, and not some other fully independent subsystem, is damning of the architectural choices in systemd.

@jripley @seachaint it could be in a separate package called userdbd and you’d be complaining that Lenart’s 30 interconnected packages were taking over the Linux system 🤷

It’s not even actually a user database, it’s a replacement/alternative for the NSS interface that lets you query various properties of a user that multiple backends can plug into including several external backends (I’ve written my own! It’s trivial!) and several backends that e.g. provide synthetic users inside the systemd package itself.

@erincandescent If there were in fact 30 interconnected packages, which were fully disentangled, optional, and independent, I think you’d address the central issue everyone has with it. And this age verification nonsense would be an independent thing (or part of one of the above, which could easily be forked) and there would have been zero controversy.

@jripley the thing is that these things can’t be disentangled. One of the userdb backends is provided by pid1 itself, for example (to support the DynamicUser feature)

It’s very difficult to disentangle these things because so many of the things systemd touches are cross-cutting concerns that affect the whole system, and the reason it keeps touching them is that having them historically spread across so many packages has ossified so they are stuck in the 70s

@erincandescent The key complaint with systemd is that everyone warned it was in danger of assimilating a weird rewritten version of every daemon, because it was architecturally a monolithic source of truth, and then it blundered its way, very predictably, into exactly that. Even this is another example: it’s a choice to assimilate this too, when there are so many other ways. Like, UUID of user maps to age bracket. Independent service.