I'm currently quite frustrated with a lot of the work that I've been doing
recently. As some of you know, I've been talking a lot to various players in
the semiconductor and embedded board-level industry, trying to educate them
about the Free and Open Source Software development model and the specific
business advantages that they might get from opening up with their code,
or even actively going mainline, or providing freely available documentation.
You know the names of some of the companies that I've been talking to, but I
can assure you there are also a number of companies about whom I didn't blog
or whom I don't mention publicly. In this blog article, or any follow-ups,
I will refrain from mentioning any names. I do not want to point at specific
organizations, but rather just raise the awareness about industry-wide
observations that I'm making. They reflect - as everything - my own, personal
view and do not represent anyones' opinion.
In the end, there is a surprising similarity to the situation to all of those
companies, independent in which country they are, how big their market share
is, and in which particular market they deal.
They all have some people inside their own organization, most often actual
engineers or even engineering managers up to the very senior R&D managers who
understand the FOSS model and the benefits that this would or at least could
bring to their products and their organizations. They want to release the
source, they want to push mainline, and they might even want to release the
user manuals.
But inside the industry, nobody listens to what their own R&D department or
event some external entity - even the very representatives of the operating
system they use (Linux). The chip makers will only listen to one thing:
Demand from their tier-1 customers. Whatever is in the spec of those who
buy their components in millions of units will get implemented. Only those
maybe biggest five board-makers are considered 'customer'. Everybody else
is not. The Telco who buys from the board maker _might_ still be perceived
as having some indirect influence, but the actual end customer, both corporate
and private, does not exist.
On the other hand there are those many small, innovative start-ups and medium
sized organizations at the other end of the market who want entirely open
source Linux drivers, in recent kernel versions, because that is what they can
use as the basis for innovative products. But they are invisible to the chip
maker.
The entire food chain in between, at least one level of OEM and ODM - possibly
more - prevents the actual existing demand from those smaller innovative
companies to ever reach what the chip maker perceives as specs. Those
intermediaries (OEM/ODM) typically have very limited skill and understanding
about anything related to Software, not even talking about FOSS. They know how
to make many boards cheap. In fact, their skill typically is so low that all
they can use for their products are so-called turnkey solutions: A full
reference board design and complete software stack that they can copy+paste
with only the most superficial modifications.
This is why no single mainboard maker (probably apart from Intel's mainboard
division and some parts of Dell) ever tries to boot a Linux Live-CD on one of
their boards before shipping it, or bothers to get their ACPI tables correct.
Whoever buys most of those boards doesn't have "ACPI compliance" or "Linux
support" in their specs. The fact that there are hundreds of small companies
who each might do thousands of units for niche markets desperately look for
products with good Linux support [which is impossible without open source]
doesn't matter.
Or in the embedded networking market for DSL modems, WiFi routers or the like,
none of the large buyers (i.e. ISPs or Telcos) has "frequent security updates"
on their spec. The security updates would be something that requires the chip
maker to use (and follow) more recent kernels, and could even drive them away
from proprietary kernel modules, since the ABI and API incompatibilities would
probably make them quite hard.
So despite senior R&D management at the chip makers understanding those
dynamics, and knowing that they could achieve superior product quality,
reliability, security and encourage innovation - the companies don't do it
until the requirements show up on the major buyers shopping lists.
The fact that the current policy of not releasing documentation and providing
source code only to their immediate customers, as well as the frequent
abomination of binary-only kernel modules also effectively prevent any
independent third party (commercial or non-commercial) to actually provide
such a solution based on a particular hardware offering.
Thus, it is actually not an anti-FOSS environment, but an anti-competitive
environment. By opening up at whatever level and enabling (or even
encouraging) any third party to build on top of your product, you encourage
a market and encourage competition. A market with actual competition will
increase innovation due to competition. In the end, any customer who wants
to use the actual chip will have more software options, and thus the resulting
product will be able to reach more markets and boldly go where it hasn't gone
before.
As a chip maker, you first and foremost concern should be to sell as many units
as possible. You don't care what kind of software your customers use. You
don't care where they get their software from, or what development methodology
they use. So if you can take any step to encourage more alternatives and more
competition/innovation on top of your chip, you can only gain market share, but
not lose it. And if you don't gain market share, well, you didn't have to make
any investment. So no matter what you do, you can hardly loose anything.
I think the key issue is to be able to think beyond your immediate board-level
customer. By going open source, you help those board makers (even if they don't
know how and why) to sell to markets that they cannot address. And you will
see new applications on your chip as opposed to the more closed competition.
And in the end, if your customers customers customer sells more, you also sell
more.
So as a chip maker, you can either sit back and wait for your competition to
fully realize this potential, or you can proactively take steps ahead and be
the first one. First time-to-market is key. Why can everyone afford to sit
back and do nothing, despite the increased pressure from a collapsing
market/economy?