No one will ever pick QNX over NuttX in these spaces for a few reasons: - Incredibly expensive - They have also gone the route of cutting down features (no QNET, nothing under 64-bit) - Very focused on automotive, only runs on large targets (with the exception of the Pi4B, which was not intended as a commercial supported product)
I started the Pi port 2 years ago to show that NuttX could do it better than QNX. NuttX fills an excellent niche of being tiny and POSIX. I agree that it would be awesome to get more company support since the team of active contributors is pretty small for something that is this mature and used. But I do think some of NuttX's charm is support for 8 and 16 bit MCUs in addition to 32+ bit, and it's ability to run resource constrained. Maybe bending over backwards for 8-bit machines is a bit much, but reducing size is not a bad thing! Matteo On Thu, Jul 9, 2026, 5:25 p.m. Alan C. Assis <[email protected]> wrote: > 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. > > >
