" ## 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.

Reply via email to