Starting from scratch is actually feasible on the software side though. The OSDev wiki has many examples. The most recent one I know is Serenity. Still a monumental task. It's probably a lot of fun if you have the time and motivation to stick with it. You can actually throw POSIX in the trash and create your own abstractions. Hopefully people aren't reinventing signals...
I think Linux is the best option for those who want to create something from scratch. The Linux kernel is unique in that it is completely separate from user space. There is a stable, documented kernel interface in the form of system calls:
https://man7.org/linux/man-pages/man2/syscall.2.html
https://man7.org/linux/man-pages/man2/syscalls.2.html
https://www.kernel.org/doc/Documentation/ABI/stable/syscalls
https://www.kernel.org/doc/Documentation/ABI/stable/vdso
So people can actually do things like trash all of GNU and come up with something entirely new. It's possible to rewrite the entire Linux user space in Rust or Lisp or whatever. It doesn't have to be POSIX compliant.
The kernel even has this amazing header which lets people build freestanding Linux programs:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...