For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
"Free" software really isn't, of course. The motto of the late Cyngus Corporation, prior to being absorbed by Red Hat, was "We Make Free Software Affordable." I see the truism borne out by so many firmware groups who consume months "quickly tossing" Linux into their app. A large infrastructure of commercial firms and consultants make plenty of money supporting embedded Linux.
Yet the open source resources and tools <i>are</i> compelling. Though some, mostly the marginal tools that have a small user base, are awful, the mainstream open source tools sure work well. Being a technology gadfly the tool vendors are happy to send me free copies of their proprietary products, many of which are wonderful. But I'd be lost without my suite of GNU goodies.
Instead of going through the hassle of installing a CD-full of binaries every time I want to run an experiment, it takes seconds to fire up gcc on Linux. Then there's the dreaded Windows registry agony: uninstalls often leave severed tentacles behind. Eventually a reformat and complete OS reinstall becomes necessary, which can take days. So I'm loathe to install anything that isn't absolutely necessary on my Windows boxes.
OSS advocates can be very vocal. Yell "Microsoft Rocks" at a Linux convention and expect a verbal lynching. Tools and OSes are just piles of bits. Pick the ones that excel in your applications and leave the religion at home.
I have doubts that OSS has changed management's attitude towards tools much. For the 30+ years of my career I've always heard howls from the corner office about expensive software products. In 1975 my boss approved $60k+ (in today's dollars) for a development system, which was a large blue box that obviously had value, and upon which accounting could fix a property tag. But he went ballistic about a few hundred bucks for the editor/assembler/linker.
Me, I use both free and proprietary tools under both Windows and Linux, and sometimes run a hermaphrodite mix under VMware or Cygwin. Till recently I preferred the nice IDEs common to proprietary tools over command-line interfaces for real projects. Now that Eclipse has taken the industry by storm, that advantage has somewhat evaporated. Ironically, many vendors now provide an Eclipse IDE. And even more ironically Eclipse seems to have mirrored the bloat OSS advocates railed about for so many years. Google on "eclipse" and "more memory" and you'll get 53k hits. Though change "eclipse" to "windows" and over a million pop up.
But what sort of tools do we use? Take the poll; it'll be interesting to see the mix between OSS and proprietary.