Being German, I think rather differently (probably this is a different culture; US citizens might think differently) about this. Consider
Sortix is a small self-hosting Unix-like operating system developed since 2011 aiming
to be a clean and modern POSIX implementation.
vs.
Sortix is a clean and modern POSIX implementation.
If it isn't yet a clean POSIX implementation, the second one is a blatant lie to a potential user (which they will and should not forgive). On the other hand, the first one is quite honest in that is clearly tells what is there and the clear commitment to reach a clean and modern POSIX implementation - sounds fair and honest.
Author here. I'll probably omit the word 'modern' in the next release. Not for the reasons listed here, but because a bunch of stuff purports to be modern while forgetting the lessons of the past.
I implement POSIX not for the sake implementing POSIX, but because it allows me to port a lot of the software that's already written. The core POSIX specification is fairly alright and not that intrusive in my design, the worst parts of POSIX are in optional sections like XSI that I simply omit implementing. I implement a lot of extensions found in Linux and BSD that enhance upon POSIX, while also providing a few of my own. POSIX doesn't say anything about the ABI and doesn't prevent other languages. Atomic file operations are dear to my heart and something I'd like to extend upon in Sortix. Note that POSIX does specify rename(2) is atomic. I implement POSIX when it's convenient and omit doing so when not.
I'm happy to acknowledge the limitations of Sortix up front. It's important to establish this level of honesty early on to set the right expectations and establish trust. I warn up front about the security problems in Sortix (that exist at this time). If you follow the documentation, you should get predictable results with no nasty surprises.
I think Sortix is suitable for education projects. There's some more clean ups that can make it better. But it's of a reasonable size, it doesn't have that many dirty hacks, and it's fairly well organized.
This is kind of an odd take because POSIX is purposed to make application development across Linux and Unix easier by providing reliable behavior. Saying, "my OS is better than the high level standard because it does more" makes me go, "Okay".
Also, I'm not sure the author has ever actually read POSIX?
Good catch. I haven't found a proper source other than a quotation from some HN comment, so I'm not sure if it actually is POSIX valid or not, just that many people seem to think it is.
While correct, POSIX is supposed to mirror UNIX, but only does so partially and like ANSI C, leaves room for implementation specific behaviours and extensions.
So in the end, the situation isn't much better, if the goal is to reach as much UNIX like systems as possible.
>POSIX, although somewhat dated, has provided a good enough abstraction layer for filesystems and OSs.
First of all, POSIX semantics are not what Windows support. Second, even where available, POSIX is a tiny part of the possible issues. Adequate for naive apps that need to open or write some files, not for a reliable sync tool.
reply