You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: how-to/editor-in-chief-guide.md
+69-30Lines changed: 69 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,14 +19,14 @@ Here are some helpful resources to support you in your Editor in Chief role:
19
19
20
20
The Editor in Chief (EiC) is a rotating position, typically selected from the
21
21
current editorial team. It may also be held by a member of the broader
22
-
pyOpenSci community who is familiar with our organization and software peer
22
+
pyOpenSci community, who is familiar with our organization and software peer
23
23
review.
24
24
25
25
The EiC term lasts **3 to 6 months**, or another duration agreed upon with the
26
-
Peer Review Lead. If the EiC needs to step down early, we request at least
26
+
[Peer Review Lead (currently the Executive Director)](https://www.pyopensci.org/handbook/governance/structure.html#peer-review-lead). If the EiC needs to step down early, we request at least
27
27
**two weeks’ notice** to allow time to identify and onboard a replacement.
28
28
29
-
The Editor in Chief fulfills the roles discussed below:
29
+
The Editor in Chief fulfills the roles discussed below:
30
30
31
31
### 1. Manage incoming reviews
32
32
@@ -43,18 +43,17 @@ to stay up to date on new submissions.
43
43
* Flag scope or overlap concerns. Raise questions by tagging editors in
44
44
`#software-review` or, if needed, in `#private-editorial-team`.
45
45
* Assign submissions to handling editors based on:
46
-
- subject matter fit
47
-
- editor availability
46
+
* subject matter fit
47
+
* editor availability
48
48
49
49
> The EiC may assign a package to themselves if they have capacity and want to
50
50
> lead the review.
51
51
52
52
### 2. Manage pre-submission inquiries
53
53
54
-
* Respond to pre-submission inquiries and help assess scope or structure in
55
-
the `#software-review` Slack channel.
56
-
* Handle or delegate review referrals from the Journal of Open Source Software
57
-
(JOSS) or other partners.
54
+
* Respond to pre-submission inquiries and assess package scope or structure.
55
+
* Handle or delegate review referrals from the [Journal of Open Source Software
56
+
(JOSS)](joss) or other partners.
58
57
59
58
### 3. Monitor review progress
60
59
@@ -70,12 +69,11 @@ The dashboard highlights:
70
69
* Stale issues with no recent comments
71
70
72
71
If a review has been inactive for 3–4 weeks, message the editor in Slack to
73
-
check in. You or the peer review lead can help move things forward. If needed,
72
+
check in. You or the [Peer Review Lead](https://www.pyopensci.org/handbook/governance/structure.html#peer-review-lead) can help move things forward. If needed,
74
73
discuss in the `#private-editorial-team` channel.
75
74
76
75
:::{tip}
77
-
Need help unblocking a review? Contact the acting peer review lead (currently
78
-
the Executive Director of pyOpenSci).
76
+
Need help unblocking a review? Contact the acting Peer Review Lead.
79
77
:::
80
78
81
79
### 4. Monitor package maintenance
@@ -95,7 +93,7 @@ responding to out-of-scope pre-submissions.
95
93
:::
96
94
97
95
:::{note}
98
-
If the EiC has limited time to handle pre-review checks for a package, a conflict of interest, or lacks relevant expertise, they may ask another editor to perform initial checks on a package at any time.
96
+
If the EiC has limited time to handle [pre-review checks](pre-review-checks) for a package, a conflict of interest, or lacks relevant expertise, they may ask another editor to perform initial checks on a package at any time.
@@ -148,11 +147,13 @@ These checks confirm that the package meets the **minimum standards for
148
147
review**. In many cases, going through this process improves the package itself.
149
148
150
149
The EiC may ask another editor to complete the checks if:
150
+
151
151
* They are overwhelmed with new submissions.
152
152
* They are temporarily unavailable.
153
153
* Another editor has relevant domain or technical expertise.
154
154
155
155
(editor-checklist-template)=
156
+
156
157
### Editor-in-chief checklist
157
158
158
159
Copy the template below and use it in the review issue.
@@ -176,7 +177,7 @@ Once the package is determined to be in scope, the pre-review surveys are comple
176
177
are done, it's time to assign an editor.
177
178
178
179
Use the [editorial dashboard](https://www.pyopensci.org/metrics/peer-review/editorial-dashboard.html)
179
-
to check which editors are currently available.
180
+
to check which editors are currently available and what domains those editors are familiar with.
180
181
181
182
Once you’ve selected an editor:
182
183
@@ -185,8 +186,8 @@ Once you’ve selected an editor:
185
186
3. Add the `1/editor-assigned` label to the issue
186
187
187
188
:::{note}
188
-
If no current editor with relevant expertise is available, work with the peer
189
-
review lead to recruit a guest editor or onboard someone new.
189
+
If there isn't an available editor with relevant expertise for a review, work with the [Peer
190
+
Review Lead](https://www.pyopensci.org/handbook/governance/structure.html#peer-review-lead) to recruit a guest editor or onboard someone new.
190
191
191
192
Follow the [onboarding guide](onboarding-guide.md), and complete the full
192
193
[onboarding process](onboarding-a-new-editor) to ensure they have:
@@ -195,12 +196,13 @@ Follow the [onboarding guide](onboarding-guide.md), and complete the full
195
196
* Slack access
196
197
* Everything needed to manage the review
197
198
199
+
[Share this document with any new editor to help them get started.](https://docs.google.com/document/d/1UfG1Fe5wSiEAObvqNMT4etZ5sx7QXzW0f8mozKyK1NE/edit?tab=t.0)
200
+
198
201
See the [editor guide](editors-guide.md) for more on an editor’s responsibilities. Once the editor is assigned, your
199
-
work on the review is complete and they will now begin identifying reviewers.
202
+
work on the review is complete, and they will now begin identifying reviewers.
200
203
201
204
:::
202
205
203
-
204
206
:::{admonition} Diversity in the editorial & reviewer team is important
205
207
:class: important
206
208
@@ -220,11 +222,11 @@ After assigning the editor to the issue and adding the `1/editor-assigned` label
220
222
* Add any final comments to the bottom of your pre-review checklist comment
221
223
222
224
:::{important}
223
-
Be sure to update both the **GitHub assignment** and the **YAML header** with the editors name. Our peer
224
-
review dashboard depends on both!
225
+
Be sure to update both the **GitHub assignment** and the **YAML header** with the editor's name. Our [peer
226
+
review dashboard](https://www.pyopensci.org/metrics/peer-review/current-review-status.html) depends on both!
225
227
:::
226
228
227
-
## A note about submissions that are incomplete or vague
229
+
## Handling submissions that are incomplete or vague
228
230
229
231
Sometimes a submission lacks enough information to assess whether it’s in
230
232
scope. For example:
@@ -257,13 +259,50 @@ this issue how your package is "best in class." You can refer to our
257
259
258
260
```
259
261
262
+
## Addressing challenges in the review process
263
+
264
+
During the review, you may encounter challenges that require resolution.
265
+
266
+
* For **technical issues** such as repository access, GitHub integration, or platform problems, post in the `#pyos-infrastructure` Slack channel where our technical team can assist you.
267
+
268
+
* For **behavior concerns** including unprofessional communication, harassment, or guideline violations, use our [pyOpenSci Code of Conduct](https://www.pyopensci.org/handbook/CODE_OF_CONDUCT.html) as guidance. Follow the Code of Conduct reporting procedures and notify the Peer Review Lead of the issue.
269
+
270
+
* For **conflicts of interest** involving financial, professional, or personal conflicts between reviewers and authors, you can post in the `private-editorial-channel` Slack channel or contact the Peer Review Lead directly if you prefer a more confidential approach.
271
+
272
+
* For **all other questions** related to the review process, you can contact the Peer Review Lead for guidance and support.
273
+
274
+
## Keeping the review process moving forward
275
+
276
+
The pyOpenSci peer review metrics dashboard can help you keep tabs on review status.
277
+
278
+
### Keeping track of reviews that need editors
279
+
280
+
The [editors needed table](https://www.pyopensci.org/metrics/peer-review/current-review-status.html#editors-needed) and [reviewers needed table](https://www.pyopensci.org/metrics/peer-review/current-review-status.html#reviewers-needed) lists reviews that are still searching for editors and reviewers.
281
+
282
+
### How to handle stalled reviews
283
+
284
+
*[This table contains a list of all open reviews (and pre-review submissions).](https://www.pyopensci.org/metrics/peer-review/current-review-status.html#all-open-reviews). You can sort it by **last comment date** to understand better what reviews have been "quiet" and might need a nudge to move forward.
285
+
286
+
If you notice that a review hasn't been active in over 1+ months, do the following:
287
+
288
+
1. Leave a note on the review to see what the state of the review is.
289
+
2. If no one responds to the comment within ~2 weeks, consider DM'ing the editor in the pyOpenSci Slack to see if they are still able to move the review forward.
290
+
3. If a DM to the editor doesn't work, consider sending an email next. Oftentimes, people lose track of GitHub notifications, but they respond to emails.
291
+
4. If all of the above fail and there is no movement on the review, post in the `#private-editorial-team` channel in our Slack, and the peer review lead can help you move things forward. In some cases, you may need to find a new editor who has more bandwidth to complete the review. In other cases, the editor will step back in and get things moving again.
292
+
293
+
If you need to find a new editor, the [editors available for a review](https://www.pyopensci.org/metrics/peer-review/current-review-status.html#editors-available-for-a-review) lists editors that are not currently running a review.
294
+
295
+
:::{tip}
296
+
If the editor is struggling with reviewers not responding, see [the editor guide for more information on how to manage this](reviewer-response-time)
297
+
:::
298
+
260
299
## Responding to out-of-scope submissions
261
300
262
301
If a package is determined to be out of scope, thank the author for their
263
302
submission, briefly explain why it is not in scope, and suggest other venues
264
303
for review if relevant.
265
304
266
-
Keep the conversation respectful and clear. If the author has questions,
305
+
Keep the conversation respectful and transparent. If the author has questions,
267
306
continue the discussion in the GitHub issue.
268
307
269
308
## Stepping down from the EiC role
@@ -272,10 +311,9 @@ As your term ends, help onboard the next Editor in Chief.
272
311
273
312
* Set a calendar reminder 2–3 weeks before your term ends and begin to communicate with the incoming editor-in-chief about the transition.
274
313
* Craft a summary of where peer review is, and where the incoming Editor in Chief will need to pick up.
275
-
* Let the peer review lead know that a transition is coming soon so they can support as needed.
314
+
* Let the Peer Review Lead know that a transition is coming soon so they can support as needed.
276
315
* If you can, try to be available after your term has ended to answer questions and support a smooth transition for the new editor in chief
277
316
278
-
279
317
:::{important}
280
318
If you are leading any active reviews as EiC, you must hand them off to the
281
319
incoming Editor in Chief before stepping down. This ensures continuity and
@@ -298,9 +336,10 @@ the peer review lead directly.
298
336
299
337
### EiC Transition Checklist
300
338
301
-
-[ ] Set calendar reminder 3 weeks before term end
302
-
-[ ] Contact peer review lead about successor
303
-
-[ ] Document active reviews and their status
304
-
-[ ] Hand off any reviews you're personally handling
305
-
-[ ] Write reflection summary
306
-
-[ ] Schedule handoff meeting with incoming EiC
339
+
*[ ] Set calendar reminder 3 weeks before term end
340
+
*[ ] Contact peer review lead about successor
341
+
*[ ] Document active reviews and their status
342
+
*[ ] Hand off any reviews you're personally handling
Copy file name to clipboardExpand all lines: how-to/editors-guide.md
+26-26Lines changed: 26 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,6 @@
1
1
# pyOpenSci Software Review Editor Guide
2
2
3
-
<!--
4
-
```{note}
5
-
PyOpenSci has a partnership with JOSS where packages that are in-scope for JOSS
6
-
can be directly accepted into the JOSS ecosystem through the pyOpenSci review.
7
-
The JOSS component of the review happens after all of the review on the
8
-
pyOpenSci side is complete and it begins through direct communication with a
9
-
JOSS editor.
10
-
``` -->
11
-
12
-
Thank you for your time in serving as an editor for a PyOpenSci package! Below you will find some
3
+
Thank you for your time in serving as an editor for a pyOpenSci package! Below, you will find some
13
4
information about the role that editors have in the
14
5
pyOpenSci Python open peer review process.
15
6
@@ -18,8 +9,8 @@ pyOpenSci Python open peer review process.
18
9
Editors generally should:
19
10
20
11
- Have completed a review for _at least_ 1 package for pyOpenSci.
21
-
- Have some experience with opensource software that supports the scientific
22
-
Python community. This experience could be maintaining or contributing to packages. It also could be experience related to usability of opensource software and/or documentation, tutorials etc. Or finally it could be involvement in the scientific Python community in some other way.
12
+
- Have some experience with open-source software that supports the scientific
13
+
Python community. This experience could be maintaining or contributing to packages. It could also be experience related to usability of open-source software and/or documentation, tutorials, etc. Alternatively, it could involve participation in the broader scientific Python community in another capacity.
23
14
24
15
## Two types of editors
25
16
@@ -29,16 +20,16 @@ There are two types of editors involved in our open peer review process:
29
20
- Full editors
30
21
31
22
Both types of editors are considered a part of the editorial board for
32
-
pyOpenSci. The major difference between guest and full editors is:
23
+
pyOpenSci. The significant difference between guest and full editors are:
33
24
34
25
- A guest editor may only join the board for a single review.
35
26
- A guest editor may be new to pyOpenSci's review process and thus require a bit more support in their first review.
36
27
37
28
### Guest editors
38
29
39
-
A guest editor is is invited to lead a review in the
30
+
A guest editor is invited to lead a review in the
40
31
case where we need specific expertise for a single review. We also consider editors who are
41
-
performing their first review as guest editors as they may require more
32
+
performing their first review as guest editors, as they may require more
42
33
guidance or mentorship to complete the review (if they are new to our organization).
43
34
44
35
New editors who wish to continue on as full editors for pyOpenSci may do so
@@ -284,36 +275,45 @@ Be sure to:
284
275
285
276
* explain why the decision was made
286
277
* thank them for their work
287
-
* make a note <TBD where this will be documented> to assign the reviewer to another submission with high chance of smooth
288
-
review next time (e.g. a package author who has already submitted packages to us).
278
+
* make a note <TBD where this will be documented> to assign the reviewer to another submission with a high chance of smooth
279
+
review next time (for example, a package author who has already submitted packages to us).
289
280
```
290
281
282
+
(reviewer-response-time)=
283
+
## What to do if reviewers become quiet
284
+
In some cases, the reviewers get busy and stop responding to the issue. If a reviewer hasn't responded to a direct ping `@reviewer-user-name` on the issue, try to email them (if an email is available). If email doesn't work and they haven't responded in over a month, do the following:
285
+
286
+
1. If they have already submitted a review, you can move the review forward by making sure the review comments were addressed by the author yourself.
287
+
2. If the reviewer has not yet submitted a review in the issue, leave a note on the review that you will look for a new reviewer. When you find a new reviewer, replace the old reviewer's name with the new reviewer's name in the YAML at the top of the issue.
288
+
289
+
In some cases, you may be able to find an editor or reviewers in the pyOpenSci Slack community that can help move the review forward.
290
+
291
291
## Putting a review on hold & handling non-responsive authors
292
292
293
293
In some cases, an author may need more time to respond to
294
294
review comments. In this case, the author can choose to have
295
-
their submission put on hold. As an editor you should apply the `holding label` to the GitHub issue.
295
+
their submission put on hold. As an editor, you should apply the `holding label` to the GitHub issue.
296
296
297
297
The holding status will be revisited every 3 months.
298
298
299
-
After one year the issue will be closed if there is no movement towards responding to reviews by the author.
299
+
After one year, the issue will be closed if there is no movement towards responding to reviews by the author.
300
300
301
-
If the author simply not responding, the editor should:
301
+
If the author is not responding, the editor should:
302
302
303
303
- Tag the author (`@author-github-handle`) in an issue comment notifying them that we will close the issue in one month if there is no response.
304
-
- Close the issue if one month has passed without a reply.
304
+
- Close the issue if two months have passed without a reply.
305
305
306
-
If needed you can also chose to email the author. using the email provided in the package metadata file of the package. The email
307
-
could be in any of the three files in the package: `setup.py`, `pyproject.toml` (preferred) or `setup.cfg`.
306
+
Before closing the issue email the author using the email provided in the package metadata file of the package. The email
307
+
could be in any of the three files in the package: `setup.py`, `pyproject.toml` (preferred), or `setup.cfg`.
308
308
309
309
```{important}
310
-
If a submission is closed and the author wishes to re-submit, they will have to start a new submission.
310
+
If a submission is closed and the author wishes to resubmit, they will have to start a new submission.
311
311
312
312
If the package is still in scope, the author will have to
313
313
respond to the first round of reviews first. After that is
314
314
complete, you can begin looking for new reviewers to
315
-
evaluated the package. This ensures that none of the review
316
-
energy spent in the first review, goes to waste.
315
+
evaluate the package. This ensures that none of the review
316
+
energy spent in the first review goes to waste.
317
317
```
318
318
319
319
### ✔️ 6. How to accept a package into the pyOpenSci ecosystem
0 commit comments