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

Reply via email to