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

Add authorship policy for paper and software archives #13

Merged
merged 10 commits into from
Feb 25, 2020
Merged

Conversation

santisoler
Copy link
Member

@santisoler santisoler commented Feb 4, 2020

Add AUTHORSHIP.md file containing authorship policies for any library belonging to Fatiando a Terra.

This document lays out the general rules for giving credit to contributors. Our main goal is to be clear about this upfront and provide an incentive for academics looking to get involved in the project.

@santisoler santisoler changed the title Add AUTHORSHIP.md WIP Add AUTHORSHIP.md Feb 4, 2020
@santisoler santisoler requested a review from leouieda February 4, 2020 18:08
@leouieda
Copy link
Member

leouieda commented Feb 5, 2020

Hi @santisoler thanks for starting this! I'll have a look as soon as possible.

@leouieda
Copy link
Member

@santisoler I updated the text based on our discussion last week. What do you think?

Copy link
Member Author

@santisoler santisoler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the way it looks! I like that now it's an invitation to contribute.

I think I would change the part where we define who's going to be listed as author on a new Zenodo release. Using git shortlog vX.0.0...HEAD -sne is kind of problematic if vX.0.0 is the last major release.
For example, if we are about to release v3.0.0 we would run git shortlog v2.0.0...HEAD -sne and anyone that made a contribution since v2.0.0 will appear.
But as soon we release v3.1.0, we would run git shortlog v3.0.0...HEAD -sne (because v3.0.0 is the last major release) and only the ones that made contributions since v3.0.0 will appear.
I think that's not fair and we should include all contributors from the previous major release (there's a word in Spanish for saying the one before the last, but don't know how to translate it).
What do you think?

@leouieda
Copy link
Member

That's a good point. What I meant was that the order will be defined like that, but everyone who ever contributed will be invited as author. What would you think of that?

@leouieda leouieda changed the title WIP Add AUTHORSHIP.md Add AUTHORSHIP.md Feb 20, 2020
@leouieda
Copy link
Member

@fatiando/contributors @fatiando/pooch I'd be interested to know your thoughts on this. We're drafting a document outlining the criteria for authorship in archives and publications and how we go about giving credit to contributors. This document will be become a part of every repo we have so it would be great to get everyone's opinion.

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some little typos

AUTHORSHIP.md Outdated Show resolved Hide resolved
AUTHORSHIP.md Outdated Show resolved Hide resolved
AUTHORSHIP.md Outdated Show resolved Hide resolved
@leouieda
Copy link
Member

I talked this over with @santisoler and we made a few small changes to the author order:

  1. The order on Zenodo would be the git shortlog of the entire history. This makes it a lot easier to make Zenodo archives since we release with a relatively high frequency.
  2. The order on papers will be defined by the git shortlog since the last release that an associate paper.

Note that all of these are subject to change based on common sense and consensus.

@leouieda leouieda changed the title Add AUTHORSHIP.md Add authorship policy for paper and software archives Feb 20, 2020
@leouieda
Copy link
Member

Thanks for the fixes @hugovk!

AUTHORSHIP.md Outdated
The order of authors will be defined by the number of commits made since the
previous major release that has an associated paper (`git shortlog vX.0.0...HEAD -sne`).
The order of any author who hasn't made any commits will be decided by all authors.
The order can also be changed on a case-by-case basis.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks great. Ordering authorship by the number of commits makes sense, and gives positive feedback to those who put in the most work on each release.

AUTHORSHIP.md Outdated

## Authorship on Zenodo archives of releases

Anyone who has contributed to the repository (i.e., is know to `git log`) will
Copy link

@jessepisel jessepisel Feb 20, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should (i.e., is know to 'git log') be known to 'git log' or even documented by 'git log'?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the suggestion @jessepisel. I changed to "appears on git log"

> **Note**: These policies are not set in stone and may be changed to
> accommodate the growth of the project or the preferences of the community.

## The `AUTHORS.md` file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I 100% agree that in order for contributors to be included they need to add themselves to AUTHORS.md. If I remember correctly, this is on the checklist for pull requests?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the feedback @jessepisel!
It's not exactly on the pull requests checklist, but your memory is on a good track: after the first PR of a new contributor is merged, a bot instruct them to open a new PR to add themselves to AUTHORS.md.

I've seen that most people ignore or forget to do it. So this is one of the things we want to change: we will ask them to add their full names (with optional affiliation and ORCID) to AUTHORS.md from within the PR before it's merged. This would help the new contributors because they won't need to open a second PR (what could be challenge if you are new on GitHub) and help to remind the maintainers to explicitly ask the new contributors to add themselves.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like a useful addition for the checklist in the PR template. Might be useful to create an org-wide default for this (and possibly other community files), see:

https://help.github.com/en/github/building-a-strong-community/creating-a-default-community-health-file

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @hugovk! In fact we were thinking of adding the PR template here (to fatiando/contributing) where all the community files that should be shared by every Fatiando package live.

Might be useful to create an org-wide default for this (and possibly other community files), see:
https://help.github.com/en/github/building-a-strong-community/creating-a-default-community-health-file

Thanks for the info. I wasn't aware of the default community files repository. It seems a very nice option. Although I'm curious if community files are somehow automatically updated if any change is made on the .github repository.

FYI, the fatiando/contributing repo satisfy the same needs as the .github repo. While any new Fatiando repository must be created through the fatiando/package-template, a cookiecutter template.
The nice thing about fatiando/contributing is that whenever we push any new commit to its master, @fatiando-bot automatically opens a PR on every Fatiando library asking to incorporate the changes on the community files.

Maybe we could think of renaming this repo to .github and keep @fatiando-bot doing its job.

By the way, @leouieda, I'm curious about how the community files are generated when creating a new repository from fatiando/package-template. Are they hardcoded or are they fetched from fatiando/contributing?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds quite nifty that @fatiando-bot will do that syncing!

Yes, you wouldn't need to do any syncing when things are in .github, it should just read it straight from there (unless a repo has its own version of the file).

Copy link
Member Author

@santisoler santisoler Feb 21, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've just experienced a little with the .github repository.
So the community files are just linked on any library that belongs to the project. For example, when opening a new Issue, a link to the Contributor Guidelines appears. But the community files are not automatically included on them.
I think we may want to avoid that and explicitly include the community files on each repo.
What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've only used it for ISSUE_TEMPLATE.md and PULL_REQUEST_TEMPLATE.md, where it pre-fills the new issue or PR edit box. For example, in a repo which doesn't have its own ISSUE_TEMPLATE.md, it pre-fills this one from the .github repo:

image

For the guidelines and code of conduct, if I click to create a new issue in a repo here, I see:

image

They link to:

Is that acceptable if they linked here?

Copy link
Member Author

@santisoler santisoler Feb 21, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see!
My thoughts are:

  • All community files (CODE_OF_CONDUCT.md, CONTRIBUTING.md, MAINTENANCE.md, etc) should live inside each repository. I'm thinking it's better this way because releases uploaded to archives will have the full documentation of the repository. Besides, I think JOSS requires to have this on the repository, am I right?
  • Maybe we could store PR and ISSUES templates on a new fatiando/.github repo. So we don't have to bother to update the ones that live inside the repositories if we make changes. Besides, there's no point of archiving these files, they are useful only within GitHub.

Sorry for changing my mind on every comment, I'm just sharing thoughts and ideas to see if they are accurate or if there are better options.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if it's a JOSS requirement, but yes, that sounds like a good approach!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hugovk I didn't know about the .github repo either. Nice!

I agree with @santisoler about leaving the community files where they are (it is a JOSS requirement) and creating a new .github repo to host the templates. It would be fine if they link to the files in this repo (contributing) instead of the ones on the individual repos.

Talking to @djhoese on twitter, he pointed out that they can get a lot of people to add themselves to their authors file without much prodding. I'd be in favour of adding it to the checklist instead of having it as a message from the bot (which nobody seems to read).

@leouieda
Copy link
Member

Alright, I have added links to the authorship file in the maintenance and contributing guides. I also created the fatiando/.github repo and added our current templates to it. fatiando/.github#2 will add "include yourself in AUTHORS.md" to the PR checklist and modify the welcome message from the bot as well (I'd appreciate some reviews on that).

This seems good to go so I'll hit the merge button! 🎉 Thank you for the input everyone!

@leouieda leouieda merged commit 998715c into master Feb 25, 2020
@leouieda leouieda deleted the authorship branch February 25, 2020 16:07
leouieda added a commit to fatiando/pooch that referenced this pull request Feb 25, 2020
The authorship guidelines introduced in fatiando/community#13 specify
that authors on Zenodo archives will be taken from the AUTHORS.md file
and need to have full names, affiliation, and ORCIDs (optionally)
included in that file.
leouieda added a commit to fatiando/boule that referenced this pull request Feb 25, 2020
The authorship guidelines introduced in fatiando/community#13 specify
that authors on Zenodo archives will be taken from the AUTHORS.md file
and need to have full names, affiliation, and ORCIDs (optionally)
included in that file.
leouieda added a commit to fatiando/erizo that referenced this pull request Feb 25, 2020
The authorship guidelines introduced in fatiando/community#13 specify
that authors on Zenodo archives will be taken from the AUTHORS.md file
and need to have full names, affiliation, and ORCIDs (optionally)
included in that file.
leouieda added a commit to fatiando/erizo that referenced this pull request Feb 25, 2020
The authorship guidelines introduced in fatiando/community#13 specify
that authors on Zenodo archives will be taken from the AUTHORS.md file
and need to have full names, affiliation, and ORCIDs (optionally)
included in that file.
leouieda added a commit to fatiando/verde that referenced this pull request Feb 26, 2020
The authorship guidelines introduced in fatiando/community#13 specify 
that authors on Zenodo archives will be taken from the AUTHORS.md 
file and need to have full names, affiliation, and ORCIDs (optionally) 
included in that file. Update the file with everyone who has contributed
so far.
leouieda pushed a commit that referenced this pull request Feb 26, 2020
Reflects the changes in #13. Fixes #12 since the conda-forge bot now 
does the updating for us. Add instructions for what to put into the CITATION file.
leouieda added a commit to fatiando/.github that referenced this pull request Feb 26, 2020
Add a section to the welcome message for new contributors and a checklist 
item for adding their name to the authors file. 
As discussed in fatiando/community#13
leouieda pushed a commit to fatiando/harmonica that referenced this pull request Feb 26, 2020
As instructed by the new authorship guidelines (fatiando/community#13)
contributors who wish to be included in Zenodo archives need to be listed
in `AUTHORS.md` and include affiliation and ORCID. Include current
contributors in the file so it matches what we will put in Zenodo.
leouieda added a commit to fatiando/pooch that referenced this pull request Mar 12, 2020
The authorship guidelines introduced in fatiando/community#13 specify
that authors on Zenodo archives will be taken from the AUTHORS.md file
and need to have full names, affiliation, and ORCIDs (optionally)
included in that file.
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

Successfully merging this pull request may close these issues.

4 participants