GPLv2 Libraries — Is There a Point? 585
PiSkyHi writes "I understand that if I build an application that links with a library that is licensed under GPLv2, I must also make my application GPL2. I can see that value in this for an application. But for a library, what's to stop me separating my program into a GPLv2-compliant client app that talks to the rest of my (choose my own license) application?"
terms vs license (Score:5, Interesting)
Doesn't the license basically stipulate that you must release your code under the terms of the license? That doesn't necessarily mean you have license your code as GPL.
This is actually a common FUD discussion that occurs between developers who use MIT/BSD license for their code, and are afraid to link to GPL libraries because it might force them to release their code as GPL. I'm pretty certain that as long as their code is available under the same terms as GPL code, they can license their code however they wish otherwise. It just means if a GPL nut comes a knockin', they'll have to provide the code as if it was GPL'd.
Correct me if I'm wrong (and I often am).
Re:Step 1: see GPL (Score:3, Interesting)
I would like to see the GPL get clarified, too. Some companies play pretty loose with the GPL's definition -- like MySQL saying their protocol documentation is under GPL, and interpreting that to mean any code you write using that documentation must be under the GPL too.
FSF has done part of what you mention, though -- see the AGPL. It explicitly closes the SaaS hole.
Re:Umm... (Score:4, Interesting)
If you write the Foo app on your own without any connection to a GPL licensed library, then Foo obviously cannot be said to be a derivative work of anything. What if you then add some capability for Foo to interact with a GPL'd library?--for instance, adding Readline capability to an app that previously used the BSD Editline library.
Would this make your program a "derivative work"? That's a question for our legal system--it's not the FSF's right to define what constitutes a derivative work (nor is it the right of the any copyright holder--this is a question of legal definition).
And... err... I'm obviously not a lawyer.
Re:Umm... (Score:5, Interesting)
I would tend to agree. It's fairly well established that license does not extend across process boundaries - Clearcase interface code in emacs does not make emacs proprietary.
There's a lot of FUD at the library level. I think you're probably safe with dynamic linking/loading. Stallman hated me for introducing .so elisp modules in XEmacs, but it was on ideological grounds not legal grounds - it made it possible to distribute executable code in emacs sans source code.
I *would* recommend paying attention to discussion on lkml on the nuances between EXPORT_SYMBOL and EXPORT_SYMBOL_GPL. If your work is a derived work from a GPLed interface, then yes your work falls under the GPL.
One of the most significant events of 2009 in IT has been Microsoft releasing code under GPL. The intent of the GPL is that if I give you something under GPL and you modify it to do something interesting and distribute that, you have to share it back to the community. The tricky part is defining "modify". In US copyright law, that means creating a derived work. Is linking against a library a derived work? Sorry, that's above my pay grade.
I find it interesting that it is Microsoft that may validate the whole thing. They are certainly learning. Stallman's copyright assignment requirement for all GNU code, it gives the FSF total control over the work. That's more than Bill Gates managed to achieve. And dang it, I never received any of the $1 consideration payments I was supposed to receive when I signed FSF copyright assignment papers.
TL;DR Yes, I just likened FSF to Microsoft.
Disclaimer: I'm an ex-XEmacs maintainer, not a lawyer. Your mileage may vary. Offer void where prohibited. Contact your local dealership for more details.
"Linking" is the weakest link of GPL (Score:2, Interesting)
What if I call functions in my library over SOAP? The application is still "linked" to a service ("library"), but using that logic a web browser would have to be GPLed if you access any GPLed web server.
What's to stop you? (Score:3, Interesting)
RMS and others, (The community) possibly are there to stop you.
Probably some people have some creative interpretations of what it means to link against a GPL library, also. To call such things at least a gray area if not outright violations.
If/when they find out, they might point to your software as an example of bad practice, or put you in the "GPL Violations hall of shame", or some such.
This is especially interesting with respect to scripting languages... If I write a PHP script that utilizes mysql_* function calls of PHP, which can only be invoked when PHP has been linked against the Mysql Client library....
Is my PHP script essentially linked against the GPL'ed mysqlclient library, and therefore, (if I distribute my PHP script commercially without source) a GPL violation?
Re:GPL Fanatics (Score:3, Interesting)
In theory, yes. In practice, however, it seems volunteers and companies contribute a lot more to GPL'ed projects than to BSD'ed ones, otherwise we'd be arguing for the "Year of FreeBSD on the Desktop" instead of Linux.
Really? Every company I've ever worked at has used and contributed to BSD and LGPL projects, but not touched GPL with a barge pole.
Personally, I like the idea of a BSD kernel with LGPL libraries and GPL applications, it seems to me as the best balance between freedom and widespread usage I can see. However, if devs believe otherwise and GPL everything I have no problem with it, the market will decide which option is better and, so far, it seems they're right.
Really? The one with the closed kernel (Windows) has the biggest share, the one with the BSD'd kernel (Mac OS) has the second biggest, and the one with the GPL'd kernel (Linux) has about 1%. Doesn't sound like they're right to me.
Mysql, anyone? (Score:5, Interesting)
In theory, of course, someone else could re-invent the wheel and create another fully LGPL JDBC driver for mysql.. (I was ever-so-mildly tempted to do start work on that myself, out of spite and irritation, but didn't have the time).
Needless to say, after talking to the lawyer we had to switch our entire infrastructure over to postgresql. On the bright side, I found that I rather preferred postgres as a more comprehensive and functional sql anyway. (No more having to do manual tricks for multi-merges, etc). Still, it seemed like very bad faith to switch the license like that right out from under people who had already been using it, all in the hopes of further monetizing mysql. (Yes, the earlier license applied to the old versions of the driver... which happened not to work properly with newer versions of mysql).
I once talked to someone else else who makes a a bit of money on the side selling some piece of booking software. Unfortunately for him, almost half his clients were deploying his software in mysql shops. His software was a drop-in
I'm all for the GPL. I love it! I've used it myself in a few things I've developed. I love all the good it's brought, etc, the idea of openness, a publishing and peer-reviewed manner of developing code, all that.
But I still find it very obnoxious to make a piece of library glue GPL. That's exactly what the LGPL is there for. Logically, it's not a derivative work of mysql if you use it for processing sql transactions (making no modifications or redistributions of it of any kind) any more than a file you create in the gimp is a derivative work of the gimp.
Re:GPL Fanatics (Score:2, Interesting)
Re:GPL Fanatics (Score:3, Interesting)
We've been through this a million times before. The company has now stolen the time of the guy who wrote the free code in the first place
No it hasn't. That guy was kind enough to give it away in an open way. This is the *point* of open source software, to be generous, and let everyone benefit from your work.
or at least the guy may feel like that.
Then he (a) is not an open source developer (b) should use a closed license like the GPL, and stop claiming to be open.
Re:GPL Fanatics (Score:3, Interesting)
Linux is only popular because of the GPL.
That's a pretty stupid statement don't you think? I (and I'm sure I'm not the only one) use Linux because it WORKS and does what I want it to in the situations that I apply it to. I also use Windows 7, Windows Server, Apache, Python, Java, Opera and piles of other products under just about every license under the sun. And you know what? I don't give a rats ass about the license so long as it doesn't hinder me they can shove it under any license they want.
Re:Step 1: see GPL (Score:5, Interesting)
MySQL also have this wierd clause that shipping an app that uses their library, even if you don't ship any of their code, is 'distribution' and subject to the Mysql license.
OTOH it did help us standardise on postgress for the OSS stuff.. Mysql wasn't worth the legal hassle to support any more.
Re:Mysql, anyone? (Score:3, Interesting)
When you added up the man-time required to move everything to Postgres, did it come to more or less than the cost of buying a commercial licence for the MySQL JDBC drivers?
Re:Step 2: see copyright law (Score:1, Interesting)
This bears repeating. The windows source code is under the license "do not distribute without MS's permission." If you stole some of it & used it, your project would be under the same license, ie you couldn't distribute it. This does not mean the windows license is viral. It means according to copyright law you must always obey license conditions.