OSNews was happy to meet with Paul Leroux of QNX Software Systems at their headquarters in Kanata, part of the Silicon Valley North area around Ottawa, Ontario. With 20 years of experience in the field, QNX is synonymous with embedded systems. Many people will be familiar with the QNX demo disk that fit their OS, GUI, browser, web server, games, TCP/IP, and more onto a 1.44M bootable floppy. In 2000 QNX gained notoriety for making the QNX realtime platform free for non-commercial use. QNX has been riding a wave of buzz in this last year. We spoke during the hectic lead up to Embedded Systems Conference.
1. Paul, first it was that impressive demo disk and then it was the full-fledged release of QNX RTP. Were you testing the waters for a QNX desktop market?
Paul Leroux: That's a popular question. The QNX realtime platform is a desktop for developers. QNX needs to provide developers with a full variety of tools. But, developers are people too! Like everyone else, they want an easy-to-use desktop to surf the web, to play multimedia, or whatever. That's really where we're coming from. So, no, we weren't testing the desktop market for interest. We have 20 years of really extensive embedded experience. We've been bringing desktop features into our embedded development platform, not moving in the other direction.
2. And developers out there have responded favourably?
Paul Leroux: Making our OS freely available has been more successful than we imagined it would be. QNX is a self-hosted OS, a unified development-environment and target-environment. With traditional RTOSs, you have a very iterative development cycle. You build your code, you download the project to your target board, test it, debug it, download it again, and again. Developers can avoid this when the development and target environments are unified. Now a typical embedded developer can test the behavior and performance of their project right from their desktop.
As for the free download, we decided that we really wanted developers to have access to our technology right away. Why put them through some purchase approval process? This way they can become acquainted with our technology, or quickly put together a proof of concept.
We don't mind if people want QNX for non-commercial personal use. That's not our market.
3. So what about all of this extra notoriety? Was it useful?
Paul Leroux: This really helped get our name out there. As an embedded OS we allow our customers to brand their products themselves. This is why there are few "QNX Inside" labels pasted all over our customers' boxes, or logos in the corners of some interface screen.
We have a lot of customers that we can't talk about, and that's the bitter sweetness of the embedded systems market. Customers really want to use your product, but they don't want to tell anybody. We're their secret sauce.
4. And feedback from customers since the release?
Paul Leroux: We're focused on several different 'verticals' within the embedded market. Customers in these market verticals can respond very differently, as you can imagine. For instance, we're becoming very popular among manufacturers of networking devices like routers and switches. We are in the medical device field with products like home dialysis units. Home gateways are a growing interest for us, as are in-car telematics systems. And of course, Internet Appliances and other consumer appliances.
We assure customers that just because we may be gaining notoriety in a very different field from theirs doesn't mean that we've forgotten about them. Our product goes to customers that are looking for extreme reliability for either mission-critical or life-critical systems. Whether it's a medical device or a nuclear power plant monitor or an in-car computer, these fields can't tolerate uncertainty or unreliability.
5. What features of the QNX RTOS stand out?
Paul Leroux: Our SMP and scalability are very attractive to customers. Both SMP and distributed processing are built right into the core of the system. We've been based on based on a distributed model since the mid-80s.
QNX is inherently a message-passing OS, so any process can send a message to another application or driver without having to know whether the recipient is on the local CPU or on a completely different CPU. As a result, you can code applications one way, and then run them on either a single-processor system or distribute them across several networked processors. It's the same code and binaries either way. We can do that kind of scalability better than anybody.
6. And the platforms that you're ready for?
Paul Leroux: PowerPC, x86, SH-4, MIPS, and the ARM/StrongARM/XScale family. The nice thing about our architecture is that the whole world doesn't have to change when you change processor platform. And that's partially because we were very careful to make sure that our microkernel is "processor agnostic." We've been very successful with x86 for a long time. And, because of its role in the networking world our PowerPC environment is very, very good. As a QNX developer, you can do your development work on x86 but actually target, say, SH-4 or MIPS.
7. Where does your development happen?
Paul Leroux: The bulk of the development team is located here at QNX headquarters. The whole shouting over the cubicle thing seems so integral to the development process. There are also some developers, individuals and small groups, aroundthe US and in Germany.
8. Linux has been receiving a lot of attention for the embedded systems market recently. Where does this put QNX?
Paul Leroux: That's true. And, really, it's a matter of using the best tool for the job. For instance, QNX's microkernel architecture, which allows all drivers and file systems to run in MMU-protected user space, can be much more appropriate for high-availability networking products. Likewise, our source licensing model, which enables you to 'keep' your intellectual property, is designed for embedded OEMs, many of which won't consider the GPL.
But, I must say that, with the increasing popularity of Linux we have seen an attendant increase in the amount of developer talent out there that knows the POSIX API -- the same API embraced by QNX. That allows both us and our customers to leverage Linux talent. So, it's sort of a mix of synergy and competition.
9. Are there plans for supporting BT8xx TV-cards, more SCSI devices and more 3D graphics support?
Paul Leroux: We can now support TV and video capture cards; it all comes down to customer demand at this point. As for SCSI support, we've implemented changes that make it easier for both ourselves and third parties to support SCSI devices other than disk drives. And as for 3D support, we haven't had strong enough demand in the markets we're targeting, but we're reviewing the situation to see whether 3D should bumped up the priority ladder.
10. Does QSSL have plans to work on the Filesystem side QNX? To add journalling, 64bits, and maybe even support formeta-data? I mean, Dominic Giampaolo, the father of BFS, now works for QSSL.
Paul Leroux: QNX version 6.1 now supports the Ext2 and FAT16/32 file systems, as well the QNX 4 filesystem. We're currently investigating next-generation filesystems, but haven't come to a final decision as to what direction we'll take. Stay tuned!
11. When is the next planned version for QNX RtP? Any spoilers?
Paul Leroux: All I can say is just keep watching.