Lothar said:
With this i think i could supply only the diff, the original tgz file
and put a paragraph like this on the website.
--------------------
If you want to use your own FOX library with this program you can substitute the
delivered "fox.so" by downloading the files "patch.diff" and
"fox-1.1.51.tgz" (or your compatible one) from my website and then build
it with the following command line:
tar -xzf fox-1.1.52.tgz ; patch "patch.diff" "fox-1.1.51" ; cd fox-1.1.52; .configure ; make
Replace "fox.so" in the program directory with the freshly build
".lib/fox.so" file.
--------------------
And then i put a small comment to all the other things i tell my user
in the About box.
Is this okay ?
I think that's ok, but like I said, I don't fully understand the
license. I don't think you could get away with linking to
fox-1.1.51.tgz on another website. I think the intent of the LGPL is to
ensure that if you're using an LGPLed library, other people can build it
too. If somehow the original fox-1.1.51.tgz got moved or removed, you
would still have a full and complete distribution on your site.
BG> "For an executable, the required form of the "work that uses the
BG> Library" must include any data and utility programs needed for
BG> reproducing the executable from it. However, as a special exception, the
BG> materials to be distributed need not include anything that is normally
BG> distributed (in either source or binary form) with the major components
BG> (compiler, kernel, and so on) of the operating system on which the
BG> executable runs, unless that component itself accompanies the executable."
This could be a show stopper for LGPL libraries, especially on windows.
How can i include a commercial compiler like MSVC (it's free for
download but you can't distribute it on you own website) into my
modified library ?
There are LGPL'ed Delphi libraries available, how can they confirm
with the license.
As someone else posted, I think that paragraph says that you don't need
to include components that are normally distributed with the compiler or
kernel of the operating system on which the executable runs.
In other words, in your example above, you use "patch", but since
"patch" is normally provided with a development environment, you don't
need to provide it. If, on the other hand, you used some very
specialized tool that doesn't normally come with the compiler (say a
custom C preprocessor) then you may need to redistribute it.
What happened when in 4 years someone want to compile the program and
the compiler evolved backward incompatible ?
I don't think that's your problem to solve. If the original tarball you
modified wouldn't work with the new compiler, it's not up to you to make
it work. If you happen to know that there are specific dependencies in
your modifications so they only work with one compiler, you might need
to document that.
Right i wish that more people would offer there libraries under a BSD
license. I guess that most people would stop using LGPL libraries if
they knew all the problems that can raise from the simple use.
But as far as i know no court in the world had ever accepted the LGPL,
there are only a few cases for the GPL and this license seems to be
compatible with the current law (at least in the USA and in Germany).
Reading only a few sections of the LGPL then i think that it is just
an invalid license.
There's a fundamental difference in the BSD and LGPL licenses. The BSD
license is as close as you can say to "Here's something I created, do
what you want with it, just don't blame me if it's broken." The GPL is
fundamentally different. It says "Here's something I created. Do what
you want with it, but don't try to use it in a selfish way. If you make
fixes or add features, share them! Oh, and don't blame me if it's broken".
I think the BSD license is fundamentally more generous. If someone
wants to be completely selfish, they're free to do so. If they want to
share their fixes, they can do that as well. It's obvious why
commercial developers prefer to use BSD licensed code. They have very
few obligations when they use it. They can basically be as unscrupulous
as they want with it.
The GPL is an extension of political beliefs. The people behind it
think the world would be a better place if information were shared
freely. They don't mind anybody in the world sharing the fruits of
their labour. They just want to make sure that if you benefit from
their hard work, that they benefit from your hard work as well. They
want to make sure the exchange is a 2-way one, where you can't take
something without giving back.
With my stuff, the license I would use would depend on what it was I had
made. If it was some nifty little tool that was generally useful and
not terribly complex, I'd be happy to use a BSD like license, to make
sure that as many people as possible could benefit. On the other hand,
if I spent a really long time on something, pouring hours of work into
it, and decided to give it away, I'd want to make sure that someone
couldn't turn around and refuse to share. I'd want to make sure that if
someone created some product that was 95% my work and 5% their work,
they couldn't reap 100% of the rewards. In that case, I'd consider the GPL.
What is it that makes you think the LGPL is invalid? Are there
contradictory terms in the license?
The thing to remember about the LGPL and GPL is that they each mention
one thing: "You don't have to accept these terms, but nothing else gives
you the right to modify and redistribute this software". Really, I
think the GPL and LGPL are great. They give you the option of using all
kinds of software that otherwise might not exist. Sure, sometimes it's
annoying because if you want to make use of the software, you all of a
sudden have to follow all kinds of rules, but if that outweighs the
usefulness of the software, there's nothing forcing you to use it.
Ben