Slashdot Mirror


LGPL is Viral for Java

carlfish writes "According to this post to POI-dev, Dave Turner (Mr License) of the FSF has decreed that the steps required to use an LGPL'd Java library will actually infect client code with substantial GNU-ness via Section 6 of the LGPL. (The "Lesser" GPL is supposed to protect only the Library, without infecting code using the library) This, as you might imagine, puts a few LGPL Java projects that previously thought they were embeddable without being viral in a bit of a bind. Various weblogs have further coverage." Update: 07/18 02:44 GMT by CN : The FSF's Executive Director, Brad Kuhn adds "LGPL's S. 6 allows you to make new works that link with the LGPL'ed code, and license them any way you see fit. Only the LGPL'ed code itself must remain Free. Such 'client code' can even be proprietary; it need not be LGPL'ed."

9 of 717 comments (clear)

  1. great, microsoft succeed again by Anonymous Coward · · Score: 5, Insightful

    they coined the term "viral" with respect to software licenses, and now everyone's using it.

    good stuff. :\

  2. The GPL is not viral. by oGMo · · Score: 5, Insightful

    Please read that again. And again, until you get it. The GPL is not viral. It's pretty simple, really. If you're going to use [L]GPL'd code, follow the terms of the license, or don't use it.

    You have a choice. The [L]GPL is not a little bug trying to worm its way into your code. If you chose to use GPL code, then you follow the terms, or don't use the code. It's simple.

    If you find some really neat library under the [L]GPL that you want to use, and you don't want to follow the terms, well: tough luck. Offer to compensate the author; perhaps he or she will license it to you differently. Otherwise, write your own code.

    --

    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage

  3. Re:No problem. by keesh · · Score: 5, Insightful

    I am a Java developer, and I have used the LGPL on work (and also used work that has been LGPL'ed).

    My intent in using the LGPL is pretty simple: If you want to use my library, go ahead. If you make changes to my library, those have to be released back into the wild, so the library can be improved by everyone's improvements. I'm not a 'Free Software' zealot -- I'm an open-source pragmatist.

    If the LGPL does not meet this intent with Java, then we should find or write a license that has this intent. Perhaps one of the ones at Creative Commons would work...

  4. Re:No problem. by Michael's+a+Jerk! · · Score: 5, Insightful

    Perhaps you need to make an effort to understand the reasons people
    refer to the GPL as viral.

    If I spend years writing a program using no code other than my own, I
    can release it under any license I want. If I incorporate BSD licensed
    code into my program, I can still use any license I want, so long as I
    preserve copyright notices. If, however, I want to include GPLed code in
    my program, the GPL forces me to release my program under the GPL. It
    has *infected* my program. This is where the term `viral' originates
    with regard to the GPL.

    The BSD license does not affect code and cannot affect code since it
    can always be placed under another license. If someone makes proprietary
    enhancements to my BSD licensed code on his own time with his own money,
    the only code that has been infected with a non-free virus is his. My
    code is still perfectly free. I can give it to whoever I want and it
    is still as free as ever. The only thing I can't do is give away the
    other person's proprietary enhancements made with his own time and his
    own money and which could possibly completely overshadow the features
    provided by my small amount of code.

    Although the BSD license encourages the reuse of code for *any* purpose,
    including in projects released under non-free licenses like the GPL or one
    of the dozens of proprietary software licenses, doing it to piss people
    off will not get you very far, and it will make you look foolhardy,
    especially in the eyes of the people who wrote the free software (free
    for *any* purpose) that you would be making non-free. I guess you think
    no one understands the BSD license.

    All in all, a fine spirit to take in the name of free software....

    --

    I'm not Seth.

  5. Misleading article by timsuth · · Score: 5, Informative

    This slashdot article is misleading. It gives the impression that if your Java code uses an LGPL library then you must provide your source code, permit changes/redistribution etc.

    This is not the case. What the FSF guy way saying is "With respect to the LGPL, 'import' in Java is equivalent to linking in C." This means that if you make changes to an LGPL library you use via import in Java, you must make the changes to the LGPL library available to others. This is exactly the same situation which applies in the C world.

    The reason the Apache people don't want to use the LGPL (for any language) is that they want their libraries to be under a more permissive license which allows the libraries to be modified without requiring the users to make the changes available.

    Some people were suggesting that there was a loophole in the LGPL which meant that they could 'import' a library in Java and avoid having to make changes to the LGPL library available.

    The "news" is that the loophole does not exist - the LGPL applies to Java in the same way as it does in C.

  6. Yes, that David Turner by prizog · · Score: 5, Informative

    Hi. I'm that David Turner who is quoted. I'm not the David Turner who works for Microsoft, and I do not hack on Freetype.

    First, I'm upset that CowboyNeal didn't contact me -- as the article says, I work at the Free Software Foundation, and you can find our phone number on our web page by searching for "s" on Google and clicking "I Feel Lucky."

    Now, if you read section 6 of the LGPL, it's not the same hereditary [1] thing as section 2 of the GPL -- what it says is that your program, which links against the library, does not need to be licensed under the LGPL. But you do have some obligations -- you need to allow people to relink your code with new versions of the library.

    [1] I think hereditary is a much better analogy than viral, and I thank the person who came up with it and whose name I forget.

    1. Re:Yes, that David Turner by prizog · · Score: 5, Informative

      Oh, wait, now I actually read your post, and realize that you are still completely confused. Sorry.

      Let me make it clear: Section 6 is not what you think it is.

      You think section 6 says:

      You must cause any work that you distribute or publish, that links to the Library, to be licensed as a whole at no charge to all third parties under the terms of this License.

      Section 6 actually says: ...distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

      Note that this does not require the provision of source code, nor does it require allowing the original program or modifications thereof to be distributed.

  7. Re:The GPL is like a Vaccine by JonMartin · · Score: 5, Insightful
    This viral stuff is backwards. I think the BSD license is actually more viral than the GPL. Here's why:
    If I decide to write a program and contribute it to free software, the GPL assures me that it will stay free software forever. I'd be bothered if somebody made it non-free, effectively stealing my work for their own remuneration.

    No dumbass, they can't steal your code if it is BSD licensed. What are they going to do, break into your house and remove the source from your HD? And do the same to every person who downloaded it? Repeat after me: YOU CANNOT STEAL WHAT IS FREE. As long as someone out there has a copy of your BSD code it will always be free.

    The next point is that if someone copies your free BSD code and charges money for it they are NOT MAKING MONEY OFF OF YOUR CODE. Your code is FREE remember? They are making money off of whatever they added to your code (be it more code or a service contract or shiny packaging). If Microsoft takes your free BSD code, adds one line to it and charges $100 for it they are charging $100 for that one line of their code.

    The BSD license lets people apply almost any license to my software, including most non-free licenses. If I wrote work under the BSD license, someone could modify it and sell the result with no source code, and I'd have no recourse at all.

    Why would you want recourse? How have they wronged you? You released your code under a free license, and people are using your code. Hooray! Wasn't that the point of releasing your code?

    Anyone who wants can infect my BSD software with the non-free license virus.

    How can they "infect" your code? You still have your code sitting on your harddrive. What they have done is create an entirely new "thing" out of your code and their code.

    By the way, the BSD license allows you to apply the GPL to a modified BSD work.

    Correct. Isn't that nice and free of them?

    I've thought about organizing a GPL-ed thread derived from the body of existing BSD-licensed work, just to illustrate a lesson about the BSD license. That would really piss people off, but it would be legal.

    Perfectly legal. That's the point of the BSD license: allow as many people as possible to use the code for whatever purpose they imagine. I doubt the authors of the BSDed code would be bothered at all. They will probably be happy it is being used - that is why they released it under the BSD license.

    --
    Serve Gonk.
  8. Re:The GPL is like a Vaccine by Breakfast+Pants · · Score: 5, Insightful

    You forgot the group that wants to release their code but they also want the assurance that anyone making additions shares back.

    --

    --

    WHO ATE MY BREAKFAST PANTS?