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

25 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 seanadams.com · · Score: 2, Informative

      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.

      Which GPL are you reading that says this is OK? If the license doesn't permit it then it's a question for copyright law of whether you're making a derivative work. I would say that in this case you ARE, unless it's a bone fide plugin in the sense that it can be unplugged too.

    2. 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.

    3. 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.
    4. Re:Umm... by slash.duncan · · Score: 2, Informative

      That's the beauty of the GPL, in that if the opposition (defendant, perhaps plaintiff in a declaratory judgment) doesn't accept the license, everything defaults back to standard copyright protections, which don't allow use/copying/distribution in the first place, thus being far stricter than the GPL. They are thus free not to accept the GPL, but should they do that, they better make very sure they are not infringing standard copyright, either, because that's the fallback.

      That's also why the legal system is likely to rely on the author's (or license author's) clearly laid out interpretation of his chosen license as well -- unlike EULAs and the like, which seek to impose additional restrictions on top of copyright as a condition of granting limited use under copyright, the GPL does not restrict what copyright law already permits. As such, the author's interpretation of the conditions under which he grants those additional permissions holds a lot of weight because the defaults would be far stricter.

      IMNLO (NL=non-lawyer), this is why the very high majority of GPL violation cases ultimately settle out of court. Once it's pointed out that should the GPL NOT be valid, the fallback is far stricter copyright law, which would put the violator in a far worse position than they are in with the GPL violation, most reasonable people quickly see the light, and decide the chances of risking even WORSE penalties for full copyright violations are simply not worth it. Thus, they find that abiding by the GPL in the future is in their best interest, and all that must then be agreed is the penalty for past violation. The FSF and friends seem to be relatively flexible in that regard, since the object is after all to get the code out there, and a settlement for costs plus a normally undisclosed but apparently reasonable donation, plus some measures (license compliance officer or etc, agreement on release breadth and deadlines) to ensure the followthru, seems to be common. Compared to the penalties a company would pay for violating a proprietary license or raw copyright law, that's very reasonable indeed, and most violators quickly see how mutually satisfactory the offered settlement conditions actually are.

      --
      Duncan
      "Every nonfree program has a lord, a master,
      and if you use the program, he is your master."
      R Stallman
    5. Re:Umm... by Bluesman · · Score: 2, Informative

      you don't make any use of GPL'd components if you're not prepared to put everything under GPL, that is the intent of the license

      That's exactly right. Anyone who says differently, especially after reading the Clisp exchange, is deluding themselves.

      That might be what you want (yay GPL), but if you're not thrilled about the GPL, you probably shouldn't be using any GPL software in your project, or you'll run into these issues. Take heed, original poster.

      It's why I prefer the BSD license; I don't want my hobby to result in me talking to a lawyer.

      --
      If moderation could change anything, it would be illegal.
  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.

    1. Re:Enhancements to the library stay LGPL by Anonymous Coward · · Score: 2, Informative

      You're completely full of shit. Here's section 6 of the LGPL:
       
       

      6. Revised Versions of the GNU Lesser General Public License.

      The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

      Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License âoeor any later versionâ applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation.

      If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.

      There's nothing in there about releasing applications that link to modified LGPL libraries under LGPL. Furthermore, the situation you describe is completely bizarre, because there's absolutely no way of determining what "upstream" is. The grandparent's post indicates that he forked the LGPL library. Which is a perfectly valid thing to do. And he's licensing the derivative work of the LGPL library under the LGPL. There should be no legal issues there.

  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. Re:Talk to the authors (link) by minsk · · Score: 2, Informative
  5. The GPL Problem by cdrguru · · Score: 1, Informative

    The problem is that there are plenty of zealots that will tell you that incorporating any GPL-licensed component in any way immediately forces the entire body of work to be released under GPL.

    This can be interpreted at various times to include static linking, dynamic linking, linkage via any sort of invocation such as exec, RPC, and any other sort of connection between two pieces of code. What is the "right" answer? It isn't all that clear. It can be a matter of intent or of benefit. If the developer is benefiting from GPL code, then their project should be under GPL.

    Further, what any competent lawyer will say is the objective is to avoid lawsuits. This means taking a proactive position to avoid getting into situations where some GPL zealot can potentially sue.

    Essentially trying to play games with GPL can bring you into conflict with zealots. Some of these people have resources which allows them to file silly lawsuits without personally costing them a fortune. These are people to avoid coming into conflict with. So take the broadest possible interpretation of the GPL and live with it.

  6. 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.
  7. Re:GPL Fanatics by Anonymous Coward · · Score: 2, Informative

    but it is free...free from abuse by those who want to take and not give anything back.

  8. 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.

  9. Re:terms vs license by Anonymous Coward · · Score: 1, Informative

    GPLv2 Section 6:
    "6. Each time you redistribute the Program (or any work based on the
    Program), the recipient automatically receives a license from the
    original licensor to copy, distribute or modify the Program subject to
    these terms and conditions."
    The key phrase there is "subject to these terms and conditions". If you view the requirement made plain in Section 6 to be a "condition", it logically follows that that requirement can never be removed. This makes it fundamentally incompatible with the BSD and MIT licenses, because they do not make this requirement. And once enough additional clauses are added to set forth all of these terms, you have effectively rewritten the entire GPL. So no, GPL code cannot be used under almost any other license, because it denies both decreased and increased freedoms in licensing.

  10. 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 ?

  11. 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.

  12. Re:Step 1: see GPL by mattbee · · Score: 2, Informative

    Not sure about now, but a few years back, MySQL made this pretty explicit - they considered any kind of bundling of MySQL to be "linking". i.e. if your application could only work with MySQL, and you shipped it with your app, that was linking, even though they might have only communicated through a socket. The whole concept of program linking has come on quite a bit since 1990, so I agree with the parent, if there aren't alternative components that can be swapped out with a GPL'd one, that's linking.

    --
    Matthew @ Bytemark Hosting
  13. 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.

  14. Re:Step 1: see GPL by Tony+Hoyle · · Score: 2, Informative

    FSF say that linking - even dynamic linking - creates a combined work (in memory) that is subject to the GPL.

    Of course that theory has holes (eg. I'm not distributing that combined work.. it stays in memory, so the license it's under is irrelevant), but it's stuck for now.

    A separate app is in no way a combined work as it doesn't share any memory space.. and it'd be hard to make a license that applied a restriction like that.

  15. 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.

  16. Re:GPL Fanatics by init100 · · Score: 1, Informative

    I have something against people claiming to be open when doing so.

    That's your problem. Deal with it. You BSD fanatics do not have a monopoly on the term "open source".

  17. Re:Step 1: see GPL by geminidomino · · Score: 2, Informative

    As an example, you can't copyright the idea of a school for wizards and/or witches, although you can copyright a specific story built around that idea.

    This isn't as clear as it sounds. If you write a story about a school called Hogwarts for wizards one of whom is named Harry Potter, you can expect to get sued for infringement under the theory that your story is a derivative work of J.K. Rowling's -- even though you've only copied ideas, not expressions.

    I'm pretty sure that "Harry Potter," as a character, is an expression of the idea "student wizard".

  18. Do NOT see the GPL by Cajun+Hell · · Score: 2, Informative

    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've seen this kind of thing before, and it surprises me that so many people have such a deep misunderstanding of copyright law.

    The GPL ***CAN'T*** define what a derived work is; it lacks the power to do that. Congress (not FSF and not Microsoft), through copyright law, does that.

    Reading pages at FSF may clarify the issue, simply because those pages are written by presumably well-versed people (though beware: they may try to persuade you, rather than inform you).

    --
    "Believe me!" -- Donald Trump
  19. Re:GPL Fanatics by shaitand · · Score: 2, Informative

    The community for a given derivative is its users. By definition the users will have a copy of the dervivative app and therefore the source. It was never intended that anyone and everyone should be required to have the changes.

    In practice though, even private development will result in bug fixes and it will be in that private party's interest to pass those back to the original project so they are maintained by the community and don't have to be manually patched and merged in with each update.