Copyright field vs. License file

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

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

Hi, Am Dienstag, den 23.09.2014, 11:34 +0300 schrieb Roman Cheplyaka:
It's not just cabal init; the copyright information traditionally is part of the BSD and MIT license templates.
hmm, fair point. I guess that’s because in most other applications, there is no canonical and well-defined place to put the copyright information, and also because historically, both were simply pasted above the program code. Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org

On Tue, Sep 23, 2014 at 10:16:24AM +0200, Joachim Breitner wrote:
A notable exception are the GPL-licensed packages; these usually don’t have copyright information in the license.
JFTR: they put it into the source files. Into *each one*. Quoting "How to use GNU licenses for your own software"[1]:
Whichever license you plan to use, the process involves adding two elements to each source file of your program: a copyright notice (such as “Copyright 1999 Terry Jones”), and a statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License (or the Lesser GPL).
Now that's what I'd call "hard to parse". [1]: https://gnu.org/licenses/gpl-howto.html -- Regards, Alexander Batischev PGP key 356961A20C8BFD03 Fingerprint: CE6C 4307 9348 58E3 FD94 A00F 3569 61A2 0C8B FD03
participants (3)
-
Alexander Batischev
-
Joachim Breitner
-
Roman Cheplyaka