Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
GNU is Not Unix Linux Business

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?"
This discussion has been archived. No new comments can be posted.

GPLv2 Libraries — Is There a Point?

Comments Filter:
  • terms vs license (Score:5, Interesting)

    by NiteMair ( 309303 ) on Tuesday August 11, 2009 @12:38AM (#29019601)

    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)

    by PhrostyMcByte ( 589271 ) <phrosty@gmail.com> on Tuesday August 11, 2009 @12:38AM (#29019603) Homepage

    IMHO the GPL, even v3, needs some work to clarify this question and also to close the hole for the software-as-a-service industry to modify GPL code without reciprocating.

    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)

    by piojo ( 995934 ) on Tuesday August 11, 2009 @12:50AM (#29019673)

    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)

    by SL Baur ( 19540 ) <steve@xemacs.org> on Tuesday August 11, 2009 @01:07AM (#29019767) Homepage Journal

    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.

  • by ingo23 ( 848315 ) on Tuesday August 11, 2009 @01:32AM (#29019907)
    The whole idea of "linking" is too specific to a technology or architecture. It assumes that some code is "compiled" into some form of library and the functions become available through a "linking" process during the build.

    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)

    by mysidia ( 191772 ) on Tuesday August 11, 2009 @01:34AM (#29019919)

    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)

    by beelsebob ( 529313 ) on Tuesday August 11, 2009 @02:06AM (#29020073)

    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)

    by sanermind ( 512885 ) on Tuesday August 11, 2009 @02:13AM (#29020099)
    This reminds me of our experience with mysql.. they changed the license of their drivers (the jdbc driver, in this instance) to GPL from LGPL a while ago, and also affirmed a legal position (at least in their marketing materials) that using the now GPL library would require any application dynamically linking/loading it to also be GPL, with the exception of being able to buy licenses to a separate non-GPL'd commercial instantiation of the library. (They also conveniently hired the guy who had been maintaining the previously freely useable LGPL version).

    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 .war archive that was trivial to install (just copy it into tomcat/webapps or whatever (well, and run the database creation script to set up the tables for it) and it was good to go. After the license change he was unable to distribute a fully packaged pre-working .war file with the necessary drivers for client databases. (Oracle was propriatary, but free to distribute).. he had to write a specialized install script that the customer could use to unpack the .war, install the mysql jdbc driver, and repackage it, where the script required the client to affirm that they were using a legally licensed non-GPL version of the jdbc driver from mysql to be able to install/link it. This took the liability off of him ...The liability for having the temerity to want to talk with a basic software infrastructure service (such as a sql server), without GPL'ing his little niche app.

    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)

    by onefriedrice ( 1171917 ) on Tuesday August 11, 2009 @02:14AM (#29020101)
    Exactly. The reason for the GPL is not to "protect" code or keep code free. Code will be free forever under any open source license. Big Bad Corporation can't take your code and lock it up so nobody else can use it; it's still free! The only reason for the GPL is to "stick it" to corporations and anyone else to whom it isn't convenient to fully comply with all the strings (restrictions) attached to and imposed by the GPL. In my opinion, GPL code is counter-productive because of the complexity and ambiguity of the license itself, as well as the incompatibilities that come along with a "viral" license. Case in point: How stupid is it that ZFS can't be incorporated into the Linux kernel, not because of any technical reason, but because two "free" license aren't compatible with each other. Seriously? That doesn't sound like freedom to me.
  • Re:GPL Fanatics (Score:3, Interesting)

    by beelsebob ( 529313 ) on Tuesday August 11, 2009 @02:28AM (#29020177)

    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)

    by MadnessASAP ( 1052274 ) <madnessasap@gmail.com> on Tuesday August 11, 2009 @02:59AM (#29020317)

    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)

    by Tony Hoyle ( 11698 ) <tmh@nodomain.org> on Tuesday August 11, 2009 @06:26AM (#29021217) Homepage

    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)

    by jeremyp ( 130771 ) on Tuesday August 11, 2009 @07:01AM (#29021409) Homepage Journal

    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?

  • by Anonymous Coward on Tuesday August 11, 2009 @10:01AM (#29022939)

    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.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...