FreeBSD does have Capsicum [0] though — with file descriptors as capabilities. FDs can be passed between programs over UNIX datagram sockets.
Processes can enter "capability mode" where only open (or rather: active) file descriptors can be used.
There used to be an alternative runtime for FreeBSD called CloudABI [1], with which native programs could be started in capability mode, but it was discontinued in favour of WASI [2] (server-side Webassembly) — which adopted CloudABI's libc API.
It does and that's great, but it's not the root from which the system is constructed.
FreeBSD is a clone of UNIX, and all it takes is a single kernel bug for the system to break down as a whole. Yet, considering the kernel's size, it's not hard to extrapolate that there is far more than one bug.
This is not a very good architecture. In 2023, it is very far from the state of the art, and absolutely cannot be called modern.
That's probably why NeXTSTEP and Mac OS X were partly based on a mix of BSD and the Mach microkernel. Not sure of how much of that is still in current incarnations.
Processes can enter "capability mode" where only open (or rather: active) file descriptors can be used. There used to be an alternative runtime for FreeBSD called CloudABI [1], with which native programs could be started in capability mode, but it was discontinued in favour of WASI [2] (server-side Webassembly) — which adopted CloudABI's libc API.
0: <https://www.cl.cam.ac.uk/research/security/capsicum/>
1: <https://github.com/NuxiNL/cloudabi>
2: <https://github.com/WebAssembly/WASI>