views:

199

answers:

2

I would like to ask you some questions about LGPL, I've used a library written on PHP with license LGPL, I had made software and I'm not license it using LGPL or GPL,

The libraries is a class' form I had modified the libraries and made a class to access the library, and I access the library through that class, but I'm not make it inheritence from it, I was just make a object definitions

for example Library's file is only one ie: libraries.php licensed under LGPL v 2.1

The following are file which access the library ie: Access_lib.php

<?php
/* Non-GPL and non-LGPL */
include libraries.php

class Accsess_Lib{
      function read($n){
            $obj = new libraries($n);
           return $obj;
      }
}
?>

and I had made another file to access the Access_Lib ie: Program.php

<?php
/* Non-GPL and non-LGPL 
 */
$d =  new Access_Lib();
$d0 =  $d->read('data');
# access database.php
include database.php;
$c = new Database($d0);
...
# access view.php
include view.php;
view($c);
?>

and the above file (Program.php) access several files (non-LGPL and non-LGPL) too ie: database.php and view.php

As I know that when we used LGPL lincensed libraries, we can make our software not licenced using LGPL or GPL. but there is few things that make me still don't understand.

I had few questions about that

  1. Had I violated the LGPL License because I wanted to license my program into something else including two files that associated with the libraries(ie:Access_lib.php, Program.php) and several files that depend on libraries (ie:database.php, view.php), on the above example and the libraries.php remains LGPL?

  2. Does Access_lib.php and Program.php must be licensed LGPL too because I had modified libraries.php and because of this following statement I'd picked from LGPL v.2.1 portion. I took a portion of LGPL v 2.1, it's said that

"2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library.

b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.

c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.

... These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. "

  1. what does it mean "whole of the work" on

    "c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License." [portion of LGPL v.2.1]

    does it mean "modified copy" of libraries.php or "whole files" that access the libraries.php like Access_Lib and others, or what exactly it's means?

  2. what does it mean "derived" from the 1st LGPL portion statement that I'd qouted before, does any file that use libraries.php is derived work?

  3. which files that must be licensed LGPL, is it only libraries.php (with the modifications)?

  4. does the explanation about LGPL v 2.1 at http://creativecommons.org/licenses/LGPL/2.1/ about these statement

"If you modify your copy or copies of the library or any portion of it, you may distribute the resulting library provided you do so under the GNU Lesser General Public License. However, programs that link to the library may be licensed under terms of your choice, so long as the library itself can be changed. Any translation of the GNU Lesser General Public License must be accompanied by the GNU Lesser General Public License"

is it correct and suit to what I've done in the first question?

I'm sorry for my bad english, Thank for the incoming explanations, I hope anyone could help me.

A: 

First and foremost, I am not a lawyer, but I've read a lot about this and talked to a lot of people about it. Please note that I will not be held responsible for any mistakes I tell you. If you want to be certain, contact a lawyer. All I can give you is my understanding as an experienced programmer. Even if I tell you patent absurdities which directly result in you getting into legal trouble, I renounce any responsibility whatsoever.

Your situation seems to be safe. You are allowed to link to the library, and even if you have a file that includes the LGPL'ed library, that constitutes linking, not derived work.

Basically, if you don't edit any code that is a part of the library itself, you're safe to distribute your work under any license you please.

It may help to understand the purpose of the LGPL. The precise purpose of it was to accommodate people who wanted to make open-source/free libraries which would be allowed for commercial use, provided that the libraries themselves were not changed.

Even if you derive a class from another class in the LGPL'd library, that would not constitute a derived work. If you change the original class, then it's considered derived work. But merely using the library, whether through C/C++ style linking, PHP-style include or by inheriting classes from it, is not derived work.

It SEEMS like you're not altering the libraries you're using, but this particular phrase here confuses me a bit: "The libraries is a class' form I had modified the libraries and made a class to access the library"

If you've modified the files that came with the library, then you must legally publish your program under LGPL.

If you have not modified the files that came with the library, you can include and distribute under any license you want.

Hope this clarifies.

I must stress that I am not a lawyer and that you should not consider my opinion legally conclusive on this matter. Believe me at your own risk.

Helgi Hrafn Gunnarsson
A: 

I've altered the library (LGPL v.2.1) a bit to make it can be used in my app.

In order not to be bound the LGPL term anymore, I remove the library (libraries.php LGPL v2.1) (not use it anymore)
but I still use the function call that used in LGPL library before,
(I make my own library (non-LGPL and non-GPL), I altered the function call name so it not attach to libraries.php (LGPL) anymore and hope not violated the LGPL)

for example: I altered few function call that access the old library (LGPL) in Program.php

old libraries (LGPL) has get_data function call

$d0->get_data($i);

but I altered it into get_line function call on my library (non-LGPL and non-GPL)

$d0->get_line($i);

Is it violated the LGPL
I make my own library (the codes not taken from old library)
but I make my function call similiar to old library (LGPL) because I want to use existing code in Program.php (without mayor changes)?

Do I still be bound to LGPL because I used same files that I use to access the LGPL library before?

awaludin