Skip to content

Commit ced7aa9

Browse files
committed
enh: eic overview page
1 parent d9806fc commit ced7aa9

File tree

4 files changed

+108
-71
lines changed

4 files changed

+108
-71
lines changed

how-to/editor-in-chief-guide.md

Lines changed: 69 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ Here are some helpful resources to support you in your Editor in Chief role:
1919

2020
The Editor in Chief (EiC) is a rotating position, typically selected from the
2121
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
2323
review.
2424

2525
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
2727
**two weeks’ notice** to allow time to identify and onboard a replacement.
2828

29-
The Editor in Chief fulfills the roles discussed below:
29+
The Editor in Chief fulfills the roles discussed below:
3030

3131
### 1. Manage incoming reviews
3232

@@ -43,18 +43,17 @@ to stay up to date on new submissions.
4343
* Flag scope or overlap concerns. Raise questions by tagging editors in
4444
`#software-review` or, if needed, in `#private-editorial-team`.
4545
* Assign submissions to handling editors based on:
46-
- subject matter fit
47-
- editor availability
46+
* subject matter fit
47+
* editor availability
4848

4949
> The EiC may assign a package to themselves if they have capacity and want to
5050
> lead the review.
5151
5252
### 2. Manage pre-submission inquiries
5353

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.
5857

5958
### 3. Monitor review progress
6059

@@ -70,12 +69,11 @@ The dashboard highlights:
7069
* Stale issues with no recent comments
7170

7271
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,
7473
discuss in the `#private-editorial-team` channel.
7574

7675
:::{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.
7977
:::
8078

8179
### 4. Monitor package maintenance
@@ -95,7 +93,7 @@ responding to out-of-scope pre-submissions.
9593
:::
9694

9795
:::{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.
9997
:::
10098

10199
## Editor in Chief checklist
@@ -127,6 +125,7 @@ existing community, please check below:
127125
```
128126

129127
(pre-review-checks)=
128+
130129
### 3. ✔️ Add the pre-review checks to the issue
131130

132131
:::{important}
@@ -148,11 +147,13 @@ These checks confirm that the package meets the **minimum standards for
148147
review**. In many cases, going through this process improves the package itself.
149148

150149
The EiC may ask another editor to complete the checks if:
150+
151151
* They are overwhelmed with new submissions.
152152
* They are temporarily unavailable.
153153
* Another editor has relevant domain or technical expertise.
154154

155155
(editor-checklist-template)=
156+
156157
### Editor-in-chief checklist
157158

158159
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
176177
are done, it's time to assign an editor.
177178

178179
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.
180181

181182
Once you’ve selected an editor:
182183

@@ -185,8 +186,8 @@ Once you’ve selected an editor:
185186
3. Add the `1/editor-assigned` label to the issue
186187

187188
:::{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.
190191

191192
Follow the [onboarding guide](onboarding-guide.md), and complete the full
192193
[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
195196
* Slack access
196197
* Everything needed to manage the review
197198

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+
198201
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.
200203

201204
:::
202205

203-
204206
:::{admonition} Diversity in the editorial & reviewer team is important
205207
:class: important
206208

@@ -220,11 +222,11 @@ After assigning the editor to the issue and adding the `1/editor-assigned` label
220222
* Add any final comments to the bottom of your pre-review checklist comment
221223

222224
:::{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!
225227
:::
226228

227-
## A note about submissions that are incomplete or vague
229+
## Handling submissions that are incomplete or vague
228230

229231
Sometimes a submission lacks enough information to assess whether it’s in
230232
scope. For example:
@@ -257,13 +259,50 @@ this issue how your package is "best in class." You can refer to our
257259

258260
```
259261

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+
260299
## Responding to out-of-scope submissions
261300

262301
If a package is determined to be out of scope, thank the author for their
263302
submission, briefly explain why it is not in scope, and suggest other venues
264303
for review if relevant.
265304

266-
Keep the conversation respectful and clear. If the author has questions,
305+
Keep the conversation respectful and transparent. If the author has questions,
267306
continue the discussion in the GitHub issue.
268307

269308
## Stepping down from the EiC role
@@ -272,10 +311,9 @@ As your term ends, help onboard the next Editor in Chief.
272311

273312
* Set a calendar reminder 2–3 weeks before your term ends and begin to communicate with the incoming editor-in-chief about the transition.
274313
* 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.
276315
* 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
277316

278-
279317
:::{important}
280318
If you are leading any active reviews as EiC, you must hand them off to the
281319
incoming Editor in Chief before stepping down. This ensures continuity and
@@ -298,9 +336,10 @@ the peer review lead directly.
298336

299337
### EiC Transition Checklist
300338

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
343+
* [ ] Write reflection summary
344+
* [ ] Schedule handoff meeting with incoming EiC
345+
the Peer Review Lead directly.

how-to/editors-guide.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
# pyOpenSci Software Review Editor Guide
22

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
134
information about the role that editors have in the
145
pyOpenSci Python open peer review process.
156

@@ -18,8 +9,8 @@ pyOpenSci Python open peer review process.
189
Editors generally should:
1910

2011
- Have completed a review for _at least_ 1 package for pyOpenSci.
21-
- Have some experience with open source 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 open source 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.
2314

2415
## Two types of editors
2516

@@ -29,16 +20,16 @@ There are two types of editors involved in our open peer review process:
2920
- Full editors
3021

3122
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:
3324

3425
- A guest editor may only join the board for a single review.
3526
- A guest editor may be new to pyOpenSci's review process and thus require a bit more support in their first review.
3627

3728
### Guest editors
3829

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
4031
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
4233
guidance or mentorship to complete the review (if they are new to our organization).
4334

4435
New editors who wish to continue on as full editors for pyOpenSci may do so
@@ -284,36 +275,45 @@ Be sure to:
284275
285276
* explain why the decision was made
286277
* 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).
289280
```
290281

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+
291291
## Putting a review on hold & handling non-responsive authors
292292

293293
In some cases, an author may need more time to respond to
294294
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.
296296

297297
The holding status will be revisited every 3 months.
298298

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.
300300

301-
If the author simply not responding, the editor should:
301+
If the author is not responding, the editor should:
302302

303303
- 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.
305305

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`.
308308

309309
```{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.
311311
312312
If the package is still in scope, the author will have to
313313
respond to the first round of reviews first. After that is
314314
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.
317317
```
318318

319319
### ✔️ 6. How to accept a package into the pyOpenSci ecosystem

0 commit comments

Comments
 (0)