"At this point, an intermezzo with some QNX history is in order. A bit more than a decade ago, the QNX source code was available to the public. Back then, QNX had a vibrant open source community. People would experiment with the kernel, write various useful utilities and help each other in forums. QNX even had a fully featured Desktop GUI, ran Firefox and was self-hosting, so you could develop for QNX right on QNX itself with full IDE and compiler support. It was beautiful."
"Then QNX was bought, source code access was revoked and the community largely withered away. Questions were increasingly asked via private support tickets directly to QNX, locked away from the public. QNX know-how becomes harder and harder to acquire, open source software for modern QNX releases is essentially non-existent and the driver situation is a catastrophe. The QNX kernel is the most beautiful and interesting kernel I have ever had the pleasure of working with, but it lies in the shackles of corporate ownership."
It's sad.
QNX was originally an independent company. During that period, anyone could get a free copy of QNX for personal use. It wasn't open source, but it was available. It's POSIX-compatible, so it was a supported target for Gnu, Firefox, and Eclipse. We used QNX for our DARPA Grand Challenge vehicle in 2003-2005, and all that code was developed on desktop QNX.
Then QNX was acquired by Harmon, the successor to Harmon-Kardon, which once made home audio components and pivoted to car audio. They were thinking car infotainment. Harmon didn't really know what to do with an operating system, especially since the big market was systems for industrial control and point of sale. So eventually they opened the source.
Then QNX was acquired by Blackberry, the early smartphone company. They closed the source, very suddenly. They even killed off the free version for personal and educational use. So all third party open source development stopped. Blackberry eventually shipped a phone that ran QNX, but they were not powerful enough as a company to keep a third phone standard going. So Blackberry went to Android.
Blackberry killed off the self-hosted desktop environment, and users now had to cross-compile from Windows.
> but they were not powerful enough as a company to keep a third phone standard going.
They absolutely were, which is the tragedy of the whole thing, people absolutely loved their products and strongly preferred them to everything else on the market.
Instead of recognizing the game changer that the iPhone was they slept on the market and didn't do much to bring big touch screens and rich internet applications to their platform.
They may have been powerful enough in size and monetary resources, but not in process, structure, or vision. RIM (later BlackBerry) was a tech company that wasn't really run like a tech company - it was run like an insurance company, with a full fledged bureaucracy governed by their legal department. And as a result, when competition from Apple and Google came, they couldn't pivot to compete beyond a snail's pace and faded into the sunset very quickly.
I don't think they had much of a chance with that level of competition. Apple was able to completely shift the market from RIM's strength, which was their full physical keyboard. The screen was for basic productivity applications, and messenger, not for input. There was no app ecosystem. It took years before Blackberry came out with a touchscreen version and it was lackluster. By that time most people who weren't diehard RIM keyboard lovers had already switched anyway.
Hard disagree. While they had lost a ton of ground people were still sporting blackberries in large numbers. The absolute bone headed move they did is they continued to promote and sell their legacy models front and centre cannibalizing their own future growth.
There were other issues that were much smaller in the bigger picture like android app support on BB10 coming a little late as well as the devices in general had a somewhat underpowered SoC. All of these contributed to slow adoption, but the fact they were promoting new models of the Bold while their warehouses were full of the Z10 was really what did them in.
> The absolute bone headed move they did is they continued to promote and sell their legacy models front and centre cannibalizing their own future growth.
That's kind of exactly what I meant, though.
Nokia made an almost identical mistake, before the Microsoft acquisition, by not doing a timely migration path from Symbian to Meego. The old business was a cash cow so they kept it going, not taking the new thing seriously.
> promoting new models of the Bold while their warehouses were full of the Z10
Not familiar with BB lineage I checked the Wiki for the release dates and ... wow.
Not quite an offtopic: people bash me when I point out what Burning Platform is the result of the previous Nokia shenanigans, so blaming it all on Elop is like blaming the fire for charring your steak you forgot on the BBQ.
> They absolutely were, which is the tragedy of the whole thing, people absolutely loved their products and strongly preferred them to everything else on the market.
Concur. I had a Passport and it was a deal-changing sort of device.
The universal inbox was amazing technology, which totally reworked how a pocket comms device worked. Sadly as companies gradually dropped BB10 support, although you could run Android messaging clients, those didn't integrate with the BB10 inbox, so gradually the phone got less and less useful.
This should have been a reason to demand open comms protocols and legally require all comms-tools vendors to support 3rd party clients.
Today, I use Ferdium to connect almost all my comms apps into one client app, but it's just a bloated Electron thing that forcibly unifies dissimilar web apps. It's clever but it's not really a solution. It's a herd of elephants on a seesaw in order to crack a peanut.
Never mind laws about cookie banners, it should be a procurement requirement for all government agencies in the free world that all vendors must support a documented protocol so that native client apps can connect.
To Slack, Whatsapp, Signal, Telegram, Google $ChatAppOfTheMonth, MS Skype|Teams|Whatever.
No web apps, no Javascript, just mandatory lowest-common-denominator local rich clients, so that tools like BB10 could talk to everything.
Frankly I don't care if it doesn't support sound or video. I will go quite far to avoid that anyway. But text, basic formatting, smilies, maybe embedded static image files and attachments.
I've always thought QNX 4.24 w/ Photon microGUI should've been fully open sourced, even a decade later. It would've been competitive with linux in the desktop OS arena.
I'm very surprised that there aren't any projects based on the last available open-source version. This sort of thing usually happens when the company behind an open-source project that has a large community does something stupid to the project. Mapbox is one such example.
It was never actually open-source: it was only source-available. So when they stopped making it available there was no legal basis for continuing. (this is why the definition of open source matters!)
It was, for a while. Blackberry did revoke QNX source code access. The original poster had a copy around from the open source era, and thus was able to fix "ps".
I once told a QNX sales rep that their problem was not being pirated. It was being ignored. Today, I'd say "forgotten".
no, it never was. the qnx source code was available, but it wasn't under an open-source license. if it were, given the number of fans it had in its heyday, there'd be at least one live qnx fork
> You must obtain a written license from and pay applicable license fees to QNX Software Systems before you may reproduce, modify or distribute this software, or any work that includes all or part of this software. Free development licenses are available for evaluation and non-commercial purposes. For more information visit http://licensing.qnx.com or email licensing@qnx.com.
Right, it was never under an open source license, but you could look at the code.
Re-implementing the QNX 6 kernel in Rust would have been a nice project. It's only about 60 kilobytes of code.
All the kernel does is pass messages around, dispatch the CPU, and run timers. All device drivers are in user space. You can build a boot image with whatever processes you want running at startup, so you can have device drivers at boot.
For smaller embedded applications, everything might be loaded at boot. You don't have to have a disk or file systems. There are embedded real-time applications where having zero persistent state is desirable.
Android is open source, leading there to be several Android-based distros like postmarketOS and popOS. they are able to take advantage of the android software ecosystem and so are able to have apps you'd actually want to run on them
"Then QNX was bought, source code access was revoked and the community largely withered away. Questions were increasingly asked via private support tickets directly to QNX, locked away from the public. QNX know-how becomes harder and harder to acquire, open source software for modern QNX releases is essentially non-existent and the driver situation is a catastrophe. The QNX kernel is the most beautiful and interesting kernel I have ever had the pleasure of working with, but it lies in the shackles of corporate ownership."
It's sad.
QNX was originally an independent company. During that period, anyone could get a free copy of QNX for personal use. It wasn't open source, but it was available. It's POSIX-compatible, so it was a supported target for Gnu, Firefox, and Eclipse. We used QNX for our DARPA Grand Challenge vehicle in 2003-2005, and all that code was developed on desktop QNX.
Then QNX was acquired by Harmon, the successor to Harmon-Kardon, which once made home audio components and pivoted to car audio. They were thinking car infotainment. Harmon didn't really know what to do with an operating system, especially since the big market was systems for industrial control and point of sale. So eventually they opened the source.
Then QNX was acquired by Blackberry, the early smartphone company. They closed the source, very suddenly. They even killed off the free version for personal and educational use. So all third party open source development stopped. Blackberry eventually shipped a phone that ran QNX, but they were not powerful enough as a company to keep a third phone standard going. So Blackberry went to Android.
Blackberry killed off the self-hosted desktop environment, and users now had to cross-compile from Windows.
And QNX became more of a niche product than ever.