Skip to content

Commit d5674c6

Browse files
InessaPawsonlwasser
authored andcommitted
Update policies.md
- Fixes misspellings - Adopts consistent use of the Oxford comma - Unifies capitalization in headings - Reformats code according to PEP 8
1 parent 9c44446 commit d5674c6

File tree

1 file changed

+122
-74
lines changed

1 file changed

+122
-74
lines changed

our-process/policies.md

Lines changed: 122 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -2,133 +2,181 @@
22

33
## Review Process Guidelines
44

5-
pyOpenSci packages are reviewed for quality, fit, scope,
6-
documentation and usability. The review process
7-
is similar to a manuscript review, however it has a stronger
8-
focus on Python packaging best practices.
5+
pyOpenSci packages are reviewed for quality, fit, scope, documentation, and
6+
usability. The review process is similar to a manuscript review, however, it
7+
has a stronger focus on Python packaging best practices.
98

10-
Unlike a manuscript review, our peer review process is an ongoing conversation. Once all major issues and questions are addressed, the review editor package will make a decision to accept, hold, or reject the package.
9+
Unlike a manuscript review, our peer review process is an ongoing conversation.
10+
Once all major issues and questions are addressed, the review editor will make
11+
a decision to accept, hold, or reject the package.
1112

12-
Rejections are usually done early in the process, before the review process begins. In rare cases a package may also not be on-boarded into the pyOpenSci ecosystem after review & revision.
13+
Rejections are usually done early in the process, before the review process
14+
begins. In rare cases, a package may also not be on-boarded into the pyOpenSci
15+
ecosystem after review & revision.
1316

14-
It is ultimately the editor’s decision on whether or not to reject the package based on how the reviews are addressed.
17+
It is ultimately the editor’s decision on whether or not to reject the package
18+
based on how the reviews are addressed.
1519

16-
## Review communication approach
20+
## Review Communication Approach
1721

18-
Communication between authors, reviewers and editors takes
19-
place on GitHub. You can, however choose to contact the editor by email if needed.
22+
Communication between authors, reviewers, and editors takes
23+
place on GitHub. You can, however choose to contact the editor by email if
24+
needed.
2025

21-
When submitting a package, please make sure that your GitHub notification settings are setup to notify you when you receive feedback on the review issue.
26+
When submitting a package, please make sure that your GitHub notification
27+
settings are setup to notify you when you receive feedback on the review issue.
2228

23-
## Submitting your package for review in other venues
29+
## Submitting Your Package for Review in Other Venues
2430

2531
We recommend submitting your package for review with pyOpenSci before
2632
submitting a software paper describing the package to a journal.
2733

2834
Review feedback may result in major improvements and updates to your package,
2935
including changes that could be break package functionality.
3036

31-
Applying reviewer or editor recommendations to your package can improve your user's experience with future versions of your package
32-
even if your package is already published on `PyPI` or `conda-forge`.
37+
Applying reviewer or editor recommendations to your package can improve your
38+
users' experience with future versions of your package even if your package is
39+
already published on `PyPI` or `conda-forge`.
3340

34-
> Please do not submit your package for review while it or an associated manuscript is
35-
> also under review at another venue, as this may result on conflicting requests
36-
> for changes from two sets of reviewers.
41+
> Please do not submit your package for review while it or an associated
42+
> manuscript is also under review at another venue, as this may result on
43+
> conflicting requests for changes from two sets of reviewers.
3744
3845
### Publication with Journal of Open Source Software (JOSS)
3946

4047
If you have previously published your software package with JOSS, you can still
4148
submit it to pyOpenSci for review. This provides:
4249

43-
- Increased visibility of your package as a vetted tool within the scientific python ecosystem
44-
- We will also keep in touch with you as a maintainer to support long term maintenance. If you need to step down from maintaining your package we will help find a new maintainer and/or help sunset the tool.
50+
- Increased visibility of your package as a vetted tool within the scientific Python
51+
ecosystem
52+
- We will also keep in touch with you as a maintainer to support long-term
53+
maintenance. If you need to step down from maintaining your package, we will help
54+
find a new maintainer and/or help sunset the tool.
4555

4656
(coi)=
4757

48-
### Conflict of interest for reviews and editors
49-
50-
Following criteria are meant to be a guide for what constitutes a conflict of interest
51-
for an editor or reviewer. The potential editor or reviewer has a conflict of interest
52-
if:
53-
54-
- The authors with a major role are from the potential reviewer/editor’s institution or institutional component (e.g., department)
55-
- Within in the past three years, the potential reviewer/editor has been a collaborator
56-
or has had any other professional relationship with any person on the package who has
57-
a major role
58-
- The potential reviewer/editor serves as a member of the advisory board for the project under review
59-
- The potential reviewer/editor would receive a direct or indirect financial benefit if the package is accepted
60-
- The potential reviewer/editor has significantly contributed to a competitor project.
61-
- There is also a lifetime COI for the family members, business partners, and thesis student/advisor or mentor.
58+
## Conflict of Interest for Reviews and Editors
59+
60+
Following criteria are meant to be a guide for what constitutes a conflict of
61+
interest (COI) for an editor or reviewer. The potential editor or reviewer has
62+
a conflict of interest if:
63+
64+
- The authors with a major role are from the potential reviewer/editor’s
65+
institution or institutional component (e.g., department).
66+
- Within the past three years, the potential reviewer/editor has been a
67+
collaborator or has had any other professional relationship with any person
68+
on the package who has a major role.
69+
- The potential reviewer/editor serves as a member of the advisory board for
70+
the project under review.
71+
- The potential reviewer/editor would receive a direct or indirect financial
72+
benefit if the package is accepted.
73+
- The potential reviewer/editor has significantly contributed to a competitor
74+
project.
75+
- There is also a lifetime COI for family members, business partners,
76+
thesis students/advisors, or mentors.
6277

6378
In the case where none of the associate editors can serve as editor, an
6479
external guest editor will be recruited to lead the package review.
6580

66-
## Review timelines and on-hold reviews
81+
## Review Timelines and On-Hold Reviews
6782

68-
At any time, an author can choose to have their submission put on hold (the editor applies the `on-hold` label to the GitHub issue). The `on-hold` status will be revisited every 3 months. If after one year there has been no movement on the review, then the issue will be closed.
83+
At any time, an author can choose to have their submission put on hold
84+
(the editor applies the `on-hold` label to the GitHub issue). The `on-hold`
85+
status will be revisited every 3 months. If after one year there has been
86+
no movement on the review, the issue will be closed.
6987

7088
## After Acceptance: Package Ownership and Maintenance
7189

72-
Package authors are expected to maintain and develop their software and retain
73-
ownership of it after acceptance into pyOpenSci, as per the peer review agreement
74-
acknowledged upon submission. This maintenance commitment should last for at
75-
least two years. The pyOpenSci team will not interfere with day-to-day tool
76-
maintenance unless explicitly added as collaborators.
90+
Package authors are expected to maintain and develop their software and
91+
retain
92+
ownership of it after acceptance into pyOpenSci, as per the peer review
93+
agreement acknowledged upon submission. This maintenance commitment should
94+
last for at least two years. The pyOpenSci team will not interfere with
95+
day-to-day tool maintenance unless explicitly added as collaborators.
7796

78-
If you need to step down from maintaining your accepted pyOpenSci package, please
79-
promptly notify the pyOpenSci Editor-in-Chief or Software Review Lead. pyOpenSci
80-
will collaborate with you to either:
97+
If you need to step down from maintaining your accepted pyOpenSci package,
98+
please promptly notify the pyOpenSci Editor-in-Chief or Software Review Lead.
99+
pyOpenSci will collaborate with you to either:
81100

82101
- Find a new maintainer or
83-
- Archive the tool, depending on what best suits your specific scientific Python
84-
package.
102+
- Archive the tool, depending on what best suits your specific scientific
103+
Python package.
85104

86-
We will reach out to our package maintainers each year to verify the package is actively maintained
87-
and to see if there are any updates we can highlight through our social channels.
105+
We will reach out to our package maintainers each year to verify the
106+
package is actively maintained and to see if there are any updates we can
107+
highlight through our social channels.
88108

89109
### Maintenance Tracking
90110

91-
pyOpenSci is building a system to track package metrics and activity, including issues, pull requests, and dates of
92-
the last release and last commit to the package repository. Activity is defined as a repository commit, pull request or release.
111+
pyOpenSci is building a system to track package metrics and activity,
112+
including issues, pull requests, and dates of the last release and last commit
113+
to the package repository. Activity is defined as a repository commit, pull
114+
request, or release.
93115

94-
We will flag packages that haven't been updated within a 1 year/ 12 month time period based on activity. Packages with no activity after 12 months will be flagged. At that time, pyOpenSci editorial team member will contact the package maintainers to evaluate the maintenance status of their package.
116+
We will flag packages that haven't been updated within a 1 year/ 12 month time
117+
period based on activity. Packages with no activity after 12 months will be
118+
flagged. At that time, pyOpenSci editorial team member will contact the package
119+
maintainers to evaluate the maintenance status of their package.
95120

96121
(archive-process)=
97122

98-
## Package Maintenance and Maintainer Responsiveness
123+
### Package Maintenance and Maintainer Responsiveness
99124

100-
If, after one year, package maintainers are unresponsive to requests for package
101-
fixes or messages from the pyOpenSci team, we will initiate discussions about
102-
the package's ongoing inclusion within the pyOpenSci ecosystem.
125+
If, after one year, package maintainers are unresponsive to requests for
126+
package fixes or messages from the pyOpenSci team, we will initiate
127+
discussions about the package's ongoing inclusion within the pyOpenSci
128+
ecosystem.
103129

104-
In cases where a package is heavily used by the community, we may collaborate
105-
with the community to identify reasonable next steps, such as assisting in finding a new maintainer. If a solution for ongoing package maintenance is not found, the package will be
106-
archived within the pyOpenSci ecosystem.
130+
In cases where a package is heavily used by the community, we may
131+
collaborate with the community to identify reasonable next steps, such as
132+
assisting in finding a new maintainer. If a solution for ongoing package
133+
maintenance is not found, the package will be archived within the pyOpenSci
134+
ecosystem.
107135

108136
If a sub-community decides to fork and maintain the package, we are open to
109-
working with the new maintainers to register the newly forked package within our ecosystem. The original package will be archived with a link to the new fork.
137+
working with the new maintainers to register the newly forked package within
138+
our ecosystem. The original package will be archived with a link to the new
139+
fork.
110140

111141
### Quality Commitment
112142

113-
pyOpenSci strives to develop and promote high quality research software. To ensure that
114-
your software meets our criteria, we review all of our submissions as part of the
115-
Software Peer Review process. We expect that you will continue to maintain a
116-
package that has been accepted continually.
143+
pyOpenSci strives to develop and promote high quality research software. To
144+
ensure that your software meets our criteria, we review all of our submissions
145+
as part of the Software Peer Review process. We expect that you will continue
146+
to maintain a package that has been accepted continually.
117147

118-
Despite our best efforts to support contributed software, errors are the responsibility
119-
of individual maintainers. Buggy, unmaintained software may be removed from our suite at
120-
any time. We also ask maintainers that they get in touch with us if they do need
121-
to step down from maintaining a tool.
148+
Despite our best efforts to support contributed software, errors are the
149+
responsibility of individual maintainers. Buggy, unmaintained software may
150+
be removed from our suite at any time. We also ask maintainers that they get
151+
in touch with us if they do need to step down from maintaining a tool.
122152

123-
### Requesting package removal from the pyOpenSci ecosystem
153+
### Requesting Package Removal from the pyOpenSci Ecosystem
124154

125-
In the unlikely scenario that a contributor of a package requests removal of their
126-
package from our ecosystem, we retain the right offer the last / most recently released version of that package in our ecosystem for archival purposes only.
155+
In the unlikely scenario that a contributor of a package requests removal of
156+
their package from our ecosystem, we retain the right offer the last / most
157+
recently released version of that package in our ecosystem for archival
158+
purposes only.
127159

128160
### Archiving a Package
129161

130-
If a package appears to be longer maintained, we may move to mark it as archived which move the package from our [main package listing](https://www.pyopensci.org/python-packages.html#all-packages) to our [archived packaging](https://www.pyopensci.org/python-packages.html#archived-packages) listing section.
131-
132-
To archive a pyOpenSci approved package, ad the [archive label](https://github.com/pyOpenSci/software-submission/issues?q=label%3Aarchived) to the original review issue. Once this label is applied to the issue, the website will automatically update to reflect this status. If at any point in the future, an archived package undergoes active maintenance again, this label can be removed from the issue to move the package back to an active status.
133-
134-
We opt to archive inactive packages rather than remove them to preserve the history and contributions of the software, ensuring that others can still access and learn from it. This approach maintains the integrity of the scientific record and allows for potential future reactivation or forking of the project. By archiving rather than removing, we provide a clear status of the package while keeping its legacy intact for reference and educational purposes.
162+
If a package appears to be no longer maintained, we may move to mark it as
163+
archived which moves the package from our
164+
[main package listing](https://www.pyopensci.org/python-packages.html#all-packages)
165+
to our [archived packaging](https://www.pyopensci.org/python-packages.html#archived-packages)
166+
listing section.
167+
168+
To archive a pyOpenSci approved package, add the
169+
[archive label](https://github.com/pyOpenSci/software-submission/issues?q=label%3Aarchived)
170+
to the original review issue. Once this label is applied to the issue, the
171+
website will automatically update to reflect this status. If at any point
172+
in the future, an archived package undergoes active maintenance again, this
173+
label can be removed from the issue to move the package back to an active
174+
status.
175+
176+
We opt to archive inactive packages rather than remove them to preserve the
177+
history and contributions of the software, ensuring that others can still
178+
access and learn from it. This approach maintains the integrity of the
179+
scientific record and allows for potential future reactivation or forking
180+
of the project. By archiving rather than removing, we provide a clear
181+
status of the package while keeping its legacy intact for reference and
182+
educational purposes.

0 commit comments

Comments
 (0)