Slashdot Mirror


GPLv2 Libraries — Is There a Point?

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?"

11 of 585 comments (clear)

  1. Umm... by Phroggy · · Score: 5, Informative

    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?

    Umm... nothing?

    If you're writing your application from scratch without using anybody else's libraries, you're free to release it under whatever license you like, even if it happens to talk to a GPL'd client plugin thingie, and even if you wrote that GPL'd client plugin thingie around somebody else's GPL'd library.

    Why do you imagine that somehow there's a problem here?

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    1. Re:Umm... by Anonymous Coward · · Score: 4, Informative

      A history lesson: GCC includes an objective C front-end. This front-end was originally implemented at NeXT for their new ground-breaking computer in the 1980's, and published as a proprietary component of the NeXT system software. They did not link directly to the GCC backend, but implemented an intermediate file format that was written by the proprietary frontend and read by a patched GCC, and they only published the source to the latter. FSF argued that NeXT was in violation of the GPL, and after months of legal wrangling NeXT gave up, published the front-end source under GPL and the case did not go to court.

      AFAIK the FSF still holds that the only way to use a GPL component in proprietary software is through an API that is supported by multiple implementations, not all of which are GPL, regardless of how the connection between the proprietary software and the GPL software is technically implemented.

    2. Re:Umm... by swillden · · Score: 4, Informative

      For what it's worth, I agree with you.

      FWIW, the IP attorneys I've discussed this with don't agree with you. They take the GPL at the FSF's word with regard to the meaning of "derivative work". I asked a couple about this and the response was that because the clearly-stated intent of the license was to preclude linking except to code distributed under compatible terms, that a court would most likely agree with the copyright holder. Basically, the "linking implies derivation" notion is reasonable and well-understood by all parties, so the court would accept it.

      Of course, these were corporate attorneys looking to protect the corporations assets, and lawyers in such situations generally err on the side of an overabundance of caution.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  2. Enhancements to the library stay LGPL by poliopteragriseoapte · · Score: 5, Informative

    The point is that enhancements to the library stay LGPL. I did this myself. I needed to modify LGPL libraries for the purposes of my application. I modified the libraries, and I am redistributing them under the LGPL. My main application is distributed under BSD license, and uses the LGPL libraries. The libraries make perfect sense separately (and in fact, I have people using them for reasons unrelated to the application I built). I think that, out of courtesy, and probably out of need, you need to make sure that the libraries are available separately.

  3. Author's wish by ianare · · Score: 4, Informative

    This is exactly why the LGPL was created. Or sometimes you will have a GPL lib with the linking or classpath exception. You will find most libs are licensed under these, or even more permissive terms.

    Therefore, if the lib in question is explicitly licensed under normal GPL, it's the author's wish that any apps that use it must be GPL compatible. I think it's only fair to follow the author's wish.

  4. Seperate address spaces are the main test by ChaseTec · · Score: 4, Informative

    You can't make a linked wrapper library since the GPL wrapper would be GPL too. See: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLWrapper However it sounds like you are talking about a service based wrapper. Then I'd say it depends on how integrated your service wrapper is with your main program. If you use separate processes but lots of IPC and shared memory then I'd think you app is to tightly integrated making it a derived work. If you make a network based service then I'd say you are legally clear even if you'll probably piss off the library author. See: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#NFUseGPLPlugins You could also make your app GPL but put a lot of the functionality in non-free plugs, see: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#FSWithNFLibs Of course you could also just release you app as GPL and not worry about it. What is stopping you from using the GPL?

    --
    My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
  5. I looked into this by dowlingw · · Score: 4, Informative
    I was recently looking into this using the concept of dual-licensed GPL/LPGL 'glue' connectors. This is the response I got back from the Free Software Foundation:

    You are correct. The answer is no. If the LGPLed library dynamically calls the GPLed library, then it is the FSF's position that the LGPLed library is a derivative of the GPLed library, and thus the work as a whole may only be distributed under the GPL. Please see this section of the FAQ:http://www.gnu.org/licenses/gpl-faq.html#GPLWrapper.

    For your specific requirements, I'd advise touching base with them - they have an advice service for these types of questions.

  6. Re:GPL Fanatics by koxkoxkox · · Score: 4, Informative

    What he was saying is that Linux is working now because of the GPL during its development.

    Of course most end users don't give a rat's ass about the GPL, but it is this GPL which allowed one modification made to Linux to be used anywhere. Without it, we would have an IBM Linux, a Red Hat Linux, etc. In this case, why not stick to Unix ?

  7. Re:GPL Fanatics by man_of_mr_e · · Score: 5, Informative

    The GPL does not guarantee that someone has to give you anything back. In fact, there is no reciprocation requirement at all.

    I can, for example, take your GPL'd work, make some changes, then sell it to my customer. I am required, by the rules of the GPL, to give my customer the source, and they are allowed to do whatever they want, including give it to others, but if they paid $1,000,000 for it, chances are they're not going to do that. You have no right to demand the changes I made, or even a copy of the program from me.

    This is a common myth around the GPL, that it enforces a reciprocation agreement. It doesn't. In fact, licenses that have such agreements are not compatible with the GPL.

  8. Re:GPL Fanatics by man_of_mr_e · · Score: 3, Informative

    They might. Or, they might consider the code to be critical to their business and not want their competitors to have it.

    The point is, the GPL does not guarantee what many people seem to think it guarantees, particularly in the "must give changes back" situation.

  9. Re:Step 2: lawyers by Insanity+Defense · · Score: 3, Informative

    RMS uses the GPL because he thinks its got the right idea of "freedom"

    Not quite right.

    RMS created the GPL because he thinks its got the right idea of "freedom"

    Now it's right.