|
|
Subscribe / Log in / New account

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 13, 2007 14:39 UTC (Tue) by i3839 (guest, #31386)
In reply to: Google Calling: Inside Android, the gPhone SDK (O'ReillyNet) by xav
Parent article: Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Using something and depending on it is not enough to be a derived work from it in a copyright
meaning. The GPL only applies if part of the distributed software is under the GPL. So for
instance don't count on properietary software that links to a GPL lib, but doesn't distribute
it, to be illegal. But if it's e.g. a GUI app using Qt it probably crossed the line, because
it's too intertwined. It's a very gray area, so don't count on anything.

A closed driver that does everything itself and only uses the kernel API for generic things
like IRQ, DMA and ioctl handling stuff can hardly be called to be derived from the kernel. It
would a stupid thing, but probably not illegal.


to post comments

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 13, 2007 15:39 UTC (Tue) by drag (guest, #31333) [Link] (1 responses)


My understanding is that the confusion stems from the fact that the GPL cannot determine what
is and what is not 'derived'.

In terms of copyrights a 'derived' work is a gray issue. That is kernel modules can either be
derived or not derived. It's very possible that there are proprietary modules out there that
are in violation of the GPL license and there are others that are not in violation.

If your doing driver development I'd say that it's very safe to assume that any kernel-level
module designed specificly for use in Linux is kernel-derived and thus needs to have the
source made avialable.

Google better make sure that this is known and widely accepted. I've recently been bitten by
this because of the Atheros wireless on my Asus EEE PC.  

Currently the open source Ath5k driver does not support it.. the madwifi with proprietary HAL
does not support it... only the proprietary modules from Atheros/Asus supports it. I'm forced
to used ndiswrapper to use it and that pisses me off. (I think I'll buy a intel minipci
express card for it.. I wish ralink had a working mini-pci express wifi)

This makes for a bad user experiance when they are trying to use the machine to it's full
capabilities.

(Of course anything is better then the horrific shitfest that is the current mobile market.
It's very very bad.. nobody I know that isn't a mobile geek was ever happy with a purchase of
a smartphone, except as a fasion statement. Always dissapointed with the locked-down systems.)

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 14, 2007 14:11 UTC (Wed) by admorgan (subscriber, #26575) [Link]

There are other exceptions to this.  For instance I used to work on an embedded system with a
home grown OS.  The home grown OS was created back in 1992, and the original version of the
kernel driver in 1993 before anyone at the company ever heard of Linux.  We decided to create
a new version on new hardware running under Linux.  In response to this we added code to call
the pertinent symbols in the Linux Kernel, but we maintained support for our custom OS.

As far as I can tell this does not magically make this a derivative work of Linux.  There are
a number of other modules I have encountered in the past that have similar origins.  

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 13, 2007 15:46 UTC (Tue) by xav (guest, #18536) [Link] (4 responses)

Using something and depending on it is not enough to be a derived work from it in a copyright meaning. The GPL only applies if part of the distributed software is under the GPL. So for instance don't count on properietary software that links to a GPL lib, but doesn't distribute it, to be illegal.

That's gratuitous talk - could you show me a case backing your saying ? A lawyer or a judge could have an opposite stance on the matter, and I bet they would.

In the end it's not the linking or not that counts, but if you rely on a GPL pice of work. And a driver developed for linux, however you turn the question, relies on linux.

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 13, 2007 17:24 UTC (Tue) by sepreece (guest, #19270) [Link]

Note that copyright only covers expression, not function. There is a bunch of recent case law
(in the US) that suggests that interfacing to a program is non-infringing.

This is all really gray area, both in terms of what constitutes a derived work of a piece of
software and in terms of what is allowed by fair use regardless. Coupling that with the terms
of the GPL that don't exactly align with copyright (using permission to distribute the covered
work as a lever to also control the way its distributed and what's distributed with it), it's
really hard to predict what would happen in a court test of issues like proprietary drivers.
It's best (and most polite to authors) to just avoid questionable practices.

Device manufacturers, in many cases, don't really care that much about exposing their drivers.
Their value-add is usually in more domain-specific areas, usually above the kernel.

I think the key points that handset manufacturers and carriers will want to lock down are
around (a) access to the air stack and RF control, (b) access to middleware services that use
the network (placing calls, sending messages), and (c) IP-control mechanisms (DRM, content
copying). (a) because it affects whether the FCC will let them ship the device, (b) because
they potentially can be used for DoS attacks on the network and can make users very unhappy
about unexpected charges, and (c) because they want to be able to offer access to content that
they can't get without guaranteeing (with substantial financial penalties) that their access
controls work. Their key GPL question will be around whether they can allow replacing the
kernel while still meeting those guarantees. Drivers are not that big a deal.




Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 13, 2007 18:59 UTC (Tue) by zlynx (guest, #2285) [Link] (1 responses)

> That's gratuitous talk - could you show me a case backing your saying ?

Just butting in here.  This sort of argument annoys me, as it puts pressure for evidence on
the other guy.  Requiring evidence for every statement can very quickly turn discussions into
PhD level papers.  

In my opinion, it'd be fair if the guy calling for evidence also provides evidence.

In other words, I think that if xav wants case law references from drag, xav should provide
references of his own.

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 14, 2007 12:00 UTC (Wed) by i3839 (guest, #31386) [Link]

Yes, quite annoying, especially because I'm not a lawyer, so don't know heck about cases. ;-)
(BTW, xav wanted references from me, not drag.)

I'm just a programmer who once tried to figure out what rights/restrictions there really were.
So I read some copyright laws, especially the Bern convention and WIPO stuff. It's unclear and
muddy, as lawyer talk tends to be. Suffice to say, you've quite a weak case when none of your
work is actually copied, but only extended or interacted with.

It gets easier if your work gets distributed with their work, because then you can use the GPL
terms (e.g. that combined works should all be distributed under the GPL). But if they only
release their software, and not your GPLed code, it's a though nut to crack (hi Nvidia).

But that depending on something and interacting with it are themselves not enough reason to
involve copyright law is obvious, and just common sense. Else programs written specifically
for, say, MSWindows should follow its license instead of their own.

All this said, I wouldn't dare to bet either way. Distributing closed modules is quite risky,
but at the other side, don't expect to have rights that you don't have.

If you do want to nitpick, here's how the Bern convention defines "derivative works":

>(3) Translations, adaptations, arrangements of music and other alterations 
> of a literary or artistic work shall be protected as original works 
> without prejudice to the copyright in the original work.

The full text can be found at http://www.wipo.int/treaties/en/ip/berne/trtdocs_wo001.html.
For people going to read that, keep in mind that according to WIPO:

> Computer programs are protected as literary works within
> the meaning of Article 2 of the Berne Convention.

In short, if they don't change your work, it's not a derivative work. The time to lower
expectations is about now.

However, the real fogginess comes from the uncertainty what they mean exactly with "work" and
"computer programs". For instance, is a module a work, or just a small part of the greater
work that is the kernel? Similar for libraries.

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 15, 2007 19:15 UTC (Thu) by lysse (guest, #3190) [Link]

It's not a case, but djb's oft-expressed opinion that anyone has the right to release a patch
to his software guaranteed to them by copyright law, without any further intervention from
him, is applicable here too. As far as I am aware, the licensing problems with qmail do not
stem from that - otherwise, netqmail would be in trouble.

In any case, as far as I'm aware, nVIDIA do it the way they do for technical reasons - it
means they don't have to support a different binary module for every single kernel version out
there, instead relying on their thunk to be recompiled for the particular kernel under which
it finds itself installed. It might also make redistribution of the driver with a precompiled
kernel permissible - strictly speaking, the closed-source part is not derived from Linux; only
the thunk is, and that is GPL'd - but that's one for lawyers.

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 14, 2007 10:31 UTC (Wed) by tyhik (guest, #14747) [Link] (1 responses)

"A closed driver that does everything itself and only uses the kernel API for generic things
like IRQ, DMA and ioctl handling stuff can hardly be called to be derived from the kernel.
..."

A (non-trivial) driver NEVER does everything itself. It includes headers from kernel, which in
turn include more headers, which ..., in addition to using declarations from GPL-ed code,
results also in inlining GPL-ed code.

"... It would a stupid thing, but probably not illegal."

Huh. please forgive those poor kernel devs. All they know is coding and obviously they just
copy the GPL sentences into their headers like everybody else without meaning anything with
that :)

Google Calling: Inside Android, the gPhone SDK (O'ReillyNet)

Posted Nov 14, 2007 20:33 UTC (Wed) by sepreece (guest, #19270) [Link]

"A (non-trivial) driver NEVER does everything itself. It includes headers from kernel, which
in turn include more headers, which ..., in addition to using declarations from GPL-ed code,
results also in inlining GPL-ed code."

Yes, but if those things are found to be functional rather than expressive (that is, they're
just what you need to do to interface with the system), then including them arguably doesn't
make the module either infringing or derivative. 

Again, not a slam dunk one way or the other.

 


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds