Re: [Haskell-cafe] Cabal && license combinations

On Mon, 2011-02-07 at 14:42 +0000, Malcolm Wallace wrote:
It seems then that a package should be the least restrictive combination of all the licenses in all the contained modules.
Omit the words "least restrictive" and I think you are correct.
OK.
To combine licences, just aggregate them. There is no lattice of subsumption; no "more" or "less" restrictive ordering. It's simple: you must obey all of them. Some aggregations introduce a contradiction of terms, so you cannot legally aggregate those modules without breaking some term. But if the terms of the aggregated licences are compatible rather than contradictory, then all is good.
Right, so the effect of per-file/mixed licenses could be achieved by letting packages specify a list of licenses:
license: Foo, Bar
Could this be computed automatically from the source files by Cabal?
Meaning you may copy/distribute provided you comply with all these licenses.
Note that this does not cover dual licensing, e.g. Foo or Bar at distributor's choice.
Duncan
Looking specifically at hmatrix, there are three kinds of modules i) bindings to GSL GPL ii) bindings to LAPACK BSD iii) pure Haskell hmatrix author's choice 1) Am I correct in thinking that even the bindings modules (the Haskell parts, not the C files) can be under any licence, FOO, chosen by the author, but the binary _linked_ to, say, GSL has to comply with FOO and GPL? 2) If someone uses hmatrix but no GSL functions (hence there are no GSL functions in the linked binary) can they get away with not complying with the GSL requirement? Cheers, Vivian

Vivian McPhail
Looking specifically at hmatrix, there are three kinds of modules
i) bindings to GSL GPL ii) bindings to LAPACK BSD iii) pure Haskell hmatrix author's choice
1) Am I correct in thinking that even the bindings modules (the Haskell parts, not the C files) can be under any licence, FOO, chosen by the author, but the binary _linked_ to, say, GSL has to comply with FOO and GPL?
This is my interpretation of it (assuming we're talking copyright, and not other types of license, like patents or trademarks). It is a topic of endless debate, though.
2) If someone uses hmatrix but no GSL functions (hence there are no GSL functions in the linked binary) can they get away with not complying with the GSL requirement?
I would say yes. But that too is merely an uninformed and uneducated opinion, the operational semantics of the law is created by the rich in their courtrooms. -k -- If I haven't seen further, it is by standing in the footprints of giants

On Wed, 2011-02-09 at 03:47 +1300, Vivian McPhail wrote:
license: Foo, Bar
Could this be computed automatically from the source files by Cabal?
I would not want to rely on that.
Looking specifically at hmatrix, there are three kinds of modules
i) bindings to GSL GPL ii) bindings to LAPACK BSD iii) pure Haskell hmatrix author's choice
1) Am I correct in thinking that even the bindings modules (the Haskell parts, not the C files) can be under any licence, FOO, chosen by the author, but the binary _linked_ to, say, GSL has to comply with FOO and GPL?
Yes. Code you write can be under any license you like. When someone uses the combination then they have to comply with all the licenses (so implicitly there's the constraint that the license you pick must be compatible with the license of the other parts).
2) If someone uses hmatrix but no GSL functions (hence there are no GSL functions in the linked binary) can they get away with not complying with the GSL requirement?
Not sure. In practice I don't think you can achieve that with our toolchain. Duncan
participants (3)
-
Duncan Coutts
-
Ketil Malde
-
Vivian McPhail