Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write script to ensure file copyright policy #630

Closed
gracjan opened this issue May 5, 2015 · 6 comments
Closed

Write script to ensure file copyright policy #630

gracjan opened this issue May 5, 2015 · 6 comments

Comments

@gracjan
Copy link
Contributor

gracjan commented May 5, 2015

The copyright and license notice can be put in a common COPYING file. There is no justifiable reason to also require that it be included in every file, since the individual files are not individually distributed except
as part of the entire package.

For similar discussions look for example at:

Problems:

  1. There is no COPYING file although it is claimed to be there.
  2. Currently authors are listed in individual files, in somewhat ad-hoc manner. Most are in file header, some are in comments, some are listed just next to functions that they supposedly contributed.
  3. Sometimes it is not really possible to know what attribution applies to.
  4. Contributors of commits in github are just not listed anywhere and this does not sound right.
  5. Files will undergo refactoring, for example haskell-decl-scan.el will be merged into haskell-mode.el. What to do with peoples names listed there?
  6. Functions undergo refactoring. What to do with an attribute functions that gets split in two?

Good thing is that everything is GPL and that gives room to clean up. Does anybody have experience how to take attribution under control?

@ivan-m
Copy link
Contributor

ivan-m commented May 6, 2015

Actually, for GPL you are meant to have the header in every file.

@gracjan
Copy link
Contributor Author

gracjan commented May 6, 2015

@ivan-m: does it say where authors should be listed?

@ivan-m
Copy link
Contributor

ivan-m commented May 6, 2015

I don't think it does.

@geraldus
Copy link
Contributor

geraldus commented Jun 9, 2015

So…

  1. The copyright notice should include the year in which you finished preparing the release (so if you finished it in 1998 but didn't post it until 1999, use 1998). You should add the proper year for each release; for example, “Copyright 1998, 1999 Terry Jones” if some versions were finished in 1998 and some were finished in 1999. If several people helped write the code, use all their names.

  2. Always use the English word “Copyright”; by international convention, this is used worldwide, even for material in other languages. The copyright symbol “©” can be included if you wish (and your character set supports it), but it's not necessary. There is no legal significance to using the three-character sequence “(C)”, although it does no harm.

  3. You should also include a copy of the license itself somewhere in the distribution of your program. All programs, whether they are released under the GPL or LGPL, should include the text version1 of the GPL. In GNU programs the license is usually in a file called COPYING.

  4. It is very important for practical reasons to include contact information for how to reach you, perhaps in the README file, but this has nothing to do with the legal issues of applying the license.

  5. The copying permission statement should come right after the copyright notices. For a one-file program, the statement (for the GPL) should look like this …
    For programs that are more than one file, it is better to replace “this program” with the name of the program, and begin the statement with a line saying “This file is part of NAME”. For instance,

This file is part of Foobar.

    Foobar is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Foobar is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Foobar.  If not, see <http://www.gnu.org/licenses/>.

@gracjan gracjan changed the title File copyright policy [Discussion] File copyright policy Aug 30, 2015
@gracjan gracjan changed the title [Discussion] File copyright policy Write script to ensure file copyright policy Apr 11, 2016
@gracjan
Copy link
Contributor Author

gracjan commented Apr 11, 2016

So in every file we want a header like this:

;; This file is a part of Haskell Mode.

;; Haskell Mode is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.

;; Haskell Mode is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

The next step will be to take care of Author/Copyright headers:

;; Copyright 2004, 2005, 2007, 2008, 2009 XXX
;; Copyright 1997-1998 XXX

;; Author: 1997-1998 Guy Lapalme <lapalme@iro.umontreal.ca>

;; Keywords: indentation Haskell layout-rule
;; URL: http://www.iro.umontreal.ca/~lapalme/layout/index.html
  • ensure that there is a corresponding Copyright XXXX Haskell Mode for every commit touching the file in year XXXX
  • if somebody feels like adding their name to Authors I guess it is okay with larger changes
  • we do not care about Keywords
  • we leave URL as is for historical purposes

@gracjan
Copy link
Contributor Author

gracjan commented Jul 19, 2016

I do not feel like fixing this. If somebody feels that this is important then you can have a go at this.

@gracjan gracjan closed this as completed Jul 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants