[fpc-devel] LGPL vs BSD
Jonas Maebe
jonas.maebe at elis.ugent.be
Fri Aug 4 11:34:37 CEST 2006
On 4 aug 2006, at 11:09, Graeme Geldenhuys wrote:
> The BSD license is starting to sound like a much easier license than
> the LGPL, as long as you are not interested in changes made to the
> library by others.
That's correct.
> I guess it is fair if you think of it as follows. If a company
> invests a $1mil per year to improve a library for commercial use
> (think along the lines of Qt here), if it was LGPL'ed, they had to
> give all that work away which doesn't make financial sense.
It depends. It's quite possible that by releasing your code, other
people will in turn improve on that and cut your future development
costs a lot. That's why companies like IBM, Intel and Apple all work
more and more on gcc nowadays. Apple already gave up it's own
compiler (MrC) and I know that at least IBM has transferred engineers
from its own xlc to gcc.
From an economic point of view, open sourcing your stuff makes most
sense for infrastructure frameworks and tools. After all, you can't
really differentiate yourself with those things (or not enough at
least), while it nevertheless costs a lot of money to get it all
right. In those cases, that $1mil per year is basically wasted money
which could have been spent on more useful and differentiating stuff,
rather than some precious investment which you want to keep to yourself.
And once your competitors start cooperating on an open source
infrastructure which replicates your functionality, you're actually
at a competitive disadvantage if you keep trying to reinvent the
wheel on your own. After all, you are competing against the combined
resources of your competitors. You may have some efficiency
advantages because you are in full control of everything, but there
is a limit to that.
Also, things which differentiate today, may be a commodity tomorrow.
So over time it may be that the optimal strategy changes.
> But if it
> was BSD based, they could decide what they wanted to release back to
> the community in good faith (think Mac OS X here).
I think you are confused here. The BSD-licensed stuff in Mac OS X is
mostly low-level stuff. Most of the proprietary stuff are high level
applications (like the GUI/window manager and most end user apps),
and several of them do link (dynamically) against LGPL libraries. You
cannot call Mac OS X "BSD licensed", and the fact that it
incorporates parts of the FreeBSD kernel and some libraries is not
the reason that the upper layers can be closed.
Most of Apple's releases back to the community also make sense from a
business point of view rather than merely "good faith". If their
patches are incorporated upstream (i.e., in the open source project
they use), then they don't have to maintain and merge those patches
anymore when a new version comes out which they want to use.
Additionally, all the open source stuff is tremendously helpful to
developers, since if there is a bug it's much easier to figure out
what's really going on.
>> I'm not sure I understand this. Technically, both are possible in
>> principle.
>
> I know both are possible, I just prefer to use it as part of the
> executable and not a separate shared library. Makes for easier
> deployment and guarantees the application will run (no matter if I
> changed the API for a new version).
Usually such libraries would be installed in the same folder as the
application, and not installed system-wide to avoid conflicts. It
sort of defeats the dynamic library advantage of saving on memory
usage (different apps won't use the same library, so no memory
saving), but it does enable modular upgrading/patching.
Deployment may indeed be somewhat more complex on most OS'es with a
separate dynamic library though.
Jonas
More information about the fpc-devel
mailing list