Is Haiku a Unix-like OS?

POSIX = UNIX; as, after all, POSIX is the “single UNIX specification.” As we are (largely) POSIX compliant, we are thus a UNIX. There is no requirement for X11, systemd, or any other application for something to be a UNIX; otherwise, the first UNIX machines would not have been UNIX either!

The multiuser support is exposed; there is already chown, chmod, su, etc. and you can SSH into other users. The GUI does not make use of it, but making those changes will not be as hard as some seem to think.

BeOS was not really POSIX compliant:

  • No pthreads
  • No mmap
  • Berkeley sockets with BONE only (IIRC?)
  • etc.

Haiku, on the other hand, has native (i.e. in-kernel) support for mmap, BSD sockets, and so on. Some of these (the pthreads, for instance) are entirely in userland on top of the “native” thread APIs (but you could also say the same of Linux here, their thread syscalls don’t have “pthread” in the name.)

For me, by far the biggest indicator of an OS being POSIX/UNIX-like or not is (1) the fork-based process model, and (2) POSIX file management [modes, permissions, etc.]. Haiku uses both, and “natively”, i.e. there is no other process model or file management system behind these, i.e. the POSIX functions are not wrappers around some other API. So Haiku is thus indisputably a UNIX-like OS.

13 Likes