1. 13
  1.  

  2. 2

    Is QNX still closed source?

    1. 3

      It’s still proprietary, yes. The source is available to paying customers, but not under an open-source license.

      1. 4

        It a good enough system to be worth it but RIM bought it. That was one of worst outcomes given RIM’s likely outcome. The Playbook demos I saw were as amazing as I’d expect from a QNX-based platform. Still, one must question the longevity or amount of corporate BS one will deal with using that platform for long-lasting stuff.

        1. 2

          what was amazing about it, to you, if you don’t mind explaining?

          1. 10

            Well, remember that QNX is a real-time, self-healing, microkernel-based OS with drivers and apps as user-mode processes. They communicate by IPC. Detractors of microkernels like Linus Torvalds claim the context switches & IPC would make them slow while being distributed systems will make them harder to program. The proponents say good designs, esp like QNX’s, will give us fast, robust systems. They disproved Linus et al quite well when they briefly did a QNX desktop w/ demo that fit on one floppy! Here’s typical praise from someone who used it but with plenty of detail and links in follow-up comment:

            https://news.ycombinator.com/item?id=10483544

            Later on, after acquiring QNX, RIM decided to build next Blackberry platform as a layer on top of it. It’s possible they put something in kernel mode, use hardware acceleration, etc at different points to boost performance. I don’t know how exactly it’s implemented. I know it leverages QNX’s properties, though, because it’s responsiveness killed the iPad’s of the time despite it being their first iteration. I went through a flood of videos trying to find the demo where they played multiple games at once without freezes or slowdowns. I can’t find that one but this one should show enough of it to impress:

            https://www.youtube.com/watch?v=tSMfJNNGueU

            Whereas, my browser temporarily froze when I fired off those threads in a way that slightly slowed my Linux system as CPU fan kicked in. Still not as good at resource management and process isolation as a QNX desktop was 17 years ago in 1.44MB space. ;) Here’s some resources on the architecture itself.

            https://news.ycombinator.com/item?id=9872640

            https://cseweb.ucsd.edu/~voelker/cse221/papers/qnx-paper92.pdf

            Note: It’s worthwhile to look at Minix 3 with its Reincarnation Server as it implements a few capabilities of QNX. It’s also open-source w/ a NetBSD userland to make it more usable. I’m with Animats that it’s surprising that nobody is cloning QNX in these microkernel projects given it’s architecture is open. Past any patent protection, too, if they had any.

            1. 2

              it’s surprising that nobody is cloning QNX in these microkernel projects given it’s architecture is open

              Why bother, when we have http://l4linux.org/ ?

              1. 3

                Good to see that again: I’ve long promoted L4Linux, OKL4, Nizza architecture, Turaya, and recently Genode. The Genode OS was most hopeful with Feske integrating a lot of best-of-breed components. They were dual-licensed proprietary and GPL but recently made open part Affero GPL. That might really hurt contributions, esp corporate. Always enjoyed showing TUD:OS demo to people talking clouds and containers given every VM loaded up in about a second on mid-range machines. The VM’s hosted on such microkernels can also be arbitrarily small down to native apps for microkernel itself. They also delivered Nitpicker GUI that prevented keyloggers or spoofing. Driver sharing already happened with DDE [1] and OKL4 which I pointed out to the Rump Kernel guy, Anti. He either said he hadn’t heard about them or they weren’t in good shape. Memory not working on which person said what but clearly wheel was reinvented due to limited awareness of L4-related research.

                Thing is, you get batteries included immediately with QNX: plenty of features/middleware easy to build with good tooling on CPU of your choosing with each battle-tested in many deployments. That’s what’s worth paying for. The L4 stuff will be a custom job with components of mixed quality. The ecosystem wasn’t in good shape years ago when I looked at it. The one that was, OK Labs’s OKL4, is mobile-focused with it now owned by defense contractor General Dynamics. Perseus/Turaya got spun off into a Sirrix product. seL4 is also embedded-focused with nothing resembling an ecosystem except partial integration into Genode’s. Even Genode is more a framework than a usable product based on what I’ve heard from people testing it. The L4 stuff needed to get in immediately-usable shape like done with RTEMS, eCOS, FreeRTOS, etc. Has that happened yet or does it still require a good chunk of time to produce a usable system like the demo did?

                [1] http://www.nongnu.org/l4hurd/docs/helmuth-dde/english/

                1. 4

                  the Rump Kernel guy, Anti. He either said he hadn’t heard about them or they weren’t in good shape. Memory not working on which person said what but clearly wheel was reinvented due to limited awareness of L4-related research.

                  The original intention was probably to make it easier to test NetBSD’s kernel.

                  1. 1

                    He mentioned that as one of the benefits. Could very well be true.