5 ms·
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 http://www.gnu.org
by spullara 14y ago
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 http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL
- atamyrat 14y agoI suppose linking to a library is quite different case than re-implementing it with the same interface.
- geon 14y ago> re-implementing it with the same interface. That is, after all, what the GNU project was created for.
- ajross 14y agoNo, 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".
- perlgeek 14y ago> 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.
- ajross 14y agoNo, 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.
- perlgeek 14y agoIf 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.
- chc 14y agoThe GPL never forbade creating a nonfree library with the same interface as a free one.
- jrockway 14y agoThat'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).
- Sanddancer 14y agoIt 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.
- chimeracoder 14y agoWhich 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.
- dllthomas 14y agoThis 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).
- derekp7 14y agoSo 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?
- dictus 14y agoDo 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?
- chc 14y agoYou'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.
- marxmarv 14y agoPresumably, 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.
- dllthomas 14y agoc.f. rlwrap