-
-
Notifications
You must be signed in to change notification settings - Fork 104
Adopt NumFOCUS code of conduct #669
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Hans Moritz Günther <[email protected]>
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.
Looks good, just a few small suggestions.
<p>Astropy is dedicated to providing a harassment-free community for everyone, | ||
regardless of gender, sexual orientation, gender identity and expression, disability, | ||
physical appearance, body size, race, or religion. We do not tolerate harassment | ||
of community members in any form.</p> |
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.
Add "ethnicity" and "nation of origin/residence"?
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.
@hamogu , are we allowed to add wordings that Clara suggested here and still stay opted in? Hope you can advise. Thanks!
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.
No, we are not. Either we use the NumFOCUS CoC verbatim, or we don't. We can make our own CoC based on NumFOCUS wording, but then it's not the NumFOCUS CoC. The reasons for that is mostly practical: If we want the NumFOCUS CoC working group to do anything for us (e.g. advise on issues, act as backstop if our own ombudsperson is conflicted), then we need to have all the same CoC. The WG simply doesn't have the capacity to keep track of > 50 CoC's with just subtly different rules.
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.
If we want the NumFOCUS CoC working group to do anything for us (e.g. advise on issues, act as backstop if our own ombudsperson is conflicted), then we need to have all the same CoC. The WG simply doesn't have the capacity to keep track of > 50 CoC's with just subtly different rules.
So that means we will also automatically subscribe to any updates and changes NumFOCUS makes, or opt out of their services again? Seems inevitable, but how would that be done in practice – voting on it again at every update?
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.
Does every update need a formal vote? Updates will be small. So maybe that can just be discussed on the mailing list and and in issue and if there are no major objections, we just update. If there are any changes on the NumFOCUS side, we probably want to inform our members anyway, so we would send out communication anyway.
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.
In practice, would NumFOCUS change it so drastically that we would have to opt out? Are we worrying about an edge case that probably would never happen?
appropriate for Astropy.</p> | ||
|
||
<p>All communication should be appropriate for a professional audience including | ||
people of many different backgrounds. Sexual language and imagery is not appropriate.</p> |
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.
Add back in some of our no tool-shaming language from the original Astropy CoC?
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.
Same as above - but both of those are good suggestions for the next revision of the NumFOCUS Code of Conduct!
A few general thoughts: I think one of the things not in the NF CoC that we want to keep from Astropy is the "no code shaming" element. That is one of the things that's particular to our community when we originally wrote the Astropy CoC, and I think it's a thing we can add as an additional item/clause for this. Another one might be the "We pledge to be conscientious of the perceptions of the wider community and to respond to criticism respectfully" item. It might be covered under the NF one? But I'm not sure. I am also concerned about the fact that by linking to the NF CoC it could change at any time indepednent of this page, so we can't be sure it won't change without our consent in the future. I'm not sure if there's a good fix to this, but it is a concern... |
From coordination meeting:
|
As discussed in a coordination meeting 2025 session, I updated this with several commits that reflect the iitems I listed above, as well as adding some examples |
Note I think my changes above (from coordination meeting 2025 discussion) addressed one of @ceb8's concerns (the tool-shaming one, which is nowframed as an example) but not the other one. My understanding from @hamogu is that we can't really address the other one here until NF makes the change. @ceb8 , are you ok with leaving that part unaddressed for now? |
@eteq sounds good to me. |
@eteq are you going to fix the spacing between sections too? 😅 |
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.
Thanks! Some comments below on @eteq 's follow-up changes.
I also pinged our Ombudsperson for review.
What is the next step?
|
||
<ul> | ||
|
||
<li>A member of the Astropy community might express a preference on an online forum for a specific tool or programming language (e.g. Python) over another language. If this preference is expressed as a personal preference or with reference to particular technical merits of that language vs others, there is no violation of the Code of Conduct. However, if that member instead expresses this preference by way of insult to those who use another language, or via violent imagery directed at those other languages or its users, that would be an act of "tool shaming" and be a violation of the Code of Conduct</li> |
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.
<li>A member of the Astropy community might express a preference on an online forum for a specific tool or programming language (e.g. Python) over another language. If this preference is expressed as a personal preference or with reference to particular technical merits of that language vs others, there is no violation of the Code of Conduct. However, if that member instead expresses this preference by way of insult to those who use another language, or via violent imagery directed at those other languages or its users, that would be an act of "tool shaming" and be a violation of the Code of Conduct</li> | |
<li>A member of the Astropy community might express a preference on an online forum for a specific tool or programming language (e.g., Python) over another language. If this preference is expressed as a personal preference or with reference to particular technical merits of that language vs others, there is no violation of the Code of Conduct. However, if that member instead expresses this preference by way of insult to those who use another language, or via violent imagery directed at those other languages or its users, that would be an act of "tool shaming" and be a violation of the Code of Conduct.</li> |
|
||
<h2>Examples</h2> | ||
|
||
<p>To make this Code of Conduct more concrete, we provide here some hypothetical examples of how a Code of Conduct issue might arise that may be particular to our community.</p> |
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.
<p>To make this Code of Conduct more concrete, we provide here some hypothetical examples of how a Code of Conduct issue might arise that may be particular to our community.</p> | |
<p>To make this Code of Conduct more concrete, we provide here some hypothetical examples of how a Code of Conduct issue might arise that may be particular to our community:</p> |
|
||
<li>A member of the Astropy community might express a preference on an online forum for a specific tool or programming language (e.g. Python) over another language. If this preference is expressed as a personal preference or with reference to particular technical merits of that language vs others, there is no violation of the Code of Conduct. However, if that member instead expresses this preference by way of insult to those who use another language, or via violent imagery directed at those other languages or its users, that would be an act of "tool shaming" and be a violation of the Code of Conduct</li> | ||
|
||
<li>If a member of the community knowingly uses a software tool or astronomical dataset in a public package or academic publication without acknowledging or citing the tool in a reasonable way requested by the upstream tool, this is a violation of the Code of Conduct. If the member makes a reasonable effort to find an acknowledgement and one is not available, this would not be a Code of Conduct violation (although it might or might not represent a violation of copyright law depending on the details of the situation and adopted license).</li> |
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.
Was citation discussed at Astropy Coordination Meeting 2025 w.r.t. Code of Conduct? What if the person just didn't think to look up citation because they were not trained professionally to do so? I am a bit surprised to see this as example here.
|
||
<li>If a member of the community knowingly uses a software tool or astronomical dataset in a public package or academic publication without acknowledging or citing the tool in a reasonable way requested by the upstream tool, this is a violation of the Code of Conduct. If the member makes a reasonable effort to find an acknowledgement and one is not available, this would not be a Code of Conduct violation (although it might or might not represent a violation of copyright law depending on the details of the situation and adopted license).</li> | ||
|
||
<li>If an Astropy maintainer were to post a message in a public forum that is insulting an astronomy research community member's skills as a programmer, this would be a violation of the Code of Conduct, as the researcher is also a member of our community. If that same thing were stated in a meeting with other Astropy maintainers, it may or may not represent a code of conduct violation, depending on whether the intent is to insult vs pointing out a skill lack in the community in a productive manner.</li> |
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.
If you must include this one, I feel like we should also include one that goes another way; for example, a researcher that rudely dismisses a code review from a programmer on the basis that the latter is not as wise in the way of science as the former, even thought the review comments are valid.
<li>If an Astropy maintainer were to post a message in a public forum that is insulting an astronomy research community member's skills as a programmer, this would be a violation of the Code of Conduct, as the researcher is also a member of our community. If that same thing were stated in a meeting with other Astropy maintainers, it may or may not represent a code of conduct violation, depending on whether the intent is to insult vs pointing out a skill lack in the community in a productive manner.</li> | |
<li>If an Astropy maintainer were to post a message in a public forum that is insulting an astronomy research community member's skills as a programmer, this would be a violation of the Code of Conduct, as the researcher is also a member of our community. If that same thing were stated in a meeting with other Astropy maintainers, it may or may not represent a code of conduct violation, depending on whether the intent is to insult v.s. pointing out a skill lack in the community in a productive manner.</li> |
Fix astropy/astropy-project#468
Most of the text is copied wholesale from NumFOCUS template, except I replaced "NumFOCUS" with "Astropy" where appropriate.
The only section I significantly modified is the last one, "Who Will Receive Your Report" because Astropy already has an established Ombudsperson and incident handling process prior to adopting NumFOCUS version, and it is not something we can lightly change. The text could use some polishing so suggestions are welcome.
cc NumFOCUS @kamila-NF