magit/magit — pull request #764 by tarsius (2013-08-16 21:14:31+00:00)
Title: How should we attribute contributions?

In 9132a69b6a8e754cc74f2dd392e410bcf2a4c13f @praet first raised concerns regarding changes to how contributors are attributed. I have done these changes in 59fd7f6d2edc1d63449c85f616e8d169313633ed. He toned down his critizism in d80754b1b1b842e34301f1a2cc4bb91fe4787f3a.

Some discussion has taken place at https://groups.google.com/forum/#!topic/magit/kQTptxPYkP8 (first branch).

@artagnon

> I really don't see the point of maintaining the equivalent of `git shortlog -nse`

@pjweisberg

> Some people don't care, but some people really like to have their names on things. Many people will appreciate even the smallest recognition.

----

I believe my changes do not violate the GPL. But the more I think about it I can see that it might actually be the case. If that is so then many projects that only state the main author(s) are in violation.

More importanly though *I agree that we should take care to properly attribute our contributors*. I had no bad intentions when I made the change Pieter is criticizing. But I agree that this needs to be improved and that I should have discussed before making the change.

----

This is the gist of my change (in `magit.el`):

```patch
;; Copyright (C) YEAR MAINTAINER A
;; Copyright (C) YEAR MAINTAINER B
-;; Copyright (C) YEAR CONTRIBUTOR A
-;; Copyright (C) YEAR CONTRIBUTOR B
-
+
+;; All-Contributors:
+;; All-Maintainers:
```

As you can see I did not remove the `Copyright` lines without a
replacement. But I can see now that adding the `All-Contributors`
line might not be sufficient.

* It might be overlooked.
* This could be read as "These are the people who are copyright
holders. These other people have also contributed - but they have
assigned copyright to the former.
* The names of the contributors are only linked to and do not appear
inside a release tarball.

Pieter addresses these issues like so in all libraries:

```patch
-;; Copyright (C) YEAR MAINTAINER A
-;; Copyright (C) YEAR MAINTAINER B
+;; Copyright (C) 2008-2013 The Magit Project Developers.
+;;
+;; For a full list of contributors, see the AUTHORS file
+;; at the top-level directory of this distribution and at
+;; https://raw.github.com/magit/magit/master/AUTHORS
```

.. and by bundling a generated `AUTHORS` file, and adds `Author` header keywords to all libraries (since the `Copyright` lines are more generic now).

This tries to address the above issues. It's better than my version but it is still ambitious.

What does **The Magit Project Developers** mean? Only *core developers* or also onetime *contributors*? As the "commented link" below also mentions "contributors" and not "copyright holders" it is still not clear beyond any doubt that there has no copyright assignment been going on. Maybe one of the following would be better (?):

* The Magit Project Developers and Contributors
* The Magit Project Contributors
* The Magit Project

Yes, maybe I am being over careful here. But because my change was quiet harshly criticized (no harm taken) I want to point out that the proposed solution, to some extend, suffers from the same ambiguity.

Adding an `AUTHORS` file is a good idea. But should we do so only in release tarballs or commit it?

----

Pieter also makes this change (in `magit.el`):

```patch
;; Author: Marius Vollmer
-;; Former-Maintainers:
-;; Phil Jackson
-;; Peter J Weisberg
-;; Maintainers:
-;; Jonas Bernoulli
-;; Yann Hodique
-;; Nicolas Dudebout
-;; Rémi Vanicat
```

While I agree that we should take better care that *every* contributor is properly attributes, I feel that we maintainers do deserve to be features a bit more *prominently*. And would therefor prefer to keep these lines in `magit.el` (only).

----

So, what should we do?

I have attached Pieter's proposed changes.