HI Michał, I started this discussion for very simple and pragmatic reasons: I want to use NuttX on small microcontrollers, which I know NuttX used to fit very well. (no companies involved or things like that, and the competitor RTOS was cited just as reference)
Just like you, I don't like to see those "FAR *" in the code, but I accept it and I think supporting 8-bit and 16-bit MCUs is not only a cool thing, it is proof that NuttX is flexible, small, modular. Except for avoiding "FAR *" I don't think removing 8-bit and 16-bit will make NuttX better, it is the opposite! These small MCUs and old CPUs help to keep NuttX on track. And POSIX was created to fix the Unix fragmentation/compatibility that was starting to happen in the 80s. So, POSIX started to fix an issue for high-end computers. Nobody could imagine that this same specification could end-up in use on microcontrollers. I think we need to take it in consideration and have a middle ground to not enforce POSIX all the way up, where it is not necessary or in cases when the HW cannot support a full POSIX. What is the reason to have a terminal interface in a device without screen, keyboard or serial port? Just to please the POSIX standard? But I don't agree with your statement: if someone wants to use a fully compliant POSIX OS then use QNX. What if that person/company doesn't have money to pay for the QNX license? What if that person/company wants to use something really open-source? Why not NuttX? The reason Greg wrote the INVIOLABLES is to guide others with his vision in the long run, but as himself pointed out, some terms definitions need better wordings, I think "Strict POSIX compliance" is one of those. Linux supports more POSIX features than NuttX does, but they cannot say they are strictly POSIX compliant, in fact none Linux company can say they have a POSIX OS, because to say that they need to pass in the OpenGroup certification (Apple did it for MacOS). NuttX already passed on POSIX certification (at least for the POSIX profile used in automotive). But certifications only apply for a specific code version, so for an open-source project they are useless. BR, Alan On Thu, Jul 9, 2026 at 4:48 PM Michał Łyszczek <[email protected]> wrote: > On 2026-07-09 19:11:21, Gregory Nutt wrote: > > Nuttx does support fork(), but only for a few architectures. An MMU is > > required to support fork() and full mmap() functionality. It is just > > physically impossible without an MMU. The same situation as for ucLinux > > (which uses vfork(). uCLinuxwas absorbed into Linux). > I could argue that NSH is physically impossible on very small MCUs due to > lack > of ram and flash :D But I'm nitpicking here, of course. > > > So this is really a matter of objectives: Are we satisfied to be only > > POSIX compatible or is full POSIX compliance on the roadmap? If the > > latter then be must be very careful and picayune. I imagine any future > > certification would be with the then current edition. > Wouldn't going full posix compliant force nuttx to remove support for > mmu-less > devices due to lack of fork(2)? > > I really don't think nuttx would benefit from full posix compliant with > certificates and what not. If someone needs that he will probably just pick > QNX. > > I don't even think you guys should take part in that popularity contest and > do things to please companies. It's not like nuttx maintainers are making > any > money from this. > > Like that idea to make nuttx tiny again. If that's what you want to do > because > it sounds fun - shit, do it. But if only reason is that "oh no, some > companies > will pick zephyr over us, because we use 2kb more flash", then I think you > just > lost at this point. > > Correct me if I'm wrong, but I believe you started doing nuttx because it > was > fun thing to do. There was no small posix-like system, so you started > coding it. > For yourself. Then people noticed it, loved that approach and we started > using > it and contributing. Not for any corporations. But for us, and because it's > just fun to hack posix. > > Now it all feels like it's all about pleasing corporations, so they maybe > see it > too, and they will *maybe* start contributing and not just taking it > privately. > NOW NOW, I am NOT saying that's what's happening, just what it feels to me, > for a bystander at this point really. >
