-
Notifications
You must be signed in to change notification settings - Fork 54
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
start allcontribs blog entry #888
Draft
mpadge
wants to merge
8
commits into
main
Choose a base branch
from
allcontribs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 3 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
1c9579b
start allcontribs blog entry
mpadge 8c865cd
minor edits to allcontribs blog
mpadge 4d3148f
escape angle brackets
mpadge 555c341
linebreak each sentence
mpadge b615f34
insert couple of link
mpadge 1ee247a
Update content/blog/2024-11-20-allcontributors/index.md
mpadge 989c6c8
link to new allcontribs descr of how to keep readme updated
mpadge 35d81d5
add 'metadata' tag; ping @maelle
mpadge File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
--- | ||
slug: allcontributors | ||
title: Acknowledge your contributors with the allcontributors package | ||
author: | ||
- Mark Padgham | ||
editor: | ||
- <editor here> | ||
date: "2024-11-20" | ||
tags: | ||
- tech-notes | ||
- github | ||
- how-to | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
description: "The allcontributors package helps acknolwedge software contributions" | ||
--- | ||
|
||
Acknowledging contributions is an important part of developing and maintaining | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
open source software. The [allcontributors.org website](https://allcontributors.org/) includes | ||
|
||
> a bot to automate the tedious stuff for adding project contributors, so you | ||
> can focus on your project instead of managing your ReadMe. | ||
|
||
One strong motivation for [allcontributors.org](https://allcontributors.org) is | ||
to "Recognize all contributors, including those that don't push code." This | ||
system is great, it is very widely used, and we encourage anybody to please use | ||
it! It is nevertheless not the only way to acknowledge contributions to your | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
software. rOpenSci also has its own [allcontributors R | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
package](https://docs.ropensci.org/allcontributors/) which offers a different | ||
workflow to automate the process of acknowledging contributors. | ||
|
||
## Disadvantages of the allcontributors.org system | ||
|
||
As stated: The [allcontributors.org](https://allcontributors.org) is great! It | ||
relies on a GitHub bot, so that you can acknowledge contributors and their | ||
contributions in your git commit comments. Usage of the bot is described in | ||
[the documentation](https://allcontributors.org/docs/en/bot/usage). | ||
Acknowledgement comments generally follow the format: | ||
|
||
```bash | ||
@all-contributors please add @<username> for <contributions> | ||
``` | ||
where "\<contributions\>" can be one of a large variety of [contribution | ||
types](https://allcontributors.org/docs/en/emoji-key), such as "code", "doc", | ||
or any one of 33 currently recognized contribution types. | ||
|
||
### What happens if i forget to acknowledge a contribution? | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
As stated: The [allcontributors.org](https://allcontributors.org) system | ||
requires you to remember and actively acknowledge each contribution. The | ||
documentation encourages you to add a commit message with an acknowledgement as | ||
soon as possible after the contribution itself. If you forget, obviously you | ||
can add the comment at some later time, but it will then be more difficult to | ||
connect that statement of acknowledgement with the original contribution | ||
itself. If you forget entirely, then that contribution will never be | ||
acknowledged. It is up to the software maintainers to actively remember and | ||
actively acknowledge contributions, a task which can sometimes be quite a | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
burden! | ||
|
||
### How are allcontributors.org contributions acknowledged? | ||
|
||
The [allcontributors.org](https://allcontributors.org) system is extremely | ||
flexible, and easily allows for acknowledgement of contributions which may not | ||
even be visible in the git commit log directly. This ability to acknowledge | ||
contributions beyond those recorded in logs also means that the only source of | ||
contributions are the commit comments to the bot. Acknowledgements on your | ||
README file thus end up packed together in a single "Contributors" section, | ||
with no ability to distinguish types of contributions. See, for example, the | ||
section on the very popular [p5.js | ||
repository](https://github.com/processing/p5.js?tab=readme-ov-file#contributors), | ||
which occupies the vast majority of the entire README. Contributors are | ||
acknowledged by GitHub handle only, and so each contributor links directly to | ||
their GitHub profile, with no way of directly linking to the contributions they | ||
may have made. | ||
|
||
## The allcontributors R package | ||
|
||
Those two disadvantages motivated us to develop our own way to acknowledge all | ||
contributors: The [allcontributors R | ||
package](https://docs.ropensci.org/allcontributors/). Having stated the disadvantages of the | ||
[allcontributors.org](https://allcontributors.org) system, it is only fair that | ||
we start with by explicitly acknowledging the disadvantages of our own system. | ||
|
||
### Disadvantage: Contributions are only acknowledged from git and GitHub | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Unlike the truly general [allcontributors.org](https://allcontributors.org) | ||
system, rOpenSci's [allcontributors R | ||
package](https://docs.ropensci.org/allcontributors/) can only acknowledge | ||
contributions that are recorded in the git log of a repository, or via GitHub | ||
interactions. This effectively reduces the 33 different kinds of contributions | ||
in the former system down to a much smaller subset, excluding the kinds of | ||
contributions not likely to appear in actual commits or issue comments, such as | ||
planning, finances, or general organisational tasks. | ||
|
||
If you think acknowledging these kinds of contributions may be important for | ||
your project, then please use the original | ||
[allcontributors.org](https://allcontributors.org) system, rather than our | ||
package. | ||
|
||
### Advantage: You never need to worry about forgetting to acknowledge contributions | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
The [allcontributors package](https://docs.ropensci.org/allcontributors/) has | ||
only one main function which you'll likely ever need, | ||
[`add_contributors()`](https://docs.ropensci.org/allcontributors/reference/add_contributors.html). | ||
This function includes a large number of parameters, all of which are set to | ||
sensible default values that should work for most project. Simply running | ||
[`add_contributors()`](https://docs.ropensci.org/allcontributors/reference/add_contributors.html) | ||
in the root directory of your repository will automatically add or update your | ||
lists of contributors. No matter how long after the contribution this function | ||
is called, contributions will always be acknowledged, and ... | ||
|
||
### Advantage: Contributors are linked directly to their contributions | ||
|
||
By restricting acknowledgement to git and GitHub, the [allcontributors | ||
package](https://docs.ropensci.org/allcontributors/) can link each acknowledged | ||
contributor directly to a GitHub link of their contributions. See, for example, | ||
the [README of this | ||
package](https://github.com/ropensci/allcontributors/?tab=readme-ov-file#contributors), | ||
where clicking on the image of any contributor leads to their profile, while | ||
clicking on their handles below the images leads to their actual contributions. | ||
|
||
### Advantage: You can organise your contributions the way you like | ||
|
||
The array of parameters accepted by [the `add_contributors()` | ||
function`](https://docs.ropensci.org/allcontributors/reference/add_contributors.html) | ||
helps to arrange your allcontributors section any way you like. Restricting the | ||
package to contributions directly from git and GitHub requires the sources of | ||
contributions to be grouped into code, issue authors, and issue comments. The | ||
ways contributions from these three sources are arranged in your README can be | ||
customized almost any way you like, as described in [the function | ||
documentation](https://docs.ropensci.org/allcontributors/reference/add_contributors.html), | ||
and demonstrated in [the main package | ||
vignette](https://docs.ropensci.org/allcontributors/articles/allcontributors.html). | ||
|
||
## Go forth and acknowledge! | ||
|
||
We encourage everybody developing packages both within rOpenSci and beyond to | ||
acknowledge contributions wherever and whenever possible. If you care about | ||
acknowledging contributions of any type whatsoever, whether directly to your | ||
code or beyond it, then please use | ||
mpadge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
[allcontributors.org](https://allcontributors.org) and the `@all-contributors` | ||
bot. | ||
|
||
If, however, you prefer a system that doesn't require you to always remember | ||
your acknowledgements in commit comments, and which gives you more flexibility | ||
in how contributions appear in your README, then please use our | ||
[allcontributors R package](https://docs.ropensci.org/allcontributors/). |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or somethign like that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tried to use more generic "software" rather than "package". Can you please just make that change? Thx