GenericMappingTools / pygmt

A Python interface for the Generic Mapping Tools.
https://www.pygmt.org
BSD 3-Clause "New" or "Revised" License
758 stars 220 forks source link

Distinguish PyGMT Team, Developers and Contributors #3375

Closed seisman closed 3 months ago

seisman commented 3 months ago

Currently, we have three different terms about people who make contributions to PyGMT:

Looking at the git history, the term "PyGMT Contributors" was added in 2017 (#56), then "PyGMT Developers" in 2019 (#284), and finally "PyGMT Team" in 2021 (#1308).

Personally, I feel it's weird to assign the copyright holder and project authorship to "PyGMT Developers" who perhaps only make a PR fixing a typo. So I propose:

  1. Assign the copyright holder and project authorship to the "PyGMT Team" (For reference, the copyright holders are "NumPy team" for NumPy, "Matplotlib development team" for Matplotlib)
  2. Remove the term "PyGMT Developers" and use "PyGMT Contributors" in AUTHORS.md
  3. Add a link to the "PyGMT Team" page in AUTHORS.md and vice versa

Ping @GenericMappingTools/pygmt-maintainers for comments

yvonnefroehlich commented 3 months ago
  1. Assign the copyright holder and project authorship to the "PyGMT Team" (For reference, the copyright holders are "NumPy team" for NumPy, "Matplotlib development team" for Matplotlib)

I agree regarding the "copyright holder". To what does "project authorship" refer? What is the difference between "project authorship" and being an author of the Zenodo upload?

  1. Remove the term "PyGMT Developers" and use "PyGMT Contributors" in AUTHORS.md

I agree, that "Contributors" is more sutible and fair here (https://github.com/GenericMappingTools/pygmt/blob/main/AUTHORSHIP.md#the-authorsmd-file).

  1. Add a link to the "PyGMT Team" page in AUTHORS.md and vice versa

Sounds good to me.

weiji14 commented 3 months ago
  1. Assign the copyright holder and project authorship to the "PyGMT Team" (For reference, the copyright holders are "NumPy team" for NumPy, "Matplotlib development team" for Matplotlib)

I agree regarding the "copyright holder".

From reading https://softwareengineering.stackexchange.com/questions/308909/how-to-manage-copyright-notices-from-contributors-to-a-bsd-licensed-project, I'm not sure if it's that straightforward to re-assign copyright to the just the PyGMT Team. Legally speaking, old versions of PyGMT (up to v0.12.0) would still be copy-rightable by 'PyGMT Developers'. We don't have a Contributor License Agreement (CLA) in place either (nor do I really fancy adding one), so I think we might be stuck with PyGMT developers here unless we 1) ask everyone on the list if they're ok with reassigning copyright for new PyGMT versions (v0.13.0 and newer) and 2) enforce a CLA going forward so that contributors would assign copyright to the PyGMT team. See also https://dev.to/oborys/complete-guide-to-open-source-licenses-for-developers-3j5e#about-changing-the-license

To what does "project authorship" refer? What is the difference between "project authorship" and being an author of the Zenodo upload?

Project authorship should still be based on names in AUTHORS.md (which is used on Zenodo). I don't think that should be restricted to just PyGMT team.

  1. Remove the term "PyGMT Developers" and use "PyGMT Contributors" in AUTHORS.md

I agree, that "Contributors" is more sutible and fair here (https://github.com/GenericMappingTools/pygmt/blob/main/AUTHORSHIP.md#the-authorsmd-file).

See above note on 'PyGMT Developers' being copyright holder. We might need to keep it as 'Developers'

  1. Add a link to the "PyGMT Team" page in AUTHORS.md and vice versa

Sounds good to me.

Yep, sounds good.

weiji14 commented 3 months ago

\"PyGMT Contributors\" is only used once in the title of the AUTHORS.md file.

Btw, the title says 'Project Contributors', not 'PyGMT Contributors', which is just a generic term so I don't think that is too confusing. The sentence below the title uses 'PyGMT Developers'.

seisman commented 3 months ago

https://opensource.guide/legal/#what-if-i-want-to-change-the-license-of-my-project

I think @weiji14 is right that changing the copyright holder requires agreement from all current contributors, which is a complicated thing that I never want to do. So let's keep using "PyGMT Developers" everywhere.