Live data from Hacker News

QNX is now free for anything non-commercial, plus there's an RPi image

blackberry.qnx.com

241–250 of 380 posts

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#241

Is there an eBPF equivalent for QNX? Also, with the real-time linux patch (which has been mainlined now), I'm able to run C++ ROS2 control loops @ 1ms down to even 250us on commodity off the shelf i3 and i5 hardware with dedicated cores. I've worked on vxWorks, QNX and Linux and I found the pace of development using Linux the fastest.

Wouldn't that not make sense for QNX? eBPF is for running code in kernel space but QNX is a microkernel. The microkernel approach would be to just run another userspace program like any other program.

Good point! I was look at it from a users pov. Let's say I have a BPF script for monitoring a set of processes - their disk, network and CPU with some filters on specific messages. Now can I use it in qnx or what's the equivalent? It can run in userspace for all I care.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#242
QNX is squeezed from above by Linux, especially as real time patches have finally been fully accepted. And from below by FreeRTOS and Zephyr. Current attempt to open source is a desperate move by QNX as their market share is disappearing. Why would anyone in their right mind step on the same landmine, called QNX, which already pulled a rug from under the developers feet once? Absolutely no trust in QNX ecosystem. Save yourself pain and aggregation. Don’t use QNX.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#243

Earlier quoted context omitted.

Absolutely. LLVM exists because GCC is GPL; that's a feature not a bug.

LLVM exists because its original developers wanted to do research, not because of GPL and at the time there wasn't even a C compiler for it, not to mention that GCC wasn't designed at all to do what LLVM did. The license angle with Apple did happen because of GCC's switch to GPLv3 but that came years later - and GCC still wasn't (and AFAIK still isn't) designed to be used like LLVM or (later) Clang, like using it as…

They could have very well used lots or reusable parts of GCC. It was possible, and were many projects trying to change GCC.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#244

Earlier quoted context omitted.

Shitty dx is baked into RIM/Blackberry's institutional DNA. I had a long conversation with their engineering people way back before BB10 came out. At the time you had to apply to get access to the full blackberry SDK, and IIRC you also had to sign an NDA. Meanwhile Android and iOS were in full swing and wouldn't you know it, the platforms that had better developer experience, that prioritized making it easy to write…

It was worse than an NDA! You also had to start your application with a trip to a notary to get your ID confirmed. And if their signing servers were down…You couldn’t load had just compiled onto your own dev / test device. I loved using my blackberry but I hated developing against it. Bb10 was its own little adventure but had similar draconian dx

Even worst! When everything was signed, you would get no support at all! Worst experience ever!

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#246
post #205
post #177

Earlier quoted context omitted.

A friend of mine is working on this OS: https://gitlab.com/uxrt

I see this was submitted to HN a couple times over the last few years and has not received any comments. Can you describe the goals and status of this project? Does it fit into any larger ecosystem? Is it a research project or intended for eventual mainstream adoption?

Basically I'm trying to write a better Linux than Linux and a better QNX than QNX, at least for certain use cases that is. At least initially, my primary focus is on workstation/enthusiast desktops and higher-end embedded systems (some types of servers, especially ones where high security is important, are also a focus as well but maybe not quite as much for now). Pure consumer desktops aren't really much of a priority; the goal is to make something that's approachable but definitely not dumbed down. Almost every day I see people complaining about mainstream OSes and I think there's an opportunity for an OS that's cleaner and more integrated than Linux and has various advanced features not found in Linux, but still tries to maintain a high degree of compatibility with it. I'm not really trying to clone QNX or Linux 1:1, but I am trying to maintain similar enough semantics to allow easy implementation of compatibility layers for both systems.

At the moment I have a working microkernel and an incomplete process server with a partially-implemented VFS but no support for running regular user processes. Currently I am working on some of the first special filesystems built into the process server (specifically an early log/console device at the moment).

The kernel is a hard fork of seL4 (the biggest addition at the moment is a preliminary implementation of QNX-style arbitrary-length arbitrary-address message copying); I've forked it because seL4 is focused on lower-end static embedded systems, and full verification of just the kernel isn't really particularly useful for a dynamic OS when all of the servers are unverified. The process server is written in Rust, and it's likely most of the other low-level servers will be as well, although I'm not really writing a "Rust OS" as such. Many of the basic utilities will most likely be BSD-derived, and some of the higher-level desktop-related stuff may be written in various other languages (haven't completely decided there).

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#247

Earlier quoted context omitted.

Since when are social apps high risk? The high risk clause is clearly targeted at applications that have safety requirements (IEC 61508, ISO 26262 etc.). A crashing Twitter client won't injure or kill anyone.

This is their definition of “High Risk Application”: any product, device, component, or system which if it fails or is interrupted, may result in loss of life, or other serious or catastrophic personal injury and/or substantial financial or commercial or societal loss. So its not just safety-critical applications, it also includes "societal loss". What does that mean I have no idea. Does losing Twitter client leads t…

Only a court of law can determine what that means with certainty, as written anyways. They might even determine that it’s invalid! At which point they’ll just sever the agreement anyways, and until nullified or upheld it serves as a form of uncertainty gatekeeping.

I cannot possibly imagine what motivated them to put in a “no edgy apps” clause and then post it on a bleeding edge site like HN. A job’s a job, I suppose.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#248
post #62

Earlier quoted context omitted.

For everyone else, your QNX comment from 2015: https://news.ycombinator.com/item?id=9872640

> Somebody really should write a microkernel like this in Rust. I wonder how far Redox's microkernel design is from what that comment describes.

Redox's IPC is a fair bit weaker of a design than that of QNX or my seL4-derived kernel. It works sort of like that of QNX in that it has direct copying of messages between address spaces and RPC-like semantics with direct context switch from sender to receiver and back, but it is more limited and implemented in a slower way. Also, there seems to be no consideration for real-time performance at all.

Outside the core IPC model, the namespace model is also more limited than that of QNX; QNX allows multiple servers of a given type mounted anywhere within a namespace, whereas Redox's scheme-based namespace model only allows a single server of a given type per namespace, mounted on a fixed top-level prefix.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#249

Earlier quoted context omitted.

Even more critically, dual-license commercial and AGPLv3 to avoid the AWS loophole (hosted services or source modifications without licensing it commercial.) AGPLv3 is perfect for kernel and userspace tools because, while it doesn't guarantee licensing revenues, as soon as they do anything to modify it they have to release those changes to ANY users of the system, whether downstream distributors or simply users of th…

> AGPLv3 is perfect for kernel and userspace tools because, while it doesn't guarantee licensing revenues, as soon as they do anything to modify it they have to release those changes to ANY users of the system, whether downstream distributors or simply users of the network services they provide. This is actually fairly ambiguous in the text. It says "if you modify the Program, your modified version must prominently o…

Yep, I think the agplv3 behaves like the gplv3 for programs that are not network services.

With the twist that if your non networked, agplv3 program happens to contain code that's interesting to build a network service, this code can only be used under the agplv3 :-)

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#250

Earlier quoted context omitted.

Working as intended. If they don't want to share, then they can't benefit.

Absolutely. LLVM exists because GCC is GPL; that's a feature not a bug.

I don't even understand how you can point to LLVM as an example of this failing. GCC is still alive and well, and perfectly suited for the task it was always intended to fill. People that wanted a commercial C compiler always had the option to purchase one at-cost, GCC was intended as an alternative to that process, not the alternative. It may be hard to remember, but less than 50 years ago squabbles over compiler licensing was what most developers had to deal with.

Respectively, LLVM fills it's own gap nicely. It has the classical BSD-like issue where hundreds of unique and disperate forks exist with no roadmap to bring them together, but that's also technically a "feature" of each license and not a bug. If GCC developers felt their job was obsoleted by Lattner, there wouldn't be a reason to update and maintain it. The end result has been healthy competition, accountability for either team, and better optimizations for everyone using either compiler.

Post reply on HN