
It's not just cabal init; the copyright information traditionally is part of the BSD and MIT license templates. On 23/09/14 11:16, Joachim Breitner wrote:
Dear package maintainers,
a lot of our LICENSE file start like tihs:
==> haskell-lens-4.1.2.1/LICENSE <== Copyright 2012-2014 Edward Kmett
All rights reserved. ...
==> haskell-cryptocipher-0.6.2/LICENSE <== Copyright (c) 2010-2013 Vincent Hanquez
All rights reserved. ...
==> haskell-http-client-0.3.2.1/LICENSE <== The MIT License (MIT)
Copyright (c) 2013 Michael Snoyman
Permission is hereby granted, free of charge, to any person obtaining a copy of ...
i.e. they mix the copyright information with the license.
I know, of course, why that is: "cabal init" prepares it that way, and those not using cabal init probably copy it from an existing file.
A notable exception are the GPL-licensed packages; these usually don’t have copyright information in the license.
The problem is that this information is not structured, and hard to parse, i.e. to create license reports or (my use case) create distribution packages with much less manual labor.
Cabal describes the fields as
license-file: filename or license-files: filename list
The name of a file(s) containing the precise copyright license for this package. The license file(s) will be installed with the package.
If you have multiple license files then use the license-files field instead of (or in addition to) the license-file field.
copyright: freeform
The content of a copyright notice, typically the name of the holder of the copyright on the package and the year(s) from which copyright is claimed. For example: Copyright: (c) 2006-2007 Joe Bloggs
which suggest to put the copyright data into the cabal file only and leave the license file alone.
It would also have the advantage that after cabal init, you’d only have to modify one file, and the copyright information is easily visible on hackage.
I know that there it is highly unlikely that a significant number of maintainers will change their existing files. But I’d still like to get feedback:
Do you agree that this make sense? Should I try to make "cabal init" set it up this way? And would you accept pull requests for this?
Thanks, Joachim