Licensing
Posted: 23.11.2005, 17:01
I just studied the LGPL license a little bit closer, and I found one little thing which I hadn't previously noticed.
Specifically, section 6 states that if you create a program which uses the ZeosDBO library ("a work that uses the library"), then the end user must be able to modify or upgrade the ZeosDBO library within that distributed program.
As the license states, this may take one of several forms, but the two that seems most relevant for companies producing "work that uses the library" would be either to 1) link with the library in its BPL form, in which case the user can simply upgrade the BPL file, or 2) compile the source code into the end-user product (use the ZeosDBO pas/dcu files directly in the program) and ship either the source code or the object code (all dcu files) of the end-user product with the binaries, so the end user can himself recompile the entire program himself.
(There is also the option of providing the end user with a written offer to provide the source code or object files within a time span of three years, should the user wish to relink the object code against, say, new versions of the library.)
Needless to say, this alternative - of shipping the dcu files of their program and any other libraries, so the end-user may himself relink the software - is unthinkable for most software companies. And thus the only option would be to ship the program with a separate BPL file, and not statically compiled into the executable.
The Teem project seems to clarify the LGPL somewhat as regards to its own stance: http://teem.sourceforge.net/lgpl.html
Provided that I have indeed grasped the full meaning of LGPL correctly, what's your take on this?
Regards, Matt
Specifically, section 6 states that if you create a program which uses the ZeosDBO library ("a work that uses the library"), then the end user must be able to modify or upgrade the ZeosDBO library within that distributed program.
As the license states, this may take one of several forms, but the two that seems most relevant for companies producing "work that uses the library" would be either to 1) link with the library in its BPL form, in which case the user can simply upgrade the BPL file, or 2) compile the source code into the end-user product (use the ZeosDBO pas/dcu files directly in the program) and ship either the source code or the object code (all dcu files) of the end-user product with the binaries, so the end user can himself recompile the entire program himself.
(There is also the option of providing the end user with a written offer to provide the source code or object files within a time span of three years, should the user wish to relink the object code against, say, new versions of the library.)
Needless to say, this alternative - of shipping the dcu files of their program and any other libraries, so the end-user may himself relink the software - is unthinkable for most software companies. And thus the only option would be to ship the program with a separate BPL file, and not statically compiled into the executable.
The Teem project seems to clarify the LGPL somewhat as regards to its own stance: http://teem.sourceforge.net/lgpl.html
Provided that I have indeed grasped the full meaning of LGPL correctly, what's your take on this?
Regards, Matt