Intellectual Property Forums (http://www.intelproplaw.com/Forum/Forum.cgi)

(Message started by: hamea on Jun 24th, 2007, 10:28am)

Title: Implications of using code under LGPL license
Post by hamea on Jun 24th, 2007, 10:28am
I am writing to get your assistance in understanding the implications of including a particular library (information given below) that is under a LGPL license into commercial software.  

In particular, we are using the library to incorporate cross-browser XML parsing capabilities into our commercial product.  Rather than using the library “as is,” we will need to delete and rename some objects within the library to make them consistent with our naming convention before incorporating it into the rest of our code base.

Could you clarify the notice and other requirements that we need to meet in order to ensure compliance with the LGPL license?  Also, it will be greatly helpful for us in the future if you could provide an idea of what kind of situations does LGPL code become viral.

Lastly, I have been trying to find a resource that presents a simpler English language version of the OS licenses for people like myself who are not familiar with the license legalese.  If you are aware of any such resources, it would be of great help to me as well.


Title: Re: Implications of using code under LGPL license
Post by JimIvey on Jun 25th, 2007, 4:23pm
Okay, you're getting close to the limits of my competence, but I do know a little about open-source licensing.

First, you realize that the LGPL allows you to incorporate the library into your commercial code so long as it stays in the library.  To the extent you make modifications to the library, you'll probably be required to release your modifications to the library under the same terms of the LGPL.  But, the remainder of your commercial code remains yours, as I understand it.

Here's the viral nature of it.  Suppose you decide to incorporate some of the modules of the library into the body of your code, e.g., for performance reasons.  Under the terms of the LGPL, you may be required to release the source of your entire product.  You really must maintain a clear distinction between the library you're using and the remainder of your code.  Any modifications you make to the library will end up belonging to the community, as I understand it.

Re "English" translations: As a patent practitioner, I'm very reluctant to admit that any restatement of anything is 100% accurate.  In my line of work, there are no synonyms.  However, the LGPL is in English, not quite Hemmingway or Steinbeck, but English (more like Faulkner).  A few hours of careful study, and you should be able to figure it out.  My understanding is that most open source licenses are a few pages in length -- 4 or so.  Don't know for sure.

Regards.

Title: Re: Implications of using code under LGPL license
Post by Isaac on Jun 25th, 2007, 9:25pm

on 06/25/07 at 16:23:53, JimIvey wrote:
First, you realize that the LGPL allows you to incorporate the library into your commercial code so long as it stays in the library.  To the extent you make modifications to the library, you'll probably be required to release your modifications to the library under the same terms of the LGPL.  But, the remainder of your commercial code remains yours, as I understand it.


I believe that in order to use LGPL code in this way, you'll have to dynamically link to the LGPL covered library or provide an alternative (and probably more cumbersome) method that allows your users to link new versions of the library to your code.  


Title: Re: Implications of using code under LGPL license
Post by JimIvey on Jun 25th, 2007, 10:43pm
Well, let's take a quick look:


Quote:
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.)
   * 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.
   * 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.

For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.

At first glance, it looks like you can distribute your object code (withholding your source code) with source code of the library as you use it so long as the end user can modify the library and re-compile/link using your object code.  So, it looks like static linking might be okay if you touch all the right icons.

Regards.

Title: Re: Implications of using code under LGPL license
Post by still_studying on Jun 29th, 2007, 1:14pm
Be aware that, a few years ago, Stallman was pushing a new version of the LGPL which would demand that any product using the library be an open-source product.  I don't know how well it's caught on.

Also, to avoid having to publish the code with the renamed functions, if your editing is just for naming conventions, and assuming there are no conflicting names, you might consider writing some wrapper code instead of editing the library code.  It'd add to the overhead, but it would avoid the publishing issue.  Depends on whether your code is already eating up CPU.  Something like:

foo_following_conventions() { libraryfoo() ; }
bar_following_conventions() { librarybar() ; }

Title: Re: Implications of using code under LGPL license
Post by hamea on Jun 29th, 2007, 2:39pm

on 06/25/07 at 16:23:53, JimIvey wrote:
Re "English" translations: As a patent practitioner, I'm very reluctant to admit that any restatement of anything is 100% accurate.  In my line of work, there are no synonyms.  However, the LGPL is in English, not quite Hemmingway or Steinbeck, but English (more like Faulkner).  A few hours of careful study, and you should be able to figure it out.  My understanding is that most open source licenses are a few pages in length -- 4 or so.  Don't know for sure.


Who is determining accuracy anyway.  Without any court decisions interpreting the legal meaning of these 4-page license provisions, it is a very subjective standard.  Is there anyone out there actually enforcing these licenses?
I am just looking for a resource that can tell me at a high level what the user obligations are for each license under different circumstances

Title: Re: Implications of using code under LGPL license
Post by JimIvey on Jun 29th, 2007, 4:12pm

on 06/29/07 at 14:39:51, hamea wrote:
Is there anyone out there actually enforcing these licenses?

I don't believe an open source license has ever been litigated.  I forget the name of the company that was going to sue IBM and all Linux distributors; that was expected to be the first test in court.  But I believe those suits went away.

Still, from what I can tell, the industry takes open source licenses very seriously -- genuinely trying to avoid breach of the license.

Regards.

Title: Re: Implications of using code under LGPL license
Post by hamea on Jun 30th, 2007, 11:06am

on 06/29/07 at 16:12:06, JimIvey wrote:
I forget the name of the company that was going to sue IBM and all Linux distributors; that was expected to be the first test in court.  


SCO v. IBM

Title: Re: Implications of using code under LGPL license
Post by JimIvey on Jun 30th, 2007, 11:25am
Thanks.  That's the one.

Title: Re: Implications of using code under LGPL license
Post by Isaac on Jul 2nd, 2007, 11:53am
SCO v. IBM hasn't gone away yet, but I'm not sure it is really a GPL case.

There was also a fairly recent case in which a pro se named Wallace sued IBM and others for anti-trust activity arguing that releasing GPL code for free unfairly eliminated competition because Wallace couldn't sell his own programs for a cost above 0.

Title: Re: Implications of using code under LGPL license
Post by JimIvey on Jul 2nd, 2007, 3:53pm

on 07/02/07 at 11:53:41, Isaac wrote:
There was also a fairly recent case in which a pro se named Wallace sued IBM and others for anti-trust activity arguing that releasing GPL code for free unfairly eliminated competition because Wallace couldn't sell his own programs for a cost above 0.

Yeah, I remember hearing about that.  How I imagine IBM et al. responding: Huh?! WTF?!  So, if I give away a Beta VCR I'm no longer using, that's predatory pricing aimed at all eBay used electronics sellers?  More obsurd is the notion that code warriors, working from home and just letting everyone use their code for free, are in any way exhibiting predatory behavior in the market.

I suppose an interesting result would be to find for Wallace and award him/her a royalty of the revenues collected by OSS distributors from distribution of the predatorily priced software, in effect disgorging the evildoing market giant here of all its ill-gotten financial gains derived from giving things away for free.

At the same time, I understand the frustration of someone who's built a business around providing software only to find yourself competing against a collection of volunteers.  But, as the global economy becomes more free flowing, we're all going to have to get used to competing with people who are willing to do more for less.

Regards.



Powered by YaBB 1 Gold - SP 1.3.2!
Forum software copyright © 2000-2004 Yet another Bulletin Board