OSnews has used its coverage of Wine arriving on Haiku as an opportunity to say much the same as the OP of this thread.
Some nice comments there
Perhaps the answer is simply that the time is much greater than envisioned.
Where does the assumption come from that every port is “from 0”? This effort builds on literal years of making sure Haiku is posix compliant, implementing needed apis, improving system stability etc.
It’s not some overnight effort.
It’s fair to say that C and C++ have similar memory model semantics, but even there they are not the same. C++ also has a much stricter type system. And C is not a subset of C++ any more, for reasons mentioned above and also some other features that dont exist in C++ like VLAs and struct flexible array members etc.
Not that I disagree entirely, but has Haiku not been POSIX-compliant since 2008 or so?
Posix has had newer versions since then, Haiku isn’t fully posix compliant (like most OS), but for the most part it is compliant indeed.
( as a humorous example, posix sais echo may not have any options, but we allow -n like most posixy oses : )
Each new version also means we have to change stuff or potentially add support for more stuff.
No. POSIX-compliance requires a licensing cost, official approval, and certification testing per full specifications.
We tend to say mostly POSIX-compliant - meaning unofficially some POSIX tests were run and checked per a POSIX spec. This is a bit misleading. Like a shoe that ‘kinda fits’ a foot.
Mostly POSIX-compatible? Yes. There are specific bug reports that track the progress.
Before we even get to considering official compliance, we are very far from implementing all of POSIX. Several APIs are still missing.
It’s a goal to eventually implement it all as well as possible. It’s currently not a goal to pass the actual certification (not worth the money and effort?)
The same thing, dragon is for Mac OS X because the dependencies are with the program. This solves the main factor with the design of the package manager of Linux in some manner(with redundant space) but package managers of linux had packages for Libraries, packages for programas(only the executables, docs , and some other thing).
The best error on linux packages is not to put libraries with the package of the program(to avoid errors or conflict with dependencies) with this design in mind is some kind of a horror. I prefer the redundant space on Mac OS X , because this days the space on SSD or HDD are terabyte not megabytes like in the 90’s.
Or the ability to install libraries outside the root space , for example in the home folder.