
The following hackage packages specify in their .cabal file: license: BSD4 Which is the 4-clause BSD license, ie the one with the advertising clause. cabal-upload-0.3 Chart-0.5 FiniteMap-0.1 haxr-3000.0.1 haxr-th-1.0 hbeat-0.1 htar-0.1 pcap-0.4.2 tar-0.1.1.1 unix-compat-0.1.2.1 Inspecting the LICENSE files for every one of these packages reveals that they actually use the 3-clause BSD license. Not a single hackage package really uses the 4-clause BSD license. In every case that it has been used it was just a confusion. We therefore propose to deprecate BSD4 as a valid license in .cabal files: http://hackage.haskell.org/trac/hackage/ticket/205 In the unlikely case that anyone really wants to use the 4-clause BSD license they can still specify "license: OtherLicense" and put the text in the accompanying LICENSE file. Additionally, I propose to add the MIT license since there are a couple packages that really use that and allow optional versions on the licenses that are versioned, which includes the GPL and LGPL. Looking at OtherLicense we find common ones are MIT, variations on BSD3 (2 clause and fewer, other informal variations), disjunctions of BSD3 / GPL (ie dual licensing), conjunctions of BSD3 / GPL (ie some bits user BSD some under GPL). Duncan

Right now i cannot see a reason why the cabal license field is an enumeration instead of a string. The purpose seems to be to direct people to preferred licenses of the Haskell community. If so this is the wrong approach imo. A good explanation of licensing on the haskell.org wiki is better. Btw. the Haddock headers in the GHC source code also use custom strings for the license field. Felix

On Sat, 2008-03-01 at 10:39 +0100, Felix Martini wrote:
Right now i cannot see a reason why the cabal license field is an enumeration instead of a string. The purpose seems to be to direct people to preferred licenses of the Haskell community. If so this is the wrong approach imo.
It's not clear that that is the intention. This has been in the spec and the design since the very beginning. You'd have to ask someone who helped with the original spec to be sure of the intention. http://haskell.org/cabal/release/old/users-guide-0.1/x29.html#pkg-descr http://haskell.org/cabal/release/cabal-1.0/doc/pkg-spec-html/ It has always allowed for using any license. I suspect the intention was for convenience and to provide some consistency for common licenses, eg so we don't get packages specifying "gpl", "gpl2" "gpl-2" "GPL" and we have to wonder if those are all the same. In the common case it gives machine recognisable information. Duncan

On Fri, Feb 29, 2008 at 11:11 PM, Duncan Coutts
The following hackage packages specify in their .cabal file:
license: BSD4
Which is the 4-clause BSD license, ie the one with the advertising clause.
cabal-upload-0.3 Chart-0.5 FiniteMap-0.1 haxr-3000.0.1 haxr-th-1.0 hbeat-0.1 htar-0.1 pcap-0.4.2 tar-0.1.1.1 unix-compat-0.1.2.1
Inspecting the LICENSE files for every one of these packages reveals that they actually use the 3-clause BSD license. Not a single hackage package really uses the 4-clause BSD license. In every case that it has been used it was just a confusion.
We therefore propose to deprecate BSD4 as a valid license in .cabal files: http://hackage.haskell.org/trac/hackage/ticket/205
In the unlikely case that anyone really wants to use the 4-clause BSD license they can still specify "license: OtherLicense" and put the text in the accompanying LICENSE file.
Additionally, I propose to add the MIT license since there are a couple packages that really use that and allow optional versions on the licenses that are versioned, which includes the GPL and LGPL.
Looking at OtherLicense we find common ones are MIT, variations on BSD3 (2 clause and fewer, other informal variations), disjunctions of BSD3 / GPL (ie dual licensing), conjunctions of BSD3 / GPL (ie some bits user BSD some under GPL).
Hi Duncan, thanks for pointing that out. I've fixed the 6 out of those 10 that are mine. I must have gotten that wrong some time long ago and then just copied the .cabal file to new projects. Consider this a vote for deprecating BSD4. /Bjorn
participants (3)
-
Bjorn Bringert
-
Duncan Coutts
-
Felix Martini