[Haskell-cafe] Licenses and dependencies
carter.schonwald at gmail.com
Sat Jan 11 23:06:55 UTC 2014
you can absolutely write BSD licensed ffi bindings to a GPL library,
however, the user of the library will be subject to the fact that the
underlying object code is derived from GPL code, But that does not mean
that client ffi has to be GPL. A good example of this might an api that
can connect to backends written under various licenses (bsd, gpl,
proprietary etc). A good example of such a lib is SciPy
GPL (along with many other licenses) have never been tested in court.
Additionally, if as an IP laywer, they'll say that the precise
interpretation of the GPL licenses is unclear (but that the FSF's
interpretation of the GPL is overreaching and requires magical powers
beyond the scope of copyright law)
You can write code in any license you want, and you should! Just because a
lib dep is GPL or LPGL doesn't mean your lib must be. However, you should
explicitly note the presence of any dependencies that may have restrictive
licenses like (L)GPL very very prominantly.
Do no try to use opinions to make legal decisions. Feelings have very very
little to do with how law works. Its a complex organism that has (at this
point) 1+ Millenia of legacy (legal) code.
Often times, legal matters are even more complex than software, sadly
unlike in software where its "cheap" to experiment with compiler / linker
flags, disambiguating legal matters tends to require court cases and legal
proceedings that can be quite expensive.
Use whatever license makes you happy, but (if you're wanting it to be used
in the haskell community as a library) make it MIT/BSD/Apache/equivalent.
GPL is appropriate for end user applications and black box server
applications (certain DB application servers that shall not be named), and
sometimes OSes too *(though the BSDers may argue otherwise).
LGPL with a Static linking exception is also hypothetically acceptable for
haskell libraries, but theres some cultural bias against them, and its a
somewhat a complex variant to use.
TL;DR -- if you ever want code you're writing to land in
GHC/cabal/hackage-server/base, it needs to be MIT/BSD compatible. For
anything else, talk with a lawyer
On Sat, Jan 11, 2014 at 4:17 PM, Mateusz Kowalczyk
<fuuzetsu at fuuzetsu.co.uk>wrote:
> Alright, thanks for some clarifications. I agreed with everything you said.
> Mateusz K.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe