QNX has announced that they are going to open up the source code to their QNX microkernel operating system. The press release reads: “Effective immediately, QNX will make source code for its award-winning, microkernel-based OS available for free download. The first source release includes the code to the QNX Neutrino microkernel, the base C library, and a variety of board support packages for popular embedded and computing hardware.” Read on for more information, as well as an interview with Dan Dodge, CEO of QNX.Apart from opening up the source code to QNX, the company will also launch a new community portal website, ‘Foundry27‘, where QNX “customers and developers can access a wealth of resources relating to the QNX Neutrino RTOS and the QNX Momentics IDE, as well as to new community projects”. After a free registration, users can choose from three different software licenses, after which they get access to free versions of many QNX products, including the source code for many of these products. “Not only can developers view the QNX Neutrino source code, but they can improve, modify, or extend that code for their own purposes or for the community at large. They can then choose to contribute back those changes to QNX Software Systems and the QNX development community or to keep their modifications private and proprietary.”
As some of you may know, I am a huge fan of QNX and its PhotonUI, and have more than once regretted QNX apparent lack of interest in sustaining the ‘desktop version’ (so to speak) of its operating system. While this lack of interest was completely justifiable from a financial standpoint, it was a blow to an OS enthusiast like me – and on top of that, a proponent of the microkernel design.
A few weeks ago, I wrote: “It is sad that an operating system with such potential is held back by its parent company.” This may very well change due to today’s big announcement.
Interview: Dan Dodge, CEO of QNX
Last week, I was given the opportunity to interview (via email) Dan Dodge, CEO of QNX, about today’s announcement and its implications.
1. Why is QNX opening its source code?
Dan Dodge: It’s important to remember that we’re not simply publishing our source code; we’re also making our development process transparent, for everyone to see. From now on, we are going to develop our products out in the open and allow the QNX community to participate in the process.
We’ve done this for three reasons. First, to give software developers the benefits of accessible source, such as faster debugging, easier customization, and better integration of application code. Second, to give our business customers faster time to market and a greater sense of vendor independence. And third, to encourage an active community that includes not only commercial developers, but also hobbyists, technology partners, and academic researchers. In fact, we’ve launched a new community website, Foundry27, where members of the QNX community can access source repositories, share code with another, and even start new projects.
2. What portions of the QNX platform can be accessed in source form? Will it include the Photon microGUI?
Dan: The initial release includes the source code for the QNX Neutrino microkernel – the crown jewels of our OS technology. The release also provides source code for many board support packages, published under the Apache 2.0 license. Mind you, this is just Phase 1. Over the coming months, we plan to publish the source for many more modules: networking stacks, file systems, utilities, and, of course, the Photon microGUI. How about the various drivers, for instance for 3D acceleration? Yes, we also intend to publish source code for device drivers, graphics drivers included.
3. How does this differ from an open source project?
Dan: If you’re a developer, everything will look and feel like an open source project: You can access QNX source code, track our product development in real time, and, best of all, participate in the development process – whether by providing input, posting bug reports, or offering up code modifications. The big difference is in the licensing: Rather than publish our source code under a reciprocal license like the GPL, we’ve opted for a licensing model that offers flexible terms for derivative works. So if you modify QNX source code, you can either keep your modifications proprietary or donate them back to the QNX community. The choice is yours.
I invite everyone to visit our web site and download Lawrence Rosen’s paper, titled “The New QNX Hybrid Software Model“. Lawrence served as a lawyer for the Open Source Initiative, and he offers a lot of insight into how the new QNX model offers benefits of open source – but without being open source.
4. How will this initiative affect your current customers and partners?
Dan: It’s a win-win situation. Our customers develop software themselves, so they immediately grasp the advantages of accessible source code and transparent development. In fact, their response so far has been extremely positive. The same goes for our technology partners: they see this initiative as providing a simpler way to integrate their technologies with ours. And that, in turn, will provide more technology choices for our customer base.
5. How does QNX expect to be successful with this change in the business model?
Dan: Today, QNX Software’s revenue comes from a mix of products and services, including runtime royalties, development tool sales, custom engineering, and technical support. None of that will change: Anyone who uses QNX’s technology to build commercial products will still need to purchase commercial development seats and runtime redistribution licenses. The big difference is that we now expect more people to choose QNX for their commercial projects. That’s because our new model will make it far easier to access, experiment with, and distribute QNX technology. It will also encourage a larger ecosystem of complementary products.
6. What is available in the evaluation download?
Dan: Besides accessing OS source code, developers can download the full binary version of our QNX Momentics development suite, which includes tools, an Eclipse-based IDE, and the QNX Neutrino RTOS. This isn’t a crippled version of our product, but the real thing: it’s all there for you to play with. In fact, if you qualify as a partner or noncommercial user, you get a free perpetual license to use the technology. No time limits.
7. Which license(s) will be used for the open source parts?
Dan: We aren’t releasing the OS code under an open source license. Rather, we’re using a commercial-friendly licensing model that gives developers and customers the option of either keeping their source modifications or donating them back to the community.
If fact, we’re providing three licenses: one for commercial users, one for noncommercial users, and one for QNX technology partners. When you register, you identify which license is appropriate to your interests. For instance, if you’re a student, academic faculty member, or hobbyist developer, you choose the noncommercial license, which provides access to development tools and runtime components free of charge.
8. Will it be possible for 3rd parties/the community to create a ‘distribution’ of QNX specifically tailored for desktop usage?
Dan: Definitely. In fact, developers could even take the existing OS code and port it to hardware architectures that QNX doesn’t currently support. QNX will, of course, maintain its strong focus on the embedded market; it’s our bread and butter. But flexibility is a key strength of our architecture, so we’re sure that the community will take it in some interesting directions, the desktop included.
9. What do you see QNX looking like in 3 years? How about 10?
Dan: All of our competitors offer pretty much the same thing: an RTOS and, in many cases, tools. The problem is, this model hasn’t kept pace with market demands, and embedded customers now need solutions that are far more comprehensive. That’s why we’ve been transitioning to a company that also provides middleware for industry-specific requirements. Our multimedia middleware, for instance, is so comprehensive that in many cases the customer simply has to tweak the user interface and a few other parameters.
Right now, we’re the leading RTOS provider for the automotive telematics and infotainment market. But in three years, people will also see us as that market’s leading middleware provider. We will also have grown our footprint as a major middleware provider for the consumer market, particularly in multimedia. As for 10 years from now, I have no doubt that QNX technology will be in more devices than you can count. And while I won’t hazard a guess as to what those devices will be, one thing is for sure: we’ll still be having fun creating software that makes those devices as cool and reliable as they can be!