“This parrot is no more! He has ceased to be! …Bereft of life, he rests in peace!” – Mr. Praline
Years ago, a General Motors executive from Detroit told a roomful of press and analysts that “the median age of a Cadillac buyer increases by one year every year.” In other words, their customer base was dying. Only septuagenarians bought Cadillacs, and younger buyers weren’t stepping up to replace them. Unless the company did something drastic, the brand, like its customers, would eventually check out, buy the farm, take the big dirt nap, and join the choir invisible.
GM went on to overhaul its product line with new, exciting, and edgy (literally) styling to lure pre-retirement buyers into the showrooms. And it pretty much worked.
The same thing is happening today in Alameda, California at Wind River Systems. The company’s VxWorks has been called “the Cadillac of RTOS” because it’s expensive, well-built, reliable – and evidently favored by older programmers. Too old, apparently. Wind River feels like it’s been resting on its laurels a bit too long. It’s time to give VxWorks a makeover and bring in some younger customers.
“Meet the new VxWorks,” crows VxWorks Product Manager Michel Chabroux. He and his group have undertaken a big remodel of the RTOS and its ecosystem in an effort to align their offering with what programmers today are looking for. The kernel of the RTOS itself doesn’t change – it’s still VxWorks – but the development toolchain has taken a big leap forward.
VxWorks has historically been popular with aerospace, defense, and infrastructure companies – the “heavy metal” developers of the embedded world. In part, that’s because of VxWorks’s premium pricing, but also because of its reputation for reliability. It’s also been Wind River’s deliberate marketing strategy to go after the big fish. But even old-school government contractors have to hire new recruits eventually, and college fresh-outs are finding the work is not to their liking.
“Let’s say you go to a job interview and the hiring manager says, ‘We’d like you to maintain this PowerPC assembler,’ versus the job at Google developing new Python code. Which one are you going to take?” says Chabroux.
New hires at big defense companies leave after just 3–6 months, according to at least one CTO. Newly minted university graduates have never worked with a 68HC11, written device drivers, or debugged an assembly listing. They aren’t even proficient in C, C++, or Ada. Instead, they learned (or want to learn) Python, Rust, Swift, or C#. To them, HTML is a low-level language.
That makes it hard for VxWorks, which has been around since the Reagan administration, to maintain its youthful appeal. It may be the preferred choice of the bosses, but it’s creamed spinach to their 20-something underlings.
To fix that, Wind River is following a six-point plan to leapfrog a whole generation of development and jump to newer, more popular programming languages and development tools. It has abandoned its proprietary compilers and adopted the LLVM infrastructure; C++17 replaces the company’s custom version of C; the Boost C libraries are now included; Posix conformance is now back, after the company’s earlier efforts were abandoned; Python 3.8 has been added; and Rust programming makes its debut.
In all, it’s a tool-centric approach that emphasizes the individual programmer’s productivity instead of the traditional values of RTOS response time, interrupt latency, memory footprint, and other bits of plumbing. VxWorks is just as capable as it has always been, but fewer customers ask about such things anymore.
Regarding RTOS performance, “There’s no reason VxWorks should be worse than Linux,” says Chabroux. That’s a pretty low bar, given that Linux was never intended to be real-time, and he quickly points out that VxWorks outperforms the open-source OS on many tasks. But, by defining Linux response time as the not-to-exceed number, Wind River has positioned VxWorks as the RTOS programmer’s choice for the modern world.
What all these new features have in common is a move toward portable development tools and away from Wind River’s historic reliance on in-house (and slightly nonstandard) compilers and libraries. There’s no longer a walled garden; it’s now more of an open playground. The company even has a name for it: Create Once Deploy Everywhere, or CODE. This is not the hideous falsehood of universal portability once promulgated by a certain language named after an Indonesian island, but a more realistic acknowledgement that embedded programming has changed. “Previously, there was no separation between the application and the operating system. Not today. Our customers say, ‘I want to focus on the value I’m adding.’”
Does Wind River’s newfound openness mean the end of its existing toolchain? No, says Chabroux. “Everything we do is an AND, not an OR.” The company will continue to support its existing customers and their design tools “big time.” But he also hints that development of the old tools may… stagnate somewhat. The company will fix bugs and offer security updates, but it seems clear that most of Wind River’s internal forces will be marshalled behind the newer tools and languages. Like Cadillac, Wind River is patiently waiting for its traditional customer base to retire.
“If nobody embraces [the new tool strategy]”, says Chabroux, “then we were wrong to leapfrog. But we have strong evidence that customers have cost pressure translating into efficiency pressure. At some point, people won’t have the choice anymore.”
Wind River’s change of heart extends to more than just its VxWorks tool offerings. The company has also opened a Wind River Labs portal for early access to new products and features. It’s also open-sourcing some board-support packages, starting with Raspberry Pi. Support for a $50 board is itself a big change for a company that has always pitched itself to the One Percenters.
The times they are a-changing, and it’s good to see Wind River change with them. Besides, it’s not as if the company had any choice. Although “evolve or die” could be the mantra for our industry, it’s not always easy to recognize one’s own role in that. Evolve or die offers exactly two choices, and Wind River made the right one.