PDA

View Full Version : Possible LGPL violation: clarification needed


kwag
2nd May 2004, 18:44
Original posts are here: http://forum.doom9.org/showthread.php?s=&threadid=72827&perpage=20&highlight=kvcd&pagenumber=16


Nic wrote:


However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library)

And that's exactly right. If he linked QuEnc.exe with the library to make another application/library, then QuEnc would fall under the LGPL (and it would no longer be isolated). That part is to ensure people don't have libraries were part of the code isn't under LGPL.

He must comply with section 6, because he's linking a "work that uses the library" as he admited:


Ok, so from this QuEnc.exe is a "work that uses the Library". That bit, we can agree on. QuEnc is in isolation, because it links to the library and nothing else.


And just because of that, QuEnc.exe is a single executable, with statically bound libraries, so he must comply to section 6, where he essentially must provide a way for people to relink using a different version of the library generating a different executable:


6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and 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.

You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:

a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)

This is the only option for Nic.


b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.

This corresponding to use a DLL or shared library in linux. He has done none of that.

Quote:

c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.

d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.

e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.

@Nic,
And I don't have any problems understanding the licenses, as I speak/read/write perfect English and Spanish ;)

Thanks,
-kwag

Mug Funky
2nd May 2004, 18:58
hire a lawyer then.

don't cross-post. this is already in the QuEnc thread, and does not need to be aired here.

i'll read the LGPL again and get back to you, but i gotta say, you're simply looking for things to complain about.

i said something like this in the other thread: i think you're a nasty piece of work, but please try to prove me wrong.

well?

in contrast to fitCD, moviestacker, or some bitrate calculator, pretty much everyone here uses nic's software almost every day.

please cut the troll. i just wish i was a moderator :devil:

dragongodz
2nd May 2004, 19:04
sorry kwag but you still dont get it so i will try to make it as simple as possible.
examples used lib A and lib B are under LGPL.

if program A links to lib A it becomes a "work that uses the library" and source for program A is NOT required to be given out.

if program A links with lib A to become program B and then program B is linked with lib B THEN source for program B must be given out. because program B is a "work that uses the library" being linking to a new lib. that being program B contains LGPL code which would be hidden if source was not released.

pertenant part
linking a "work that uses the Library" with the Library

so you see QuEnc is only doing the first part and becomes a "work that uses the library". if Nic was to THEN link QuEnc with another library to make another program the source to QuEnc would have to be released.

is that simple enough ?

kwag
2nd May 2004, 19:04
Originally posted by Mug Funky
please cut the troll. It's not a troll. I'm trying to make a point ;) i just wish i was a moderator :devil:
With your behaviour, I doubt you'll ever be one!.

Cheer up!,
-kwag

kwag
2nd May 2004, 19:07
Originally posted by dragongodz

so you see QuEnc is only doing the first part and becomes a "work that uses the library". if Nic was to THEN link QuEnc with another library to make another program the source to QuEnc would have to be released.

is that simple enough ?
dragongodz,

you just don't get it!
QuEnc.exe is statically linked to libraries.
What part of that don't you understand ??????

-kwag

dragongodz
2nd May 2004, 19:07
Mug Funky - blame me for kwag posting this here since the QuEnc thread is not the place for discussions about licenses.

It's not a troll. I'm trying to make a point
oh yes i am sure people can see exactly the point you want to push.

dragongodz
2nd May 2004, 19:10
no kwag its you who doesnt get it. the LGPL ALLOWS linking in the first case. thats what becomes "work that uses the library". until you grasp that you will not understand the LGPL at all.

dragongodz
2nd May 2004, 19:18
int 21h - i disagree.

5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.


and section 6 you just quoted talks about linking a program that already has been linked(became "work that uses the library") to another library. as i already said QuEnc doesnt become "work that uses the library" until after it links with libavcodec.

Mug Funky
2nd May 2004, 19:22
dragongodz: too quick. i've got that chunk of text sitting in ctrl+c space right now...

but to be honest i haven't read the rest of the license. i don't think that matters, as section 5 states that it is "outside the scope of this license".

there's a bit just under it that is interesting, and that i can't answer (though you can because you have access to the sources... so i'll just trust you on this) that states:

When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.

that sounds a little iffy to me... not sure what to make of it.



[edit]

ah, wait. dragongodz is right:

(from kwag's first post)
a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)

that "or" is very important here. even if section 6 applies to Nic (which it doesn't) he wouldn't have to release his sources.

i'm actually of the opinion that QuEnc might be cool if it was released under LGPL or something similar (i said as much in the QuEnc thread), but it's not my place to demand this - i'm not a developer after all, just a happy user (VERY happy user. QuEnc is incredibly useful, and laughably simple. it's damn nice)

please consider this issue resolved, and your needed clarification found.

Nic
2nd May 2004, 19:36
Jeeze, this is stupidity personified....

@int21h + kwag: What? Where does it say that? Does every app that needs the LGPL need to be opensource is that what you think?

Your failing to understand the LGPL. And I just can't believe know one has ever heard of the LGPL here.....

Anyway:



5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.



Please read and understand...read and re-read. Ok, so QuEnc.exe is a "work that uses the Library". yes?

This bit:

However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.

Is for when a "work that uses the library" is combined a LPGL library to perform another library/application "rather than a "work that uses the library"". And seeing that QuEnc is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

Do you understand now? Please contact the GNU or ffmpeg or lame etc for further clarification.

-Nic

ps
@Int21h: I'm really surprised at you, knowing our history, that you'd be so quick to point the finger without getting the fact straights. Consider any so called "friendship" over. Remember who you turned to when you were kicked out of this forum...

dragongodz
2nd May 2004, 19:40
Mug Funky - what that is trying to say(and none to clearly) is that if the program uses headers from the original LGPL library and can be linked without the library or is a library itself then it MAY be a derivative work of the library. the threshold is not clearly defined.

or to put it another way, its trying to say if QuEnc was a library or could be linked to without itself being needed to be linked to libavcodec(yet using the headers) then it MAY be a derivative work of the library. QuEnc is not a library and also can not be linked to etc etc etc. so no its not a derivative work of the library.

i know, clear as mud right ? :)

anyway its after 3am here so i am off to bed. have fun kiddies. :D

dragongodz
2nd May 2004, 19:46
int 21h - yes you are wrong. :D

read my post earlier to see where it says you can link to LGPL library not just use a .dll.

Nic - didnt i say all that just shorter ? :)

ok now i am really off to bed. promise.

Mug Funky
2nd May 2004, 19:51
lol @ dragongodz.. i just got a look at the time.

man, we've got to get ourselves lives :rolleyes:

(btw, 3:48am)

[edit]

this just occured to me:

Kwag, why the **** didn't you just PM nic? i hate grandstanding! it's a useless waste of everybody's time, and very rarely helps anyone. public discussion should be a last resort, not a first one (and i know this counts Ssh's thread - i'm kinda down on him about not PM'ing Mauddib, but that's another discussion)

kwag
2nd May 2004, 19:54
Originally posted by int 21h
P.S. - We all know kwag is a troll,
Thank you! (I really love the "high standards" that are talked about this site!)I don't agree with what kwag is doing here, And I don't agree with what some people from "here" were doing over at our site either! I was simply expressing my opinion on the license itself and this particular instantiation.
Which any lawyer will clearly give your same opinion ;)

-kwag

Nic
2nd May 2004, 19:59
I honestly don't mind the grandstanding... :) Because I know i'm right.lol.

The bigger the publicity the more people will see kwag is wrong and they will understand what the LPGL means :)
(that isn't an attack at kwag, he has the right to question and the license (like many legal documents) doesn't use the simplest english)

Anyway, I'm 100% sure im right. What I've posted proves Im right. But just to be 110% I've posted the question to the ffmpeg development list so it will be even more public.

If I'm proven wrong ill be sure to correct the error immediately. :)

Take Care,
-Nic

adam
2nd May 2004, 20:02
Nic is an organization, so its ok.

Sorry, couldn't resist. No offense intended to anyone.

Mug Funky
2nd May 2004, 20:05
kwag, next time you want to make a claim like this (ie. patently wrong)

CONSULT A LAWYER FIRST

really, you can't go around making these wrong claims, and standing by them like some stupid politician (dragongodz will know what i'm talking about here). without at least a token effort to get your facts straight.

you're a moderator at KVCD! what does it say about the standards of some forums if their moderators will join other forums and start flamewars (Neo didn't start anything btw, and you very politely deleted his account from what i gather, something that doom9 isn't likely to do to you unless he has very good reason to, no matter how much anybody here might dislike you)

again, you're not demonstrating to me the nice guy you seem to believe yourself to be. all i see is a mad troll. (i could think of some other things to say, but i'd get a strike under the forum's rules)

if you've got nothing useful to say at all, then be gone. you started this thread with a legitimate question - you wanted the LGPL clarified. but now it's been made clear, you don't seem to be contributing anything but hate.

i really can't believe some people. why you waste time trying to get everyone all stirred up, when you might actually have something good to offer the community.

as a rule i live my life by, i respect everybody equally when i first encounter them. that's a good way to work - hear people out, get their point of view, learn from it. you can learn from anybody, honestly.

but if a person gives me no reason to continue to respect them, i will not respect them. it's simple.

you, my friend, have given the people of this forum no reason at all to respect you, but plenty of reasons to be wary of you, and mistrustful of you.

i find that very sad. it speaks volumes about your character. i wont speculate as to what your social life might be.

int 21h
2nd May 2004, 20:21
After reading the original QuEnc thread again, and consulting the LGPL further, I have retracted all of my previous statements, and apologize for contributing to this huge waste of time.

Mug Funky
2nd May 2004, 20:22
no hard feelings, int.

hehe... if i had to count my stupid posts i'd run out of digits pretty quickly

very gracious

Doom9
2nd May 2004, 20:23
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.Assuming Nic has not made any changes to libavcodec (and nobody alleged or proved that he has), I'd think the way it is compiled falls under is designed to work with the library by being compiled with it

The option int21h mentioned would be how LGPL libraries are usually used.. that is an external dll (thus is designed to work with the library by being linked with it).

btw kwag All KVCD templates, KVCD Quantization Matrix, and the contents of this pages unless otherwise specified are Copyright (c) 2002, 2003 of Softronex Corporation.How on earth can you claim copyright on a TMPG template or a quantization matrix? Take matrices for instance.. anybody could release every possible number permutation that can be used in a quantization matrix, claim copyright on it, then sue everybody using a quantization matrix in an encoding environment. According to my country's copyright law, a quantization matrix cannot be protected, neither can a TMPG template as it is neither a work of literature nor art that has individual character, and it also does not fall under the software protection statute. And since copyright laws are essentially comprised of the same paragraphs in almost every country, I suspect that there'll be many other countries where you cannot possibly claim copyright on those kind of things. So maybe you'd like to clean up in your own backyard before attacking anybody else.

DDogg
2nd May 2004, 20:23
Originally posted by nic [added]
If I'm proven wrong ill be sure to correct the error immediately. Yeah, and that is what separates you, and int 21h for that matter, from "he who shall not be named" :)

All this crap is coming from a person that seems to want to make many things "proprietary" to his site. Jeeze, even something as common as a matrix <big, big rolleyes here>. As I have mentioned before, I personally believe actions like this raise serious questions about the purpose of this person's agenda. Clearly there seems to be some need, or obsession, to "own" things which may explain his seeming hatred of the GPL. Whether this need is for commercial, or personal reasons of need, I don't know.

Added to this breach, is the seeming compulsion to never acknowledge any mistakes and obfuscate when a simple apology for his actions would have cleared the air. For me, and strictly speaking at a personal opinion level, the very small credibility this person may once have enjoyed has been destroyed utterly and completely.

Doom9
2nd May 2004, 20:27
@ddogg: I think while we were posting int21h just made a 180..

Nic
2nd May 2004, 20:30
Well, it appears, on further research I could be wrong and that libavcodec needs to be either a DLL or that I need to release QuEnc as a lib or release it's obj files (so that QuEnc could be relinked if necessary...although that would do no one any good ??)

Although im not sure on this...ill however comply with what ever the guys at ffmpeg say...

I'll keep you posted...either way, I dont have to release the source...

-Nic

DDogg
2nd May 2004, 20:37
@ddogg: I think while we were posting int21h just made a 180.. Yep, I see that, but then that is what I was saying. Hopefully I was clear. People like nic, int21h, and yourself are willing to post a clear apology, or retraction of a statement when you feel you erred. That is not easy to do, and is something to be greatly respected in a person. The inverse of that is fairly clear, I hope. /add: Hells Bells, they are both a flipfloppin' like fish :-D

kwag
2nd May 2004, 20:40
Originally posted by Doom9
Assuming Nic has not made any changes to libavcodec (and nobody alleged or proved that he has), I'd think the way it is compiled falls under

Really?
Then read, quoting Nic:
"I'm also working on adding higher than 8 bit DC precision to libavcodec, but it's not very straightforward...

Which is already working on the current version of QuEnc, so modifications to the sources were made.


Also:


"Release the sources?
Some forums and their users...well, one in particular...are run by people that think the GPL is b*llcr*p. That doesn't make me feel like releasing the source code because people might just rip it off, and seeing that libavcodec is LGPL, I don't have to release the source.
Of course, I have given the sourcecode to other people, dragongodz for example has it, but he knows not to give it out. And I know any changes he makes will be passed back to me, etc. So, basically anyone I can trust can get it.

-Nic"


btw kwag How on earth can you claim copyright on a TMPG template or a quantization matrix? Maybe you should ask our corporate lawyers, who do all the paperwork ;)
You really think we would post that, if it wasn't true?
My friend, I've been in the industry for 20+ years, and I'm pretty sure of all the things we do.

Regards,
-kwag

Nic
2nd May 2004, 20:43
@kwag: Read the mailing list about the DC precision. It's in libavcodec inside the CVS. Look at the recent changes in the cvs. for ffmpeg.c mpeg12.c and mpegvideo.c So all that code has been released (in the end it was Micheal that made the changes)

-Nic

kwag
2nd May 2004, 20:49
Originally posted by Nic
@kwag: Read the mailing list about the DC precision. It's in libavcodec inside the CVS. Look at the recent changes in the cvs. for ffmpeg.c mpeg12.c and mpegvideo.c So all that code has been released (in the end it was Micheal that made the changes)

-Nic
Saw it.
That part is very clear now.

-kwag

DDogg
2nd May 2004, 20:57
Just for point of fact, I very intimately know a person who copyrighted the use of the "VCR Bar Interface" in 1989 or 90 for his company which did a GUI based database on Amiga, GEM (anybody remember GEM?), and Windows. You know, the << <||> >> type of thing. Without doubt they were the original users of this interface and achieved copyright. So what? It would have been idiotic to attempt to gain anything from this, and it certainly had far more legitimacy that some silly encoding matrix.

wmansir
2nd May 2004, 21:07
Nic, if you statically link with a LGPL library you don't have to release the source code. Among the other provisions of section 6 (give credit,ect) you can provide your program "as object code and/or source code" to allow your program to be recompiled/linked with other versions of the LGPL'd library.

int 21h
2nd May 2004, 21:19
Originally posted by kwag
...Maybe you should ask our corporate lawyers, who do all the paperwork ;)...


Can I assume we can reach you here:

Karl Wagner
PMB 33 P.O. Box 70171
San Juan, PR 00936-8171

787-753-3405

If so, is that where we should direct our legal inquiries or do you have an address that we can have direct interaction with your counsel?

int 21h
2nd May 2004, 21:25
Originally posted by Doom9
@ddogg: I think while we were posting int21h just made a 180..

I don't want my opinion to be interpeted as a personal attack against someone that I respect. I respect him so much so that I know he will take the correct course of action.

I was only posting because, as noted, most other programs that interact with LGPL libraries, dynamically link to the library (lame_enc.dll, etc.) This is obviously not to be confused with programs that link to GPL libraries (like Vidomi, who eventually lost their argument with AveryLee), who have to be GPL as well.

From http://lame.sourceforge.net/license.txt
Can I use LAME in my commercial program?

Yes, you can, under the restrictions of the LGPL. The easiest
way to do this is to:

1. Link to LAME as separate library (libmp3lame.a on unix or
lame_enc.dll on windows)

2. Fully acknowledge that you are using LAME, and give a link
to our web site, www.mp3dev.org

3. If you make modifications to LAME, you *must* release these
these modifications back to the LAME project, under the LGPL.

kwag
2nd May 2004, 21:34
Originally posted by int 21h
Can I assume we can reach you here:

Karl Wagner
PMB 33 P.O. Box 70171
San Juan, PR 00936-8171

787-753-3405

If so, is that where we should direct our legal inquiries or do you have an address that we can have direct interaction with your counsel?

Like this:

Softronex Corporation
Attn: Legal Department
PMB 33 P.O. Box 70171
San Juan, PR 00936-8171

-kwag

Nic
2nd May 2004, 21:48
Well, it looks like I was wrong. I was sure that I was right, but I was wrong....

Well spotted kwag, sorry if there was any bad feelings between us, you were right in some aspects, thanks for opening my eyes. You learn something new every day :)

Well QuEnc 0.50 is out
http://nic.dnsalias.com/QuEnc.zip

Now comes with a normal cvs compile of avcodec.dll.

So there, that's the end of the LGPL issue. I'm glad it can be resolved. :)

Is that ok with everyone now.... ?

Cheers + Sorry for all the comotion,
-Nic

ps
@Int21h: My bad, sorry mate, "flew off the handle" as we say here. Shouldn't have written what I did. I hope no hard feelings. I owe you a beer in apology :)

int 21h
2nd May 2004, 21:54
Originally posted by kwag
Like this:

Softronex Corporation
Attn: Legal Department
PMB 33 P.O. Box 70171
San Juan, PR 00936-8171

-kwag

Is patent pending for the KVCD matrix? From what I've read you can't copyright it, you must patent it.

kwag
2nd May 2004, 22:00
Originally posted by Nic
Well, it looks like I was wrong. I was sure that I was right, but I was wrong....

Well spotted kwag, sorry if there was any bad feelings between us, you were right in some aspects, thanks for opening my eyes. You learn something new every day :)


So there, that's the end of the LGPL issue. I'm glad it can be resolved. :)

Is that ok with everyone now.... ?

Cheers + Sorry for all the comotion,
-Nic

I have the highest respect for you, there are no hard feelings, between you and me there never were, there was nothing personal ever, I was just trying to make a point.

Keep up your good work :cool: Hope I can buy you a beer one day, even if I'm the guy some people here LOVE to hate. :D

Cheers,
-kwag

Neo Neko
2nd May 2004, 23:41
Originally posted by kwag
I have the highest respect for you, there are no hard feelings, between you and me there never were, there was nothing personal ever, I was just trying to make a point.

What point are you trying to make? People make mistakes. But people need to take responsibility for their mistakes. Which is exactly what Nic did. Quite the opposite of what has happened elsewhere. You see at first Nic did not think there was any problem. But he actually listened to what others had to say and took the time to actually think about it. And in the end there was a problem. Though not the one that was raised. But it was still solved none the less. The important thing to note is that no one publicly backpedaled and lokced threads in hopes that their mistakes will be forgotten if the threads moves off the top of the page. Or never deleted posts for misleading reasons. It is hardly in ones interest to make a point against onself. :p Kwag you may notice that I have an active member account there with which to post but no one has been in your general forums pushing your problems. ;)

The funniest part of this is that even though some like myself were hard on you for your indiscretion and refusal to admit you were wrong over at KVCD.net. [Though we would have been happy to forget and forgive if you had.] We had the tact and courtesy to keep it in the original thread and not cross post. Chances are that over at KVCD.net anyone who does not read the movie stacker forum has no real idea of what transpired or how you handled yourself. Just as if you had kept it to the MPEG 1/2 encoding forums here where it started our general community would not have had confirmed what we had simply previously claimed. Far be it from me to keep anyone from publicly burning their karma.

If you really enjoy this Kwag by all means tell us if you find any more such cases. I actually think that if you are commited to it that with a little anti-fud work on your posts it could be a valuable service. And help to show the great integrity of our members/friends and that we are in no way hypocrites. ;) You bring out the best in us Kwag and let us all shine. If only there were a way for us to reciprocate. Unfortuantly I am at a loss as you have immediatly rejected most warnings and advice we have offered.

Mug Funky
3rd May 2004, 03:34
nic: good form. personally, that part of the LGPL is a bit of a grey area, but it's better to be safe than sorry for sure.

Kwag: well spotted... doesn't change my opinion of you one bit though :)

i would like to have a beer with you though... don't get me wrong. i love beer and conversation.

dragongodz
3rd May 2004, 07:41
I was just trying to make a point.
that you are a two faced prat ? yep you made it alright. :)

your statements of utter hate of the GPL and then trying to use LGPL(as if you respect that any better) show exactly what type of person you are. also you are fond of posting of how any lawyer would back up everything you say. prove it. no i dont mean with one on your payroll but an independant lawyer that specialises in copyright. otherswise stop with the "Which any lawyer will clearly give your same opinion".

but as already said by Neo Neko it also proves Nic is willing to solve the issue(in less than a day no less), though from rereading he could have just released the object files aswell, instead of trying to squirm out of it. i mean adam did give him a good out we would have all believed right ? :D

avih
3rd May 2004, 10:42
let's cut it off guys.