NLUUG/ELCE: Embedded devices and free software
On successive days, Harald Welte and David Woodhouse gave different views of the relationship between embedded companies and the free software communities whose code the companies are increasingly using. Their outlooks were not contradictory, but instead complementary; each came at the topic from a different direction. Welte looked mostly at what companies, particularly chip vendors could do better, while Woodhouse looked at what things the community could do to improve.
Welte and Woodhouse spoke at the co-located NLUUG autumn Mobility conference and Embedded Linux Conference Europe in Ede, the Netherlands, November 6 and 7. The Congrescentrum De Reehorst facility was excellent, well-suited to an event of this type which is not surprising as NLUUG has been holding two events there each year for the last ten years or so. In addition, the conference was well-organized and run; clearly displaying the experience that comes from the 26 years that NLUUG has been in existence.
[ The following covers Welte's presentation, Woodhouse's talk will be covered in a subsequent article. ]
![[De Reehorst]](https://static.lwn.net/images/dereehorst_sm.jpg)
Welte kicked things off on Thursday with a talk entitled "How chipmakers
should (not) support free software". As the conference got a bit of a late
start and was already 15
minutes behind at that point, Welte said that he would make the time up
because "everyone can understand gzip compressed speech
". More
seriously, he outlined his experience as a member of the Linux community,
embedded developer, chip manufacturer from his recent work with Via, as
well as a customer of consumer-grade embedded devices for gpl-violations.org; all of which result in
multiple relevant points of view.
Linux is being found in more and more devices today—some less than obvious. Welte listed fairly well-known things like mobile phones and in-flight entertainment systems, but then noted that there are DSL Access Multiplexers (e.g. DSLAMs), payphones, ATMs, as well as vending and exercise machines that also run Linux.
Vendors of those devices are using free and open source software (FOSS) because of its strengths, which he outlined. There is a great deal of innovative and creative development done in FOSS because the barriers to entry are fairly low: the codebase is easy to read—at least in comparison to closed source—and there are standard development tools that are freely available. Because development is done in the open, developers will be embarrassed if their software architecture or code is bad. This also results in better security because of the code review that takes place.
![[Auditorium]](https://static.lwn.net/images/auditorium_sm.jpg)
The outcome of using FOSS this way is that "we should have a perfect
world
"
with tons of embedded products, all secure and maintainable, that allow for
additional or alternate functionality via third parties. The first of
those, many embedded products, has been achieved, but we are still waiting
for the other two, Welte said.
He contrasted a user's experience with Linux on PCs today with the
experience provided by most embedded devices. For PCs, you can
download the kernel, build it and it will run, with most hardware
supported. You can choose from multiple distributions, any of which will
have a kernel close
to that of a mainline kernel and provide regular security updates. These are
"things we are used to for many years
", but things are not
that way in the embedded space.
In the embedded world, every CPU or system-on-a-chip (SoC) has its own kernel tree, typically based on some ancient version of the kernel, that never gets cleaned up or submitted for mainline inclusion. So, they get no benefit from new features or security fixes in the kernel. There are no distributions to choose from, either for users or board makers and, even if updates are generated, there is generally no packaging system to use to update the code; re-flashing the entire device is required.
In Welte's words, "this sucks!
" The embedded vendors get
unstable and unmaintainable software with "security
nightmares
" and no
innovation from elsewhere. The vendors have kernels that have diverged so
far from the mainline that new features or fixes can't be backported, nor
can their kernels get merged upstream. This is because the vendors tend to
be very short-sighted, only focusing on getting one particular device out
the door.
From Welte's perspective, embedded vendors do not understand the real
potential of FOSS. They do not
think in terms of creating platforms that others can build atop. In
general, "they would rather sell a new [device] rather than improve
the existing one
". So, the vendors compete on the basis of the
features their proprietary
competitors implement rather than figuring out how to take advantage of the
true strengths of FOSS. If, instead, they used FOSS to its fullest, they could
outcompete the proprietary
vendors in ways that could not be matched—except by using FOSS.
Turning to the chip vendors, Welte points out that there are two types of
customers: Linux-aware and Linux-unaware. The Linux-aware
customers—whose numbers are growing—will
seek out vendors whose Linux support is better. It is already relatively
late in the game: "if you don't have proper FOSS support, you will
lose the 'openness competition'
".
Chip manufacturers should be engaging in "sustainable
development
" by releasing kernels developed against the mainline in
cooperation with the community. One large mistake these vendors make is to
think their customers are only the tier-one companies that buy chips
directly. There are many more downstream users of a chip once it has been
integrated into other hardware; the buyers of those devices are also
important as they will determine the success or failure of the product.
Unsurprisingly, Welte recommends that the development be done in the open,
with a public development tree. Releases should not just be stable
snapshots or big code drops; "post early, post often
" should
be the governing principle. FOSS is not just a technology, as chip vendors
tend to think, it is a research and development philosophy that needs to be
integrated into both the internal and external processes of the chip vendor.
On the external side, making documentation available, without a non-disclosure agreement (NDA)—or at worst a FOSS-friendly NDA—is essential. Internally, there is normally quite a bit of learning required to understand the FOSS philosophy. This will require training for engineers as well as product management folks. Having a clear FOSS support strategy, with clear goals, is important for making it work.
Product management needs to understand that supporting Linux is mostly a process of understanding the development model. The Linux APIs are not a particularly big hurdle, but understanding the community and how to work within it can be. Supporting Linux should mean supporting the mainline, not just N distributions, as N will grow over time, which leads to more problems. It is important to recognize that Linux-aware customers care as much about the quality of the code as they do about price and performance.
Engineering management needs to encourage engineers to communicate with the
community, which requires real internet access. When faced with adding
functionality to some FOSS code, they should be looking at ways to
cooperate with others who have similar needs, rather than reinventing the
wheel. Engineers need to figure out how and where
to ask the right kinds of questions. They also need to learn that code is
written to be read, not just executed; "this is something new to many
people
".
The community also has responsibilities to help the chip makers by
providing "non-partisan" documentation because these manufacturers often
have "no
clue where to start or who to talk to
" when they start considering
supporting Linux. Commercial embedded distributors have a different
perspective from the community so documentation from the community
viewpoint is required. Welte says that various Linux Foundation sponsored
efforts are helping in this area, but more needs to be done.
A mentoring program of some sort might
help by having FOSS developers willing to work with engineers to walk them
through the process of getting their code upstream.
The community must also work to keep from scaring chip vendor
engineers away by being overly rude or terse; it is important that
valid criticism be fully explained.
Welte sees a number of current or looming problems for chip vendors in supporting Linux, mostly involving patents or technology licensing issues. Various licensing regimes (like those for MPEG or Sony's memory stick) impose requirements that essentially preclude the development of free software drivers to talk to devices that implement those technologies. Everyone in the industry has these problems, though, so Welte suggests that they band together to present a case to the license holders; with enough smaller players working together, their voice can be heard.
On the whole, Welte is somewhat pessimistic about where embedded devices
are headed. He certainly sees more FOSS being used in devices in the
future, but expects to see them still be restricted so that they cannot
leverage the full potential of FOSS. He does see "some very dim
light at the end of a very far tunnel
" with projects like Openmoko,
but also efforts by some chip vendors, notably Intel, to fully support Linux.
It was not that many years ago when the desktop Linux situation looked as bleak as the embedded space does today, so there is hope. Presentations like Welte's can only help to bring that about. The audience contained many embedded developers, hopefully they can help their company's management see the benefits that Welte outlines so that his perfect world comes about sooner, but if the desktop is any guide, it will come about eventually.
Index entries for this article | |
---|---|
Conference | Embedded Linux Conference Europe/2008 |
Posted Nov 12, 2008 19:12 UTC (Wed)
by lmb (subscriber, #39048)
[Link] (4 responses)
Thanks for the excellent coverage.
Posted Nov 12, 2008 19:19 UTC (Wed)
by corbet (editor, #1)
[Link] (3 responses)
Posted Nov 12, 2008 21:34 UTC (Wed)
by dberkholz (guest, #23346)
[Link] (1 responses)
Posted Nov 12, 2008 21:35 UTC (Wed)
by dberkholz (guest, #23346)
[Link]
Posted Nov 12, 2008 22:04 UTC (Wed)
by lmb (subscriber, #39048)
[Link]
Posted Nov 13, 2008 7:31 UTC (Thu)
by aschwinm (guest, #33817)
[Link]
On January 22 there is an NLUUG event in Enschede. Both the conference and the event are in the Netherlands.
Posted Nov 13, 2008 10:23 UTC (Thu)
by NAR (subscriber, #1313)
[Link] (7 responses)
Wow, what an evil thing to do...
If, instead, they used FOSS to its fullest, they could outcompete the proprietary vendors in ways that could not be matched—except by using FOSS.
In ways like...?
Posted Nov 13, 2008 12:14 UTC (Thu)
by njh (subscriber, #4425)
[Link] (6 responses)
Posted Nov 13, 2008 14:01 UTC (Thu)
by NAR (subscriber, #1313)
[Link] (5 responses)
Posted Nov 13, 2008 14:50 UTC (Thu)
by tzafrir (subscriber, #11501)
[Link] (2 responses)
This issue has received attention. Then Intel provided powertop. Which exposed issues all over the place that people started fixing. I think that this eventually amounted to thousands coders helping to reduce the drain of batteries.
Posted Nov 13, 2008 20:35 UTC (Thu)
by NAR (subscriber, #1313)
[Link] (1 responses)
Posted Nov 15, 2008 11:26 UTC (Sat)
by jospoortvliet (guest, #33164)
[Link]
Posted Nov 14, 2008 0:24 UTC (Fri)
by tao (subscriber, #17563)
[Link]
How many kernel developers does Lenovo employ that submits patches to reduce power consumption for their laptops? How many Apple-employees actively submit fixes to the Linux-kernel? ... You get my drift.
Posted Nov 14, 2008 0:32 UTC (Fri)
by jschrod (subscriber, #1646)
[Link]
What do we learn from your and my observation? Not much, they are just isolated data points. Maybe that some devices are better supported than others. But that's actually the same in Windows, too.
Posted Nov 14, 2008 21:52 UTC (Fri)
by roelofs (guest, #2599)
[Link] (3 responses)
Sadly, I think that's the most realistic statement he made. While we all know about the benefits of the fully open-source model, the value proposition for hardware vendors will have to be demonstrated in a very visible way before they'll switch from their current business model--which involves relatively rapid, relatively minor iterations on the hardware, both to track the cheapest components and also to make secondary manufacturers and end users feel like they have to keep buying new hardware. Without a very public, very popular trailblazer kicking sand in their faces and showing real benefits of the same-hardware, software-centric FLOSS approach, they'll continue to focus on the costs, which Harald sort of glossed over. (Specifically, the time and engineering costs of working with the community; the IT costs of poking holes in their firewalls and setting up external servers; the legal costs of covering their horribly conservative asses; the competitive costs of telegraphing their plans to competitors; etc.)
I'd also point out that, if it didn't happen in the relatively golden period we just experienced, there's no way in hell it's going to happen in the current/coming economic environment. "Experimental" projects like a move to open source are always the first to get whacked, but it won't stop with a mere shutdown of the projects; there will be round after round of layoffs and all manner of associated ugliness to come.
Not that I'm pessimistic or anything. ;-)
Greg
Posted Nov 14, 2008 23:28 UTC (Fri)
by dlang (guest, #313)
[Link]
a lot of this is short-term vs long-term efficiancies.
if an embedded company uses up-to-date versions fthe software, it's easier for them to switch components as those other components are more likely to be supported already.
many companies have trouble taking the long view, but not all
Posted Nov 16, 2008 13:54 UTC (Sun)
by Tet (guest, #5433)
[Link] (1 responses)
Agreed, but that's something we can fix. There's no reason why we couldn't have a community operated public development infrastructure that embedded vendors can use. Something like sourceforge/savannah might work, if they started offering public git trees, but they've been around for ages, and haven't so far persuaded many vendors to head down that route. I suspect something tailored to the needs of the embedded world might prove more enticing.
Posted Nov 17, 2008 2:14 UTC (Mon)
by dlang (guest, #313)
[Link]
the only holes that would need to be poked are the ones nessasary to sync to the external repository.
NLUUG/ELCE: Embedded devices and free software
You can change the presentation of quoted text in the account customization area if you want.
Site feature
Site feature
Site feature
Site feature
Spring NLUUG conference: Filesystems and Storage
http://www.nluug.nl/events/vj09/index-en.html
So, the vendors compete on the basis of the features their proprietary competitors implement
NLUUG/ELCE: Embedded devices and free software
NLUUG/ELCE: Embedded devices and free software
Currently this "best-of-breed" operating system drains my battiers twice as fast Windows - I'm not sure that thousands of volunteer coders around the world constantly improving it and adding features would offset this little problem. Maybe the lack of royalties might help, but employing a couple of good coders isn't exactly cheap either.
NLUUG/ELCE: Embedded devices and free software
NLUUG/ELCE: Embedded devices and free software
NLUUG/ELCE: Embedded devices and free software
NLUUG/ELCE: Embedded devices and free software
in the latest kernel & userspace tools, but because vendors don't work with
the community and use outdated kernels, they won't profit from it for the
foreseeable future. The benefit of working with the community would be
gaining new features faster. More innovation, shorter time to market.
Exactly what they could need to outperform the proprietary competition!
NLUUG/ELCE: Embedded devices and free software
NLUUG/ELCE: Embedded devices and free software
He does see "some very dim light at the end of a very far tunnel" ...
very, very, VERY long tunnel...
very, very, VERY long tunnel...
the IT costs of poking holes in their firewalls and setting up external servers
very, very, VERY long tunnel...
very, very, VERY long tunnel...