Skip to content

Commit 5f7821b

Browse files
ejm714glipstein
andauthored
Add contributing instructions (#143)
* add and simplify contributing * updates * copy edits * links * shorten links * checklist * test link * relative links * too many links * full path * tweak * udpate process to remove issue filing * update docs * mimic language from wiki page * fix link * unpin mkdocs * Update CONTRIBUTING.md Co-authored-by: glipstein <gregory.lipstein@gmail.com> * Update CONTRIBUTING.md Co-authored-by: glipstein <gregory.lipstein@gmail.com> * lowercase * codecov to v2 * add link to contributing instructions * add periods Co-authored-by: glipstein <gregory.lipstein@gmail.com>
1 parent 3907956 commit 5f7821b

File tree

5 files changed

+86
-26
lines changed

5 files changed

+86
-26
lines changed

.github/workflows/tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
make test
6262
6363
- name: Upload coverage to codecov
64-
uses: codecov/codecov-action@v1
64+
uses: codecov/codecov-action@v2
6565
with:
6666
file: ./coverage.xml
6767
fail_ci_if_error: true

CONTRIBUTING.md

+64-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,71 @@
11
# Contributing
22

3-
Contributions are welcome, and they are greatly appreciated!
3+
Contributions are welcome, and they are greatly appreciated! Did you read an interesting article about a time where data ethics went awry? Do you see an area the checklist doesn't fully cover? Submit a PR to make an addition!
44

5-
This document is still a work-in-progress. Sorry!
5+
## Types of contributions
66

7-
## Release Process (for maintainers)
7+
Contributors can add to `deon` by (1) adding an [example](https://deon.drivendata.org/examples/) that helps illustrate the different realms and ramifications of data ethics practices from the checklist and/or (2) changing or adding an item to the [checklist](https://deon.drivendata.org/#data-science-ethics-checklist) itself.
8+
9+
To get started, first `git clone` the [deon repository](https://github.com/drivendataorg/deon/).
10+
11+
### 1. Adding a new item to the examples table
12+
13+
To add an example:
14+
- [ ] Use the [examples table](https://deon.drivendata.org/examples/) to determine the checklist item to which your article applies.
15+
- [ ] Add the example to the `examples_of_ethical_issues.yml` file.
16+
- [ ] Open a pull request with the change to the yaml file.
17+
18+
#### How to edit the examples table yaml
19+
20+
In [`deon/assets/examples_of_ethical_issues.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/examples_of_ethical_issues.yml), locate the section for the relevant checklist item. Each checklist item corresponds to a specific `line_id` (e.g. "Informed Consent" is A.1). Then:
21+
22+
- [ ] Create a new bullet in the `links` section for that line ID, following the format of other examples.
23+
- [ ] After `text`:, write a succinct one sentence summary of what went wrong.
24+
- [ ] After `url`:, paste the url to the article or research paper.
25+
26+
Your change to the `examples_of_ethical_issues.yml` should look something like this:
27+
28+
```
29+
- text: Facebook uses phone numbers provided for two-factor authentication to target users with ads.
30+
url: https://techcrunch.com/2018/09/27/yes-facebook-is-using-your-2fa-phone-number-to-target-you-with-ads/
31+
```
32+
33+
### 2. Changing the checklist
34+
35+
Given [our defined perspective on the checklist](#background-and-perspective), we will consider changes to the default checklist that fit with that perspective and follow this process. Our goal is to have checklist items that are actionable as part of a review of data science work or as part of a plan. Please avoid suggesting items that are too vague (e.g., "do no harm") or too specific (e.g., "remove social security numbers from data").
36+
37+
As part of deon's goal to provide concrete, actionable reminders of the influence of data scientists' choices on the ethics of data science projects, each addition to to the checklist must be accompanied by an example.
38+
39+
The steps for this contribution are:
40+
- [ ] Edit the `checklist.yml` file.
41+
- [ ] Add an example to the `examples_of_ethical_issues.yml` file.
42+
- [ ] Open a PR that follows the guidelines below.
43+
44+
#### How to edit the checklist yaml
45+
46+
Navigate to the section of [`deon/assets/checklist.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/checklist.yml) where your addition or change applies (e.g. Data Storage). Then follow the format of the other checklist items in making your contribution:
47+
48+
- [ ] Create a new bullet in the `lines` section for that `line_id`, following the format of other checklist items. Ensure the numbering of all line_ids in the section is sequential.
49+
- [ ] After `line_summary`, describe the topic of your question in a few words.
50+
- [ ] After `line`, add the new checklist question.
51+
52+
#### How to edit the examples table yaml
53+
54+
[See this section above](#how-to-edit-the-examples-table-yaml).
55+
56+
#### Pull request guidelines
57+
58+
A pull request to add an item to the checklist should change the following files:
59+
60+
1. [`deon/assets/checklist.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/checklist.yml): contains the default checklist items
61+
2. [`deon/assets/examples_of_ethical_issues.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/examples_of_ethical_issues.yml): contains example of harms caused when the item was not considered
62+
63+
The description in the pull request must include:
64+
- A justification for the change
65+
- A consideration of related items that already exist, and why this change is different from what exists
66+
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
67+
68+
## Release process (for maintainers)
869

970
The [`release`](https://github.com/drivendataorg/deon/blob/main/.github/workflows/release.yml) GitHub Actions workflow automates the process of releasing a new version of `deon`.
1071

README.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -229,18 +229,17 @@ Our goal is to have checklist items that are actionable as part of a review of d
229229

230230
**Note: This process is an experiment and is subject to change based on how well it works. Our goal is to avoid flame wars in the issue threads while still making a tool that will make adding an ethics checklist to a project easy.**
231231

232-
To request a change, please file an issue with a title that starts with one of: "CREATE, UPDATE, DELETE". There are FOUR requirements for an issue requesting a change to the checklist:
233-
234-
- A justification for the change
235-
- At least 10 thumbs up from the community for the issue
236-
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
237-
- A consideration of related items that already exist, and why this change is different from what exists
238-
239232
A pull request to add an item should change:
240233

241234
- [`deon/assets/checklist.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/checklist.yml): contains the default checklist items
242235
- [`deon/assets/examples_of_ethical_issues.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/examples_of_ethical_issues.yml): contains example of harms caused when the item was not considered
243236

237+
The description in the pull request must include:
238+
239+
- A justification for the change
240+
- A consideration of related items that already exist, and why this change is different from what exists
241+
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
242+
244243
# Discussion and commentary
245244

246245
In addition to this documentation, the [wiki pages for the GitHub repository](https://github.com/drivendataorg/deon/wiki) are enabled. This is a good place for sharing of links and discussion of how the checklsits are used in practice.

docs/docs/index.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -222,18 +222,17 @@ Our goal is to have checklist items that are actionable as part of a review of d
222222

223223
**Note: This process is an experiment and is subject to change based on how well it works. Our goal is to avoid flame wars in the issue threads while still making a tool that will make adding an ethics checklist to a project easy.**
224224

225-
To request a change, please file an issue with a title that starts with one of: "CREATE, UPDATE, DELETE". There are FOUR requirements for an issue requesting a change to the checklist:
226-
227-
- A justification for the change
228-
- At least 10 thumbs up from the community for the issue
229-
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
230-
- A consideration of related items that already exist, and why this change is different from what exists
231-
232225
A pull request to add an item should change:
233226

234227
- [`deon/assets/checklist.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/checklist.yml): contains the default checklist items
235228
- [`deon/assets/examples_of_ethical_issues.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/examples_of_ethical_issues.yml): contains example of harms caused when the item was not considered
236229

230+
The description in the pull request must include:
231+
232+
- A justification for the change
233+
- A consideration of related items that already exist, and why this change is different from what exists
234+
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
235+
237236
# Discussion and commentary
238237

239238
In addition to this documentation, the [wiki pages for the GitHub repository](https://github.com/drivendataorg/deon/wiki) are enabled. This is a good place for sharing of links and discussion of how the checklsits are used in practice.

docs/md_templates/_common_body.tpl

+9-8
Original file line numberDiff line numberDiff line change
@@ -156,20 +156,21 @@ Please see [the framing](#background-and-perspective) for an understanding of ou
156156

157157
Our goal is to have checklist items that are actionable as part of a review of data science work or as part of a plan. Please avoid suggesting items that are too vague (e.g., "do no harm") or too specific (e.g., "remove social security numbers from data").
158158

159-
**Note: This process is an experiment and is subject to change based on how well it works. Our goal is to avoid flame wars in the issue threads while still making a tool that will make adding an ethics checklist to a project easy.**
160-
161-
To request a change, please file an issue with a title that starts with one of: "CREATE, UPDATE, DELETE". There are FOUR requirements for an issue requesting a change to the checklist:
162-
163-
- A justification for the change
164-
- At least 10 thumbs up from the community for the issue
165-
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
166-
- A consideration of related items that already exist, and why this change is different from what exists
159+
**Note: This process is an experiment and is subject to change based on how well it works.**
167160

168161
A pull request to add an item should change:
169162

170163
- [`deon/assets/checklist.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/checklist.yml): contains the default checklist items
171164
- [`deon/assets/examples_of_ethical_issues.yml`](https://github.com/drivendataorg/deon/blob/main/deon/assets/examples_of_ethical_issues.yml): contains example of harms caused when the item was not considered
172165

166+
The description in the pull request must include:
167+
168+
- A justification for the change
169+
- A consideration of related items that already exist, and why this change is different from what exists
170+
- A published example (academic or press article) of where neglecting the principle has lead to concrete harm (articles that discuss potential or hypothetical harm will not be considered sufficient)
171+
172+
See detailed [contributing instructions here](https://github.com/drivendataorg/deon/blob/main/CONTRIBUTING.md).
173+
173174
# Discussion and commentary
174175

175176
In addition to this documentation, the [wiki pages for the GitHub repository](https://github.com/drivendataorg/deon/wiki) are enabled. This is a good place for sharing of links and discussion of how the checklsits are used in practice.

0 commit comments

Comments
 (0)