“They must be a bunch of communists,” my wife Jan said one morning over breakfast as I vainly tried to explain the open source movement and the people who were embracing it as a business model. “How much capital does it take to start a company if you're going to give away your product?” she asked, not unreasonably. So I went to Jim Ready, the developer of the VRTX RTOS and now the president of MontaVista Software, which claims to be “dedicated to delivering open source software solutions for the worldwide embedded software market.”
He pointed out that open source means available, not free.
The open source movement owes much to Unix. Born in Bell Labs, Unix became available to universities during the 1970s, and graduating computer science majors went forth into the world spreading the Unix gospel. Early Unix ran on DEC computers — principally PDP-11s — but versions were soon ported to the Motorola 68000 family, the Zilog Z8000, and the Intel x386. Unique among operating systems of the time, Unix was written in C and was portable to any target for which there was a C compiler. Moreover, it benefited from community development and grassroots distribution.
With everyone hacking it, Unix was not a static entity. Several variants of Unix popped up, ranging from AIX (from IBM) to Xenix (from Microsoft). Squabbles arose over what constituted the One True Unix. Initially, the battles were between proponents of the Berkeley Software Distribution (BSD) and AT&T's System 5, from which BSD Unix had begun to diverge. They converged again in System 5, Release 4 (SVR4). When that happened, commercial interests lined up against each other (AT&T and Sun on one side, and Apollo, DEC, HP, and IBM on the other) to hinder a single Unix from prevailing. Politicization eventually inspired Richard Stallman at MIT to found the Free Software Foundation, which led to the GNU tools and eventually to Linux.
In the embedded space, as elsewhere, Linux and open source are attractive to developers, and perhaps for that reason are rapidly turning into marketing concepts, about which everyone seems to be taking a position. Some vendors are generating fear, uncertainty, and doubt by saying mixing proprietary and open code could force you to have to offer your proprietary code to everyone. Other vendors are playing the wait-and-see game, and still others are already making engineering commitments.
Even if suppliers embrace Linux, they all have their eye clearly on their own intellectual property. That (along with service) is where their revenue is likely to come from, not from freely distributed source code. More than one effort is underway to add real-time capabilities to Linux. Other efforts are aimed at pruning it to fit in an embedded system.
Ironically, because it is open, Linux could diverge, especially embedded and real-time flavors, which could result in several incompatible versions. For Linux to fulfill its potential in the embedded marketplace, vendors must avoid Unix-like battles, and must execute the enhancement with an eye toward compatability. How willing they are to do that is questionable. After all, Linux vendors aren't communists.