Most Android Tablets Fail At GPL Compliance 198
polar_bear` writes "Red Hat's Matthew Garrett has been checking to see who's naughty and nice. Most Android tablet vendors? Naughty, naughty, naughty, when it comes to GPL compliance. In the current crop of Android tablets, most of the vendors flout the GPL and fail to ship source."
Ship Source? (Score:4, Informative)
They are Android. Google makes source available and the tablet vendors do too. There is no requirement to ship the source.
Re:Ship Source? (Score:4, Informative)
The Google reference kernel code doesn't contain the driver code for any of these tablets, and the vast majority of them are based on SoC platforms that don't exist at all in the Google code. The tablet vendors can't simply point at the Google repositories, they're obliged to either ship the source with the devices or provide a written offer to provide the source to any third party on request.
Re:Ship Source? (Score:2, Informative)
For that to work the company earning profits from Android must contribute to hosting the source code. If that don't do that the version of android used on the tablet might not be available when needed.
The GPL makes no requirements as to who hosts the source code.
Re:Source only for customers, not third parties (Score:5, Informative)
Quoting from the GPL v2 section 3(b):
"Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange"
You don't have to choose that option - you can use 3(a) instead, but that means that the source has to be with the device when you sell it.
Re:Ship Source? (Score:5, Informative)
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
prodwuct that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
So say windows 8 turns out to be red hat linux with a new label on the box. For source code MSFT points back to red hat. The red hat servers melt from too much traffic and red hat restricts downloads to their own customers.
For MSFT to satisfy the GPL they must have control over the infrastructure which delivers the source code. Otherwise they are not in compliance. They could do this by paying red hat to do it for them. They could do it themselves. Maybe google provides this service for Android. I don't know.
Come on. We have been over this 1000 times.
Re:Ship Source? (Score:4, Informative)
Err... that is the part that requires source code to be distributed. Read it. It specifies 4 ways that you can distribute source code:
- on a disk supplied with the device you're shipping
- with a written offer supplied with the device you're shipping
- forwarding a written offer provided by somebody else (only available for noncommercial distributors)
- providing a download *from the same location the customer downloaded the binaries*.
Re:Ship Source? (Score:4, Informative)
Come on, the GPL isn't the new kid on the block that nobody knows.
From the GNU GPLv2: [gnu.org]
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of
Sections 1 and 2 above on a medium customarily used for software
interchange; or,
b) Accompany it with a written offer, valid for at least three years,
to give any third party, for a charge no more than your cost of
physically performing source distribution, a complete machine-
readable copy of the corresponding source code, to be distributed
under the terms of Sections 1 and 2 above on a medium customarily
used for software interchange; or,
c) Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
Re:No great surprise.. (Score:5, Informative)
Ask Eben Moglen, chief legal counsel for the Free Software Foundation, how the GPL has been enforced [gnu.org] all these years.
Enforcing the GPL, for the Free Software Foundation anyway, has never been about punishing the violators, as it tends to be with other copyright-related litigation, but more about getting people to comply with the license. In another speech [gnu.org], Moglen explains why there has never been a court test of the GPL, which is what you seem to be looking for:
Given this kind of legal bind, most defendants when pressed by competent GPL plaintiffs would rather comply with the license like they are supposed to than fight it out in court under those terms.
Re:Android is not GPL (Score:4, Informative)
Re:No great surprise.. (Score:5, Informative)
There have been tests of the GPL in court. Two I'm aware of are MySQL ab v Progress Software Corp and Busybox v Westinghouse Digital Electronics. In both cases, it was held that the GPL does work as advertised.
Re:Ship Source? (Score:4, Informative)
Some insist anything linked against the kernel libraries (making calls to the kernel) must be make source code available. But I do not believe this is the general consensus.
It's more complex than that. Drivers do not have to be GPL'd, unless they are a derived work of the kernel. If they are not (e.g. the nVidia blob drivers), then they may be distributed under any license that you wish.
The kernel, however, requires that anything linked to it be distributed under a GPL-compatible license. Any Linux kernel that links against things under a license that the GPL is incompatible with, is in violation of the GPL. The GPL, however, makes it clear that you do not require any license to use the code, so end users may download the Linux kernel and the nVidia drivers, link them together, and still be allowed to use the code.
What they can't do is distribute the result. If you distribute the Linux kernel along with a GPL-incompatible driver, then you are in violation of the GPL. This means that you have no valid license to distribute the Linux kernel (unless you acquire one from all of the Linux copyright holders), and so every time you copy the kernel you are committing copyright infringement. Shipping a device with binary-only drivers and a Linux kernel is almost certainly wilful infringement, and carries a statutory penalty of up to $150K in the USA. It's probably cheaper to use FreeBSD...
Re:No great surprise.. (Score:5, Informative)
Speaking as one of the Viewsonic G Tablet kernel hackers who helped push for VS to release source and has since identified and helped fix several of the critical kernel bugs, it was a non-trivial business problem to get the code.
Malata, the hardware OEM, is Chinese and thus not subject to US or European IP law regarding things like the GPL. Viewsonic did not develop the software in house, they contracted the whole Android packaging and UI job out to a startup called Tap N Tap based in Cambridge, MA. Tap N Tap was then constrained by the confidentiality agreements they had with Viewsonic. Viewsonic didn't really have any software team on board who understood the legal issues involved and their marketing guys had to help push everything through legal with the help of the Tap N Tap guys. Furthermore, the G Tablet is apparently distributed by a company called US Worldwide under a distribution agreement of some sort with Viewsonic - so not clear that Viewsonic ever even took delivery of a single tablet themselves.
We used Twitter to nag Viewsonic about not having released the kernel source and keep the issue in the public eye. Once they got clearance, they got the source from Tap N Tap, and posted it on the website.
This all just happened on December 24th. So Viewsonic is still most likely working on legal compliance issues for other tablets. I'm sure if people make formal requests for source and send some nagging reminders like we did for the G Tablet, they'll release any GPLed source too - they are making an effort at least, unlike many companies.
But it did take about a month long organized effort from the XDA Developers forums, involving call-ins to customer service, emails to top executives, and twitter posts. Much of that was simply education of people at several layers of the company about their obligations - again, their company never even touched the source code so this probably never went through their own legal people until we pushed it to them.
The result is we were able to merge up a bunch of critical kernel bug fixes from the main NVidia Tegra 2 source tree and we now have custom kernels that support a crap-ton of new features, along with custom ROMs. And we've gotten source for basically all the drivers too and we've started improving some of them.
No, we don't have the full source for the Tap N Tap UI stuff since Android's UI layer is Apache licensed and there's no obligation for Tap N Tap to release that code, but it doesn't affect us too much. We have the full AOSP source, the NVidia source tree, and there are so many custom launchers and stuff to work with out there that we've got several awesome ROMs released now.
I suspect there may be similar legal/logistical issues with the other Viewsonic tablets' source code. I don't know if enough people have even bought those tablets to care enough to request source code though - if you own one, make a request to Viewsonic. Heck, their Marketing VP has an account on the XDA Developer forums now, you can PM him there.
Also - that list is a bit misleading. Since we have the Viewsonic G Tablet kernel source, we basically have all the drivers and kernel code for all the Malata devices now, including the ZPad. In fact, Viewsonic released some of the ZPad drivers that aren't even used in the G Tablet (like the first gen ZPad resistive touchscreen driver).
Additionally, Advent has stated that they are working to release source code for the Vega which is apparently assembled by BYD but as far as we can tell, uses most of the same components and a very similar design to the Malata ZPad. I suspect we have nearly all the drivers and patches for that in our Viewsonic release too, but I'm sure their official kernel source will be out within a few weeks regardless.
So yeah, there are still some legal issues, but at least with the Tegra 2 devices and with most of the mainstream Western vendors, they are working their way to compliance currently.