" ## Strict POSIX compliance" is the first point in the INVIOLABLES.md, so I assume this is the main purpose of NuttX's existence. The main priority is POSIX, everything else is an addition - that's how I understand it.
That is a legitimate interpretation. But here is what I had in mind when I created the INVIOLABLES: 1. First, sometime before I left the project, I had a concern about what would happen to the RTOS without a benevolent dictator. I was getting/am too old to provide the same level of support that I did years ago. 2. At about that time, I began working closely with Xiaomi. Xaio Xiang and I thought alike, at least at that time, and Xiaomi was advocating releasing the RTOS as an Apache project. 3. I created the INVIOLABLES then simply to keep the project on track as a less centralized project, assuming that I would not be able to be the project dictator in the long term. I expected that there would be trade-offs, but I hoped that the INVIOLABLES would keep the architecture on track. I think that your interpretation is mostly consistent with mine, but I didn't really intend such a strict hierarchy of values. However, I do tend to agree with you: It makes sense to sacrifice whatever else in order to preserve a POSIX-like RTOS ( I say POSIX-like because it is not possible to implement all POSIX features on many platforms. For example, if there is no MMU in the target architecture then that precludes fork() and a complete mmap()). I am tolerant of a configurable, if not perfectly POSIX options too.
