News for hackers. Stuff that matters.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by spullara on Thursday May 31, 2012 @05:58PM (#4050615)
How does this effect the GPL? Is this no longer something that the GPL can restrict?

http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by ajross on Thursday May 31, 2012 @06:05PM (#4050644)
No, it's a different issue. When you take a GPL (not LGPL) library (not an API, an actual piece of software) and "use it", you're creating a derivative work of that library. The only way to license such a work is under the GPL. Because if you don't, you don't get a license to use the library (not the API, the software) under copyright law. But it's the copyright on the software that is the teeth here. In principle you could distribute your code under GPL-incompatible licenses, but only as a piece of useless source code. Anyone who wants to ship useful software needs to abide by the copyright of the software they use.

What Google (really Harmony) did is mere cloning. They (very) expressly didn't use Java the software, only the "Java API".

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by perlgeek on Friday June 01, 2012 @02:24AM (#4052224)
> In principle you could distribute your code under GPL-incompatible licenses, but only as a piece of useless source code.

It's not useless. Your customers can compile it, and link it to the GPLed library. After all the GPL allows you absolute freedom of use, as long as you don't distribute the derivative work.

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by ajross on Friday June 01, 2012 @11:37AM (#4053982)
No, the point is that your code is the derivative work. If you distribute it to the customer with the intent of it being a useful integration, you can only do so legally under the GPL. The GPL library owner could sue you to stop that distribution.

Obviously there's some gray area if you, say, publish your code in the context of fair use (as an academic paper, say) and someone else does the integration work without your blessing (this is what I meant by "useless piece of source code"). But simply saying "build it yourself" is not a get out of jail free card for the GPL.

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by perlgeek on Saturday June 02, 2012 @01:34PM (#4058582)
If my code just uses APIs from a GPLed library, how is it a derivative work? APIs aren't copyrightable (yay).

In my understanding only the compiled result which links to the GPLed library is a derivative work.

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by chc on Thursday May 31, 2012 @06:05PM (#4050646)
The GPL never forbade creating a nonfree library with the same interface as a free one.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by jrockway on Thursday May 31, 2012 @08:20PM (#4051189)
That's my reading too, though I remember someone who wrote a MySQL API layer that was not libmysql was accused of violating the GPL. Amusingly, MySQL is now an Oracle product (though I'm not sure it was at the time).
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by Sanddancer on Friday June 01, 2012 @01:11AM (#4052075)
It had been MySQL's standard MO for a while. Their point of view was you either had to completely open source your product, or you had to pay them lots of money. Using it in an in-house webapp, or as you mentioned, reverse engineering the API, would get them knocking on your door threatening to sue you.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by chimeracoder on Friday June 01, 2012 @01:23AM (#4052099)
Which is, incidentally, not too far from how GNU/Linux came to be - a free OS with the same interface as a nonfree[1] one.

[1] AT&T was legally required to provide the source code of its OS 'for free', I'm not sure if the terms actually qualify as 'free-as-in-freedom', hence the impetus to create an alternative implementation.

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by dllthomas on Thursday May 31, 2012 @06:22PM (#4050714)
This posts siblings are correct - the GPL can forbid linking because it is a condition of you being able to use the library. Reimplementation of a GPL library to be distributed under different terms is certainly permitted, and has happened (see readline).
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by ubernostrum on Thursday May 31, 2012 @07:50PM (#4051080)
There is still some debate -- and this case didn't touch it -- over linking and derivative works. Static linking pretty clearly involves something that requires a license from the copyright holder, but dynamic linking is far from clear. The GPL basically asserts that dynamic linking makes a derivative work, but there's no guarantee that this is how copyright law would actually be interpreted by a court.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by caf on Thursday May 31, 2012 @09:34PM (#4051443)
There is more to it than just the technical nature of the linking, though - the court would take into account all of the circumstances of the claimed infringement.

For example, if you distributed your commercial software packaged up with a GPL library, with scripts or links or whatever designed to have that library loaded together with the commercial binary as part of a finished product, then the "dynamic" nature of the linking might well be considered to be a technical irrelevancy.

On the other hand, if you distributed your commercial binary on it's own, and expected your customers to find a compatible library to dynamically link against it, then that might be a different matter.

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by ubernostrum on Thursday May 31, 2012 @10:55PM (#4051708)
The second case is the more common one, and has come up a few times. See, for example, debates over whether code written to a generic readline-esque API must comply with readline's GPL, even though non-GPL alternatives are available.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by derekp7 on Thursday May 31, 2012 @07:29PM (#4051004)
So if you code against a GPL library, but don't distribute that GPL library with your code, are you still bound by the GPL? According to the GPL license itself, it seems so, as long as there is not other library that implements with the same interface. But what part of copyright law makes this possible?
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by dictus on Thursday May 31, 2012 @07:51PM (#4051085)
Do people distribute their non-free code, which then, somehow bootstraps GPL libraries (from GPL sources)? Would that be compatible with the GPL, or is there a provision against that?
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by wbillingsley on Friday June 01, 2012 @05:19AM (#4052629)
Any project that builds using Maven does that all the time!

(And really it's not simply a question of "non-free" -- there are plenty of open source licenses that are incompatible with the GPL. Is this technically a workaround for the incompatibility between Apache v2 and GPL v2?)

But a non-free villain could bootstrap a build using Maven without even publishing their source at all -- just keep a Maven repository with their binary jars and and a pom.xml that specifies dependencies on a whole bunch of GPL libraries.

Is there a provision against it? I hope so, but I haven't found it yet.

http://wbillingsley.blogspot.com.au/2012/06/does-oracle-v-go...

Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by marxmarv on Thursday May 31, 2012 @10:29PM (#4051625)
Presumably, if proprietary code isn't linked with GPL code, it's not a derived work, but two separate works under different licenses. If your situation can tolerate it, you might could write a gplserver running in a separate address space. Or, if it's hardware to hide, video drivers frequently provide a razor-thin kernel driver that does little more than let you mmap the device's I/O space, with all the action sequestered in a proprietary userspace library.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by dllthomas on Monday June 04, 2012 @05:39PM (#4066102)
c.f. rlwrap
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by chc on Thursday May 31, 2012 @08:10PM (#4051151)
You're still linking in the free software. If dynamically linking the normal way would be verboten, I can't see why dynamically linking that way would be any different.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by atamyrat on Thursday May 31, 2012 @06:01PM (#4050627)
I suppose linking to a library is quite different case than re-implementing it with the same interface.
Re:Oracle v. Google - Judge Alsup Rules APIs Not Protected B... by geon on Thursday May 31, 2012 @06:31PM (#4050756)
> re-implementing it with the same interface.

That is, after all, what the GNU project was created for.