« BackThe QNX Operating Systemabortretry.failSubmitted by BirAdam 10 hours ago
  • faluzure 5 hours ago

    I had some fun history with this OS.

    First, we had ICON computers in my elementary school, we'd all try to spin the trackball as quickly as it would go. Not sure if we ever broke one.

    The second is when I worked at BlackBerry. I was building a feature that allowed you to use your QNX BlackBerry as a Bluetooth HID device. You could connect it to any device and use the trackpad + physical keyboard to remotely control a computer. It was fantastic. You could hook your laptop up to a project and control slides from your BlackBerry.

    Then some product manager with questionable decision making told me to lock it down so it would only work with Blackberry Playbooks for "business purposes", rendering it effectively useless (since Playbooks are all ewaste). I distinctly remember that meeting where Dan Dodge argued that since it's a standard, it should not be locked down.

    I respect Dan Dodge for that, I don't think I'd work with that PM again.

    • travisgriggs 2 hours ago

      I loved the idea of QNX. Got way excited about it. We were moving our optical food processor from dedicated DSPs to general purpose hardware, using 1394 (FireWire). The process isolation was awesome. The overhead of moving data through messages, not so much. In the end, we paid someone $2K to contribute isochronous mode/dma to the Linux 1394 driver and went our way with RT extensions.

      It was a powerful lesson (amongst others) in what I came to call “the Law of Conservation of Ugly”. In many software problems, there’s a part that just is never going to feel elegant. You can make one part of the system elegant, which often causes the inelegance surface elsewhere in the system.

      • jamestnz an hour ago

        > what I came to call “the Law of Conservation of Ugly”. In many software problems, there’s a part that just is never going to feel elegant

        This may be an instance of the Waterbed Principle: in any sufficiently-complex system, suppressing or refactoring some undesirable characteristic in one area inevitably causes an undesirability to pop up somewhere else. Like there is some minimum amount of complexity/ugliness/etc that it is possible for the entire system to contain while still carrying out its essential functions, and it must leak out somewhere.

        https://en.wikipedia.org/wiki/Waterbed_theory

        • jacquesm 26 minutes ago

          I have a really neat idea to improve the message passing speed in QNX: you simply use the paging mechanism to send the message. That means there is no copying of the data at all, just a couple of page table updates. You still have the double TSS load overhead (vs 1 TSS load in a macro kernel), but that is pretty quick.

          But you are right that there is a price for elegance. It becomes an easier choice to make when you factor in things like latency and long term reliability / stability / correctness. Those can weigh much heavier than mere throughput.

        • taviso 28 minutes ago

          I really liked the QNX Photon aesthetic, for a long time I maintained an absurdly complex FVWM configuration designed to look like it.

          This was a screenshot of my Gentoo desktop around 2004!

          https://lock.cmpxchg8b.com/img/fvwm_desktop.jpg

          • fleeno 3 minutes ago

            That looks great even now! Do you still have your dotfiles somewhere?

          • _joel 6 hours ago

            Probably about 1996(?) remember getting this on a floppy disk, full RTOS GUI with a networking stack, wondering how they could do that with such a small footprint. For reference I recall having to write stacks of disk set floppies for Slackware basic install, let alone Windows 95 :)

            • sillywalk 5 hours ago

              I remember that. It even included a web browser. There's a copy here:

              https://winworldpc.com/product/qnx/144mb-demo

              • marcodiego 3 hours ago

                That was for show purposes. It was certainly intended to display OS capabilities while impressing people at the same time. Linux eventually came to dominate the live-cd scene in the early 2000's but, to this day, people still cute this demo as specially incredible. Actually, there was Linux with X11 and a functional browser that run from a floppy. And that is something that is really impressive: https://news.ycombinator.com/item?id=28515025

                • riffraff 6 hours ago

                  I remember getting it around the year 2000 after having fiddled a bit with Linux desktops and being blown away.

                  • d3Xt3r 5 hours ago

                    Same. I used to use it as my "cybercafé" OS, since cybercafés at the time were untrustworthy (big risk of keyloggers and malware), I'd boot QNX on their PCs and browse the web securely. Used to carry it around everywhere and everyone I showed to were blown away.

                    I even ran the full QNX Momentics desktop OS on my home PC (a PIII 450) and it was very very impressive, way better than Linux and pretty much everything out there. Well, BeOS was also impressive with its multimedia performance, but QNX was just so much more polished and professional.

                    The late 90s-early 2000s was such an interesting era in computing in general - at one point I was multi-booting something like a dozen different OSes - DOS, Windows, Linuxes, BSDs, QNX, BeOS, MenuetOS.. all thanks to this fully graphical boot manager, I forget the name but it even had a built-in partition manager - and it even had mouse support! All these OSes were also quite usable, unlike all the niche OSes of today, many of which sadly can't even be installed on real modern hardware because of all the complexity. I really miss those days, it was truly a golden era of computing.

                    • realty_geek 3 hours ago

                      Good times indeed. knoppix was my best friend then but I remember that QNX floppy and being pissed off that I didn't have enough geeky friends who were blown away by it.

                • ahartmetz 6 hours ago

                  QNX is a really cool OS (it's fast AND elegant AND extremely reliable) and QNX dude Dan Dodge gave the only conference keynote so far that I greatly enjoyed. It was basically fun stories from over 30 years (at the time) of OS development. It's sad to see QNX use, apparently, decline.

                  • Rochus 5 hours ago

                    Nice article, interesting read.

                    The Neutrino 6.4 version, which was made accessible as "openQNX" to the public, can still be downloaded from e.g. https://github.com/vocho/openqnx.

                    Here is an AI generated documentation of the source: https://deepwiki.com/vocho/openqnx

                    • skissane an hour ago

                      > The Neutrino 6.4 version, which was made accessible as "openQNX" to the public

                      From memory: the source was made freely available to anyone who wanted to download it, but not under an open source license, under an individual non-transferable proprietary license; so, legally speaking, anyone who downloaded the source back then (before this program was terminated) is allowed to keep it and use it forever (under some usage restrictions, I forget the details), but they aren't licensed to share it with anyone else.

                      So this is somewhat comparable to all those leaked Microsoft Windows source code repositories on GitHub – technically illegal, but the copyright holder obviously doesn't care to try to stop it (especially ironic for Microsoft, given that as GitHub's owners, they could put an end to it very easily, if they could be bothered)

                      • Rochus 23 minutes ago

                        See https://www.openqnx.com/node/471

                        "Access to QNX source code is free, but commercial deployments of QNX Neutrino runtime components still require royalties, and commercial developers will continue to pay for QNX Momentics(R) development seats. However, noncommercial developers, academic faculty members, and qualified partners will be given access to QNX development tools and runtime products at no charge."

                        • skissane 19 minutes ago

                          You are quoting an old press release, not the actual license agreement.

                          • Rochus 6 minutes ago

                            It clearly states that the company made the referenced source code version available for free.

                    • xattt 30 minutes ago

                      VW (and others) was using QNX as the base for its infotainment UI. Snappy and responsive. Got the job done.

                      • brynet 3 hours ago

                        I used ICONs in school growing up in Ontario, Canada, they were so cool. It was a sad day when Windows PCs replaced them in the computer lab.

                        All but a few of these computers were destroyed by the ministry of education. And without the LEXICON server that accompanied them, they're basically useless.

                        For a bit of fun, I ran the DOOM shareware demo using the official QNX4 port on a 486SX with 8M of ram.

                        https://brynet.ca/video-qnxdoom.html

                        I picked up QNX6 again as a hobbyist later in life... until self-hosted QNX was killed, no bootable .ISOs after 6.5. Then they killed the hobbyist license, killed the Photon desktop GUI, dropped any native toolchain support in place of a Windows/Linux-hosted IDE. Porting software became difficult, pkgsrc no longer maintained.

                        They are completely noncommittal as a company, nothing short of actually open-sourcing it under the MIT/BSD would convince me to use it again.. and not another source-available effort that they inevitably rug pull again.

                        https://www.osnews.com/story/23565/qnx6-is-closed-source-onc...

                        • WillAdams 6 hours ago

                          For folks who want to experiment and have a spare rPi:

                          https://carleton.ca/rcs/qnx/installing-qnx-on-raspberry-pi-4...

                        • smoyer 40 minutes ago

                          I have a couple iOpeners that I use as text terminal. Full QNX once you root them.

                          • michaelw 3 hours ago

                            Oh this brings back some fun memories. I worked with QNX for the ICON computer at Cemcorp and ESP Educational Software Products.

                            The OS was so clean but it lacked a lot of basic tooling. Back then there was no GUI or even a graphics library. We had to build or port a lot of things, including a VCS, from scratch. My editor of choice was JOVE (I couldn't get Emacs to build). I remember digging up various papers on graphics and creating our first graphics library.

                            • 51Cards 6 hours ago

                              What a great summary. I was reminded of QNX through the Blackberry acquisition but I had forgotten it's history went back so far. (I should have remembered, I was around in those early PC days) With so many things these days having an operating system running them (including the mentioned cars, rockets and robots) QNX seems to have a bright future ahead doing what it does best, being the solid core to build upon.

                              • Lammy 4 hours ago

                                QNX 6 was the first non-Microsoft non-Apple OS I ever used, even before Linux, and after trying and failing to pirate OS/2 Warp 4. It came on the Maximum CD with the March 2001 issue of Maximum PC alongside the “Alt OS” article in the same issue: https://books.google.com/books?id=yAEAAAAAMBAJ&lpg=PT53&dq=%...

                                So much '90s anime in those screenshots — super nostalgic!

                                • jacquesm 4 hours ago

                                  Interesting to see this a couple of days after my post. I wonder if there is any link, but in case there isn't: QNX is well worth studying, it is in so many ways an OS done right.

                                • leakycap 2 hours ago

                                  Until recently, QNX was the OS used for the infotainment/head units in VW/Audi including navigation, voice interaction, etc.

                                  • CalChris 5 hours ago

                                    This is not the same Gordon Bell as the early DEC programmer and later VP.

                                    https://en.wikipedia.org/wiki/Gordon_Bell

                                    • aclark 3 hours ago

                                      I used QNX in the 2000s at NIH to run experiments! We eventually replaced it with Linux and Windows and dedicated "experiment" hardware to handle the "real time" needs.

                                      • dvratil 5 hours ago

                                        I was involved in porting some software to Qt back when Photon was deprecated, and I always found the system very interesting. This is the first time I'm actually learning more about its history. Thanks for the great read.

                                        I was also a huge fan of BlackBerry phones (having used Q5 and Z10 as daily drivers). The system was solid and had some really cool ideas. Too bad it didn't work out...

                                        • gmueckl 6 hours ago

                                          It's somewhat refreshing to see this OS going strong in 2024. I briefly used it for some ill fated project around 2008 and that's when I learned to appreciate its design and well written documentation (including a warning that a timer would overflow after 400-odd years of continous uptime).

                                          • yangosoft 6 hours ago

                                            This series are quite interesting to understand and play with QNX 8.0

                                            https://devblog.qnx.com/tag/from-the-board-up-series/

                                            • transitorykris 4 hours ago

                                              This Icon was a hunk of junk. The only value it provided were to the students with any sort of curiosity about how this frankensystem worked. It was only later that it was clear it took advantage of procurement processes in the most extreme sense. A pure embarrassment of technology, grifters, and government. We learned more from the PETs, Commodores, and after that the PS/2s.

                                              • Theodores 5 hours ago

                                                I had to use QNX for realtime applications in the late 1990s before the Pentium came along. Windows, Linux and existing UNIX flavours were not an option as none of them could do the realtime thing in quite the same way that QNX could. That was the strength of the OS and I am glad I knew this before reading the article.

                                                What I also liked about QNX was the petite size. If I remember correctly it came on one floppy disk, and that included a GUI, not that you need a GUI with QNX since the product will be an embedded system of sorts. All of the documentation was clear and, even if you had not read the manual, the overlap with UNIX meant that the system was far from intimidating as most of the commands that I knew would work fine, albeit with different options to commands.

                                                I had not fully realised how QNX had gone from strength to strength in automotive, and I didn't even know Harmon owned them for a while.

                                                Given that we have gone from single core, 32 bit 386/486 to today's sophisticated SOCs that are thousands of times more capable, the question has to be asked, how important is QNX's superpower of realtime goodness, particularly if it is just for automotive applications such as turning on the A/C?

                                                Surely a modern CPU that goes so much faster can do a better job without having to care about realtime performance? Or maybe Android Auto and Automotive Linux have those bases covered? Regardless, I am sure that if you want realtime embedded applications then you hire the guys that know QNX and reject those that haven't a clue.

                                                • kotaKat 6 hours ago

                                                  Who else remembers hacking on QNX from the i-opener and 3com Audrey era? ;)

                                                  • throwdat9082734 5 hours ago

                                                    Hell yeah, iopener represent. :)

                                                    I was a contractor to Netpliance Inc early in my student days. They kept charging people for service that slowly degraded to the point of clients not getting their email for months and being told to try getting a Hotmail account. Watched the share go to pennies, then the company imploded and then everyone on my contract got laid off. Important early life lessons about how loyal to be to your job and keeping your resume fresh. A priceless education you can't get in college.

                                                    Anyway, I _liberated_ an RMA'd Iopener, built a handmade IDE cable to connect to the funky pinout, added a disk and ran it at home as a music server and internet device (with a hacked Netzero dialup account, of course). Ah, those were the days.

                                                    • cramcgrab 6 hours ago

                                                      Yep, remember the 3com Audrey, probably still have it in a box in my basement!

                                                    • varispeed 5 hours ago

                                                      I had shareware floppy of QNX. I still remember how I admired it, but unfortunately had no use case.