8 ms·
If only you could believe them. QNX has been "opened" twice before. Each time, there was a rug pull, and it went closed again. Before the first rug pull, open
by Animats 2y ago
If only you could believe them.
QNX has been "opened" twice before. Each time, there was a rug pull, and it went closed again.
Before the first rug pull, open source groups routinely added QNX to their target list. There was a Firefox for QNX. Eclipse had QNX as a target. GCC and most of the Gnu command line tools could be built for QNX.
There was a desktop environment, Photon. I used that as a primary desktop for three years when working on a DARPA Grand Challenge vehicle.
All of that went away after the Harman acquisition of QNX in 2004.
Then, in 2007, QNX went open source. You could even look at the microkernel. It wasn't openly licensed, but you could look inside and build it.
In 2010, RIM acquired QNX, and, with no warning, closed the source. All open source development related to QNX ceased, and QNX lost all credibility in the community. So QNX shot itself in the foot. Twice.
Note the contractual terms.[1] "TERMINATION. This Agreement and licenses granted hereunder may be terminated by either Party upon written notice to the other Party". QNX can pull the plug at any time. Since they've done so twice in the past, there's a good chance that will happen again.
Now, if QNX is serious about this, the way to go is to use the licensing model Epic uses for Unreal Engine. Unreal Engine is behind most AAA game titles. The basic terms are that you can download the source and use it for anything you want, and there's no charge until you get the first $1 million in revenue from your product. Then Epic takes a 5% royalty.[2] This has been extremely successful for Epic. There's not much of a piracy problem, because if your game gets enough revenue to matter, it has enough visibility that their licensing people will notice. Meanwhile, there's a large pool of people using Unreal Engine.
That's the way to do it if you want more adoption of QNX. Take the Epic term sheet to your lawyers and management. And have them take a look at Unreal Engine's revenue growth vs. QNX.
As I once told a QNX sales rep, your problem isn't that you're being pirated. It's that you're being ignored.
[1] http://www.qnx.com/download/feature.html?programid=51624 http://www.qnx.com/download/feature.html?programid=51624
[2] https://cdn2.unrealengine.com/UnrealEngine/faq/UnrealEngineEndUserLicenseAgreementv12.1-21f8b3b79e10a92a7dfb02aa051af3df67ff6ce3.pdf https://cdn2.unrealengine.com/UnrealEngine/faq/UnrealEngineE...
- Tomte 2y agoFor everyone else, your QNX comment from 2015: https://news.ycombinator.com/item?id=9872640 https://news.ycombinator.com/item?id=9872640
- stevesimmons 2y agoAs someone who knows only that QNX is a RTOS and that "real time" is good in some vague hand-wavy way, I found this 2015 comment a very succinct, concrete and illuminating description of one aspect of QNX's architecture that makes it properly real-time. So thank you very much for the link.
- scheme271 2y ago"Real time" is only good if you need guaranteed responsiveness within certain time limits. It can actually be suboptimal and slow you down if you don't need it and want to optimize other things like throughput.
- AlotOfReading 2y agoThough in practice, the act of designing your code for realtime tends to produce better performance than the status quo of doing nothing. Most uses of this warning seem intended to promote the latter rather than to get people thinking about their actual requirements.
- vbezhenar 2y agoWho needs throughput? Server software, but Linux is already dominant there and everyone's happy. For everything else, including desktop and mobile operating systems realtime sounds like a good idea.
- mlyle 2y agoAbsolutely deterministic latency isn't a requirement for the desktop like it is for industrial control. If 99% of the time performance is faster, and the remaining 1% of the time isn't that bad, most people will take the trade of higher average performance. If it's running the antilock braking in your car, that's pretty bad.
- ChrisC-POV 2y agoThat's waaaay too broad a grouping. You're thinking of PC's, basically, in one form or another (or their modern replacement, mobile devices). Industrial automation and hard real-time embedded devices like those that control surfaces in Fly-By-Wire systems are out there and with those it's not a matter of "throughput" but a matter of timeliness. I did a major project with QNX about a decade ago where the maximum allowed latency between any device on the (fiber-optic) network being asked a question by the master controller and the reply - then the processing of the reply - was less than 1 millisecond, full stop. Come in late and most of the time the sky doesn't fall in. But on the occasions that it does, you potentially have a 4 meter wide ribbon of red-hot steel flying out of the stands at 50mph. Or you blow one of the transistors that controls the 10-20 megawatt DC motors in each stand. (These "transistors" were boxes about 7' tall, filled with oil, and cost northwards of $200k). Sometimes it just doesn't pay to be late.
- stackghost 2y agoShitty 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 apps, were successful. Blackberry is just institutionally incapable of handling this sort of relationship with the community. It's that legacy telco "us vs them" mindset at the top of the org, and it filters down whether implicitly or explicitly.
- baby_souffle 2y agoIt 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
- hinkley 2y agoOne of the dirty secrets of the mobile industry, particularly before Apple showed up and spoiled all the fun, was how many execs and chunks of the ethos were airlifted out of Ma Bell. The kind of moat-building we're seeing take over the internet over the last couple decades is something that mobile carriers already had in heaps. It was also common for carriers to extort very high fees from anyone selling apps on their platforms. People bitch and moan about Apple taking 30% (which is more like 15% now) but I saw mobile app execs complaining about only grossing 30% after the carrier fees, and so you could only either make blockbusters and pay for R&D on volume, or set your VC money on fire to fatten up the carriers and get nothing, except more powerful carriers, for your efforts. I'm not at all surprised to hear that RIM was only slightly less evil.
- tdeck 2y agoI remember getting some LG phone in maybe 2007 and being excited because I read you could write 3rd party apps and games for it. Then I tried reading the BREW developer docs and trying the emulator, which were both abysmal. Then I read that just to try an app on my phone I would need to pay hundreds of dollars (IIRC it was $400) to get it signed. That totally killed my desire to develop for my flip phone.
- yjftsjthsd-h 2y ago> Now, if QNX is serious about this, the way to go is to use the licensing model Epic uses for Unreal Engine. Unreal Engine is behind most AAA game titles. The basic terms are that you can download the source and use it for anything you want, and there's no charge until you get the first $1 million in revenue from your product. Then Epic takes a 5% royalty.[2] This has been extremely successful for Epic. There's not much of a piracy problem, because if your game gets enough revenue to matter, it has enough visibility that their licensing people will notice. Meanwhile, there's a large pool of people using Unreal Engine. One option: Dual-license as GPLv3 (the 3 is important!) or commercial license. Hobbyists and FOSS projects will be quite happy to use a GPLv3 OS. The big commercial users - traditionally cars and other embedded uses - will not want to be legally obligated to give users the ability to install custom firmware (which GPLv3 basically requires), so they'll still pay for it. Everyone wins. (IANAL, this is not legal advice, interpret licenses yourself.)
- dystnitem4r3 2y agoEven 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 the network services they provide. Since they have to provide any IP/patents they used to do it under copyleft terms, QNX would get publicly visible benefits, albeit with changes that might not be useful under the commercial license without negotiating a CLA with the modifying party, but under the commercial license you could negotiate terms/a discount to trade their new code for a reduction in their cost of licensing. It's a win/win from either an open source PR or a behind the scenes commercial negotiation point. Obviously your lawyers, bean counters, and C-suite have to get onboard, but if you are serious about growing QNX's marketshare now that Linux is gaining real-time kernel support in mainline, you had better point out to your bosses they need to make the decision quick and stick to it, or there won't be a next time. Edit: Adjustments made to clarify my position and suggestion.
- 2y ago
- apitman 2y agoEven getting the licensing right isn't sufficient. They could license it as MIT today, close source it again tomorrow, and within a few releases no one would be using the MIT version. Unless someone is interested in maintaining a full fork. It's the same reason Google can do whatever they want with Chromium even though it's technically open source. No one else has the resources/will to maintain it so there's no credible threat of a fork.
- justin66 2y agoThat's not a great example. Maintaining a full fork of QNX would not be terribly complex compared to maintaining a full fork of Chromium. The latter targets standards which are moving and evolving. Nobody cares which version of POSIX QNX is compatible with. (Also, Chromium is much bigger) I think a fork could have some maintainers. I'd be more worried about people wanting to put new features in than anything else.
- deleted 2y ago[deleted]
- miki123211 2y agoBetween Microsoft on one hand and all the other browser companies (Opera, Brave etc) on the other, I wouldn't be so sure. Following Google's lead is massively cheaper than having a custom fork or engine, but it's not impossible. If Google does something wild and unpalatable to all these companies, I wouldn't be surprised if we see a Linux Foundation version of Chromium, with custom skins on top. That could even get Mozilla to jump on the bandwagon, especially if they lose 9x percent of their revenue due to Google's antitrust remedies, which is not that unlikely.
- PaulHoule 2y agoAlso I wonder how many applications really need more real time responsiveness than you can get out of Linux. We even have https://arstechnica.com/gadgets/2024/09/real-time-linux-is-officially-part-of-the-kernel-after-decades-of-debate/ https://arstechnica.com/gadgets/2024/09/real-time-linux-is-o... If I use Linux I know I won't have to have a discussion about licensing, I know I won't get rug pulled, etc. Also the ban on commercial use is heinous. I am going through this with Arangodb right now. I love the product, but I have no budget for a cloud instance they manage and I have no budget to talk with their sales people about a commercial license. I have several systems that use it (including one that's about 80% of a way to a "too big for free" database) and I don't know if their fate will be (a) open sourcing, (b) a product or (c) a system that makes money for me directly but for me the short path is to switch to postgres, not talk to people whose business model doesn't necessarily allow my business model.
- sitzkrieg 2y agort linux is not appropriate for many hard realtime requirements i have seen some try and fail in an effort to save $perceived_value
- eikenberry 2y agoIs there a good libre real-time OS you would recommend over it?
- serf 2y agochibios is great, but I haven't followed their culture or licensing in a few years now. my experiences then would lead me to recommend it, though.
- monocasa 2y agoChibiOS doesn't really compete in the same space as QNX. It's a single address space executive that's more like FreeRTOS than QNX.
- 2y ago
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- wakeupcall 2y agoBack before 2004, QNX could have still been relevant as there was still a lot of OS experimentation from the user/developer themsevels. They could have attracted enough people to carve a niche even in the desktop space at that time. After beos failed, I played/developed with QNX until they pulled the rug. I was on it full time on my main dev machine. I loved it. When they closed it I got severely burned to the point that I will not touch a any closed development platform. I see from the license they didn't change a bit. Not that it matters anymore.. they're largely irrelevant today except for whatever existing markets they already have. It would be fooling to choose QNX today: we now have good alternatives, and all of them with open licenses.
- Suppafly 2y agoI remember being really excited about QNX for a few months after BeOS closed up. It had a cool desktop environment and was mostly posix so it was more or less familiar coming from Be or Linux.
- snvzz 2y ago>QNX went open source. Not open source. Those words have a specific definition[0], which QNX never met. 0. https://opensource.org/osd https://opensource.org/osd
- AndriyKunitsyn 2y agoThings don't become true just from being written down on the Internet. Open source means that the source code is open for the public to see, and that's it.
- MaxBarraclough 2y agoThis misunderstanding continues to crop up on Hacker News. [0] > Things don't become true just from being written down on the Internet That's not what they were saying. People who care about open source software use the OSI's definition. You can't reason about the open source movement if you use a fundamentally nonstandard understanding of the term, such as the one you are proposing. You wouldn't be able to make sense of a blog post like this, for instance. [1][2] > Open source means that the source code is open for the public to see, and that's it. The open source movement disagrees. Are we expected to accept your definition just because it's written down on the Internet? [0] https://news.ycombinator.com/item?id=31203209 https://news.ycombinator.com/item?id=31203209 [1] https://drewdevault.com/2024/07/16/2024-07-16-So-you-want-to-compete-with-FOSS.html https://drewdevault.com/2024/07/16/2024-07-16-So-you-want-to... [2] https://news.ycombinator.com/item?id=40993787 https://news.ycombinator.com/item?id=40993787
- johnklos 2y agoSo it's not just me. I asked for a license to do pkgsrc package building on QNX, got rejected, and couldn't even get a human to respond to my messages with anything that didn't resemble a copied-and-pasted form response. They gave the impression at the time that they really couldn't be bothered with open source. This just happened to be not long after 2010.
- hulitu 2y ago> As I once told a QNX sales rep, your problem isn't that you're being pirated. It's that you're being ignored. Microsoft realized that a long time ago. That's why you could always get Windows for free if you knew where to look. QNX will lose even more since linux merged the RT patches. There is almost no reason to use QNX on an embedded system where linux is also available. It is sad. With GNU it could have been something interesting.
- relistan 2y agoI worked for a startup in Germany that was acquired by RIM/Blackberry in 2011. The company tried to get all the employees to sign new contracts for their existing roles and pay. The new contracts put severe IP limitations on everyone. All open source was forbidden. Many of us were very active in open source at the time. (I had worked for the Eclipse Foundation). A friend who wrote fiction was told he’d need written permission for each story he wanted to post or publish. They insisted that German engineers sign contracts where the binding language was English even though it was provided with a German translation. Many of us just left instead. My favorite line from the transition team sent from Canada was about how lucky we were going to be that they’d let us keep our awesome office in Munich because everyone at RIM worked in dark concrete dungeons. Yeah, how lucky we were that we could keep what we had. Open anything is just completely foreign to that company’s DNA. I would not trust them an inch.
- jagermo 2y agoUbitexx?
- 486sx33 2y agoUnreal engine has certainly had its licensing issues. https://www.theverge.com/2023/10/5/23905082/epic-unreal-engine-pricing-change-film-automotive https://www.theverge.com/2023/10/5/23905082/epic-unreal-engi...