By Jonathan Corbet
January 4, 2012
All versions of the GNU General Public License require that anybody
shipping GPL-licensed software in binary form make the associated source
code available, either as an accompaniment to the binary distribution or,
failing that, to anybody who asks for it later. Getting companies to
actually comply with the GPL's requirements has always been a challenge,
especially in the embedded systems world. The recent proliferation of
Android-based devices has brought with it a whole new set of GPL compliance
failures. Android is an interesting case, though, in that there is one
company - Google - that is well positioned to require better behavior from
those who ship Android.
Recently, Matthew Garrett, who has long tracked GPL compliance (or the lack
thereof) in the Android world, has taken Google to task for
failing to require better GPL behavior from Android distributors. His
article (along with the
followup on why GPL violations can make economic sense) is well worth
reading in its entirety. In short, Matthew says that Google could force
GPL compliance among Android distributors by either suing them or by
requiring GPL compliance as a condition for use of the Android trademark
(and, presumably, Google's proprietary Android applications). But, Matthew
says, "Google makes money off other people's violation of the
GPL," so it does nothing.
There is probably some truth to this argument. GPL compliance is not hard,
but it is not free; skipping it makes Android-based devices a little
cheaper to make and, thus, more competitive in the market. But there is
almost certainly more to it than that - a fact that does not make this
behavior any wiser in the long run.
One could start with the understanding that Google, and the Android part of
Google in particular, suffers from a fairly strong case of GPL aversion.
Considerable effort went into the creation of an almost GPL-free Android
system; this included creating a new C library and a new Java virtual
machine. Basing the whole thing on a GPL-licensed kernel may have been a
necessary evil from the Android group's point of view, but accepting that
evil does not require taking on an enthusiasm for enforcing the GPL's
requirements.
Add to that the fact that the patent wars have put Android vendors into an
unpleasant and uncertain legal situation. It seems clear that any
commercial success in the mobile world is going to end up with patent
leeches hanging all over it, but that doesn't change the fact that there is
an especially visible legal cloud over Android at the moment. Adding GPL
compliance problems to those already faced by Android vendors, especially
if those problems come in the form of a copyright infringement lawsuit,
could well be the straw that breaks the camel's back and causes those
vendors to look more favorably on other systems. Anybody within Google who
is considering a stronger stance on GPL compliance must certainly have that
concern at the front of their mind.
Then, there is the little issue that few people want to talk about: what
about those binary-only kernel modules? Google would not be able to take a
position on GPL compliance in Android distributions without taking a
position on binary-only modules. If use of the Android trademark is
conditioned on GPL compliance, somebody will have to decide if
distributions with proprietary modules (most of them, unfortunately) are
compliant. A "no" answer would strip large numbers of devices of their
trademark usage rights, while a "yes" answer would be a public statement
that binary-only modules are OK. Given how few companies are willing to
take a stand on this issue, it is unsurprising that Google does not want to
find itself in that position.
Finally, it is worth observing that, for whatever reasons, companies almost
never engage in GPL-enforcement actions despite owning the copyrights on
large amounts of code. Almost all of the successful
enforcement out there has been done by (or at least in the name of)
individuals. The few exceptions,
such as when IBM asserted GPL-infringement against SCO, show how serious
the situation has to be before a corporation is willing to make such a
move. So it could be said that Google is just behaving like all of its
peers in this regard.
Having just made all of these excuses for Google's lack of action in this
area, your editor would like to make one thing clear: a failure to insist
on better GPL behavior may be entirely understandable, but, in the long (or
not so long) run this approach is unwise and may prove dangerous for the
Android market. If Google does not get Android vendors to clean up their
act, others will lose their patience and do it for them. Indeed, as made
clear by Harald Welte with regard to HTC's policy of delaying source
releases, patience is already pretty well exhausted:
So I hereby declare my patience has ended here. I am determined to
bring those outrageous delays to an end. This will be one of my new
year resolutions for 2012: Use whatever means possible to make HTC
understand that this is not how you can treat Free Software, the
community, its customers, the GPL and in the end, copyright itself.
There are developers in our community who are prone to a certain amount of
empty noise and bluster, but Harald is not one of them; this kind of
threat, coming from him, is 100% credible.
One could say that this still works in Google's favor: individuals can
force Android vendors to improve their behavior without associating
Google's name with their actions. But if Google is worried about legal
uncertainty surrounding use of Android, it must certainly worry about
actions brought by individuals that are completely out of its control.
That is especially true given that some individuals have been
making ominous noises about GPL termination conditions and what might be
required to regain GPL distribution rights after a violation. By looking
the other way when Android vendors fail to live up to the GPL, Google may
be helping those vendors set themselves up for attack by people or groups
whose primary concern is not availability of the source code. Some of
those people may be after serious financial gain or an opportunity to make
the use of GPL-licensed code look like an inherently dangerous and risky
thing.
If nothing else, contempt for the GPL will breed more of the same; as
Matthew said, "In the absence of enforcement, GPL compliance only
works if it's the norm." By ignoring its partners' GPL violations,
Google is, at best, undermining that norm; at worst, it could be setting up
Android (and possibly Linux) for a serious fall. Google still has the
power to drive considerable improvements in this area if it takes the
initiative now. Continued inaction, though, risks letting that initiative,
and that power, slip away as others do the job that Google is unwilling to
do. That does not seem like an outcome that would make anybody happy.
(
Log in to post comments)