-1 Bad idea. Destroys the core value proposition for the OS. ________________________________ From: Alan C. Assis <[email protected]> Sent: Thursday, November 20, 2025 5:05 AM To: [email protected] <[email protected]> Subject: Re: [VOTE] Add support to NOT POSIX Compliant (or should be add support ?)
Hi Greg, Yes, I think the idea is to support POSIX subprofiles, this is the case for pthread, posix timers, signals, etc. I think these extreme cases are low end MCUs where we can offer the option to run a small version of NuttX, without jeopardizing the usage for people who need a compliant POSIX OS. BR, Alan On Thu, Nov 20, 2025 at 9:50 AM Gregory Nutt <[email protected]> wrote: > There should only be extreme conditions where any POSIX API is > non-compliant. POSIX complience is a core value of the OS and should not > be violated. If we lose POSIX compliance then we have destroyed the > meaning for the existence of the operating system. I hopr that no one will > ever tolerate that to happen. > > The only legitimate cases I can think of are due to hardware limitations. > For example, certain features of mmap() and fork() cannot be support if > there is no MMU. uCLinux had the same limitations. > ________________________________ > From: Alan C. Assis <[email protected]> > Sent: Thursday, November 20, 2025 4:39 AM > To: dev <[email protected]> > Subject: [VOTE] Add support to NOT POSIX Compliant (or should be add > support ?) > > Hi Everyone, > > Some years ago NuttX was able to fit in really small MCUs (in fact I got it > running on a chip using less than 2KB RAM). > > But a few years ago those options to disable SIGNALS, VFS, etc were > disabled to create a system that was fully POSIX compliant. > > Unfortunately we missed the details: POSIX also aims at systems without > resources, as is the case of POSIX PE51 (POSIX PSE51 is a specific, minimal > profile or subset of the full POSIX - Portable Operating System Interface > standard, formally defined in IEEE 1003.13-2003). > > Almost two years ago I opened an issue about it: > https://github.com/apache/nuttx/issues/11390 > > Today Mr Chengdong opened a PR to bring back the possibility to disable > signals: > https://github.com/apache/nuttx/pull/17352 > > But as Mateusz (raiden00pl) pointed we need to be careful about it to avoid > breaking the Inviolables: > > ## Strict POSIX compliance > > - Strict conformance to the portable standard OS interface as defined at > OpenGroup.org. > > > * - A deeply embedded system requires some special support. Special > support must be minimized.* - The portable interface must never be > compromised only for the sake of > expediency. > - Expediency or even improved performance are not justifications for > violation of the strict POSIX interface. > > Fortunately Greg chose well his words: "Special support must be minimized". > It doesn't mean it could exist, we just need to take care to not become > normal or goal and jeopardize the system. > > So in this sense I propose to vote a suggestion: > > In the configuration where we already add an option to disable posix timer, > pthreads, etc we add an option to "Enable POSIX PE51 subset". > > This way someone willing to disable signals will be aware he/she is > creating a system that is not POSIX fully compliant or it is just a subset > of a POSIX OS. > > BR, > > Alan >
