Hacker News new | past | comments | ask | show | jobs | submit login

I have always read LGPL as "Look for another piece of software which does this and save yourself some headaches."



Because you can link with it with absolutely no restrictions on the derived app? Yeah... that sucks...


That's what they want you to believe. Try reading the license.

You have to know how many lines from the header file you are "distributing" (in the GNU lingo). If you are using C++ templates, you are probably screwed. You have to make sure you link dynamically (or else). LGPL seems to require advertising the library. And if you want do static linking, talk to a lawyer. Linus and RMS disagree on what constitutes "derived work", btw.

Edit: I'd like to know what motivated people to upmod parent, when it's factually incorrect and can cost developers dearly if they take the message at face value.


You are talking about Section 3 of the LGPL? IANAL, but this section seems pretty logically simple to me, and I think you are misreading it. If you read the terms, you are required to do either of the following:

    * a) Give prominent notice with each copy of the object code that the Library is
         used in it and that the Library and its use are covered by this License.
    * b) Accompany the object code with a copy of the GNU GPL and this license document.
How is needing to provide a mention of the LGPL'ed libraries and the fact that they are LGPL'ed in any way screwing you? You also have to provide a copy of the GPL and LGPL amended your own legalese. You are not required to distribute the source for the library, nor the source of your own application. I've seen several large commercial applications make mention of included libraries, some under the LGPL, and it has never bothered me, nor anyone else who purchased it.

I understand that you want to be able to charge money for the software you write, but that you seem to perceive the LGPL as a threat to this ability seems excessively fear-mongery. I agree that anyone concerned about licensing terms should consult an attorney, but because you want to understand things better, not because you are fearful of software development turning socialist.


If, as you say, LGPL, is clear to you, what do you think "object code" refers to in the (b) clause you just quoted? How are the "ten lines" counted in the paragraph above (you didn't quote): separately or total? etc. etc.


1. http://en.wikipedia.org/wiki/Object_code

2. I'd assume as lines are normally counted. The number of line-feeds and/or carriage returns in a file. I don't see what the big deal is anyway; if you are at all concerned, just include the license text. Is doing so that big a deal?


No. Whose object code? Is it talking about my object code or the library's?

Ten lines per function, per header, per library, per program?

Edit: I think you didn't understand LGPL yourself either. I think in the quoted lines, "object code" refers to your code, and accompanying them with a copy of GPL refers to having to release your code under GPL. Or do you think you only have to say you release it under GPL and not actually release it?


The object code is the aggregate of your code and the library's header code.

If you have just your object code, you are not bound by the license of the library, then you don't need to include it.

If you have just the library header code, then you are not incorporating it into anything else, and have no obligations by the license.

If you have both the library header code incorporated into your object code , then you are bound by the license to provide attribution along with that incorporated object code.

As for you second question, I'd guess lines per file. But it is a bit ambiguous, as almost all legalese is. Again, you could just err toward caution, and include the license text regardless. Are you averse to this for some reason?

Oh, and as per the wiki link, object code is the compiled binary of your source code. At this point, whatever headers you included would already be integrated.


By accompanying your object code with GPL/LGPL, you are promising your customers that your code is GPL/LGPL, i.e. you will be bound to open your code.

The fact that your understanding of the license is different shows just how sneaky and obfuscated LGPL is.


If that were true, why would would the FSF say that "using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs" [http://www.gnu.org/licenses/why-not-lgpl.html]? The LGPL is not designed to trick you into using the moral equivalent of the GPL; it's designed to occupy the middle ground between GPL and BSD licenses.


Nonsense.

> Lesser GPL permits use of the library in proprietary programs

That means "in some cases", not "in all cases". Logical fallacy on your part.

> ordinary GPL for a library makes it available only for free programs

Here, GPL'ers contradict themselves (for both senses of "free"). GPL code can, technically, be non-gratis. And GPL code can be used in non-GPL programs (you just can't distribute them easily).


I think you're entirely wrong about the "copy of the GPL" business. The LGPL consists of the GPL plus a bunch of extra stuff. The LGPL document found e.g. at http://www.gnu.org/licenses/lgpl.html lists only the extra stuff. Therefore, whenever it imposes any requirement to distribute a copy of the licence, it says "a copy of the GNU GPL and this license document". That's all. If there were a requirement to distribute your stuff under the terms of the (not-L)GPL, then it would say so. (Merely distributing a copy of the GPL along with your code would not put the code under that licence.)

Those terms to which you object mean, I think, the following: If your object code includes bits of the library header files, and if those bits are substantial, then you have to (1) say that you're using the library, (2) say what licence the library is covered by, and (3) include a copy of the documents that define that licence.


Please add some line breaks in that quoted text.


Fixed. :-)


Exactly. I'm unwilling to pay the uncertainty tax. (Ironically, commercial software is often much easier to justify than the LGPL equivalent is! "Fork over $200 and you're OK" -- sweet, done! Spend a few hours reading legal code and still coming no closer to understanding whether a plugin in application A accessed over REST by application B is "linked" to A, B, A and B, or neither... bah.)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: