From: David Ross Date: 2004-08-07T13:31:28+09:00 Subject: Re: Amazing GUI toolkit with visual designer & Ruby Integration > I've read a few articles that state that LPGL has > some strange legal > quirks and that it'll be fascinating to see what > happens the first time > it's seriously challenged, if, unfortunately, that > happens. > A violation in a license can result to court action. Possibly, the GNU organization would take action in court. They have a page asking for any infrigements on any software that has violated licensed under *GPL. > I hadn't heard of the reverse-engineering clause. > That seems bizarre. > What does that accomplish? It seems like > static-linked LPGL is a broken > license. > The reverse-engineering clause is number 6 in the link listed below. http://www.gnu.org/licenses/lgpl.html This clause has a few rules to it. Mainly I take offense of what the main clause 6 says. I will organize this in to sections. I have been reading books on how to read lawyer(non-human) reable documents. Definitions: a work - this means the final application, this does not mean just a library. The program(a work) as a whole. All that you have packaged with your release. 1> 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, 2> and distribute that work under terms of your choice, 3> provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. 1> Now, this means that you may include or link code from that library to your program. 2> You may license your program with the license of your choice. 3> Now, The next meaning of the clause means that you *have* to allow debugging, *plus* you have to allow people to disassemble your code and modify it. Using a normal disassembler to get assembly code is very easy. There are also reverse compilers which can turn code back in to the original code that is almost like the original sources. Assembly is very easy, but it takes knowledge and experience. You can do anything by assembly you can do with any language. You can also create libraries for assembly, which make it even easier to create addition code for programs. > My other question: what is the compelling reason to > statically link, > rather then dynamically link? And, are there in > between modes (lazily > linked?) that make the clauses grey? I would almost > imagine that the > definitions of statically linked vs. dynamically > linked could eat up > months of court time :). Good question. Reasons? 1> A developer might only want to distribute 1 binary. 2> The developer might want to statically compile the library with thier own libraries for thier use instead of including many other libraries. A complete work will take use of many libraries, possible many under *GPL. 3> Certain statically compiled code is faster than dynamically compiled code. It depends what code you are linking. 4> there might be other reasons to compile statically which I have not mentioned. > > Regards, > Nick ---------------------------------------------------- drossruby@yahoo.com --David Ross __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo