Code of Conduct as voted on ending November 24, 2014
The Sage community is comprised of an international mixture of mathematicians, computer scientists, engineers, researchers, teachers, amateurs, and others with varied backgrounds. This diversity is one of our strengths, but it can also lead to communication problems and unhappiness. People who love working on Sage can more effectively collaborate with others if they follow this code.
If you believe someone is violating the code of conduct, we ask that you report it by emailing [email protected]. The group administrators will consider the issue and explore resolutions. [See note below.] It is also possible to move heated discussions to the mailing list [email protected].
1) Be friendly and patient.
2) Be welcoming. We strive to be a community that welcomes and supports people of all backgrounds and identities.
3) Be considerate. Your work will be used by other people and you in turn will depend on the work of others. Any decision you take will affect users and developers, so you should take those consequences into account when making decisions. Conversely, Sage is constantly evolving, and earlier decisions that were made in good faith may sometimes need to be reconsidered. Nonetheless, we should still appreciate the hard work done in the past.
4) Be respectful and polite. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to morph into personal attacks. It is important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the Sage community should be respectful when dealing with other developers and users.
When we disagree, we should try to understand why. Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Being unable to understand why someone holds a viewpoint does not mean that they are wrong. Do not forget that it is human to err. Blame alone gets us nowhere, it is better to help resolve issues so we can all learn from our mistakes.
Alternatives
No Code
Reject the code as written above.
A "spoiler" message for newcomers
Creating laws, judges and sanctions against ourselves will not improve our team spirit. Perhaps we should have a message meant to newcomers, telling them what they can expect to see on sage-devel. If possible with humor, as a good mood is what we want to enforce. A first attempt (change whatever you like):
Beware, for our developpers have very strong feelings about their work. It is important to them, and if they get loud remember that their eyes are stuck on the code, and that they want to build something they can be proud of. On sage-devel, we talk about code. Most of the time, you have no reason to take anything personally. At other times, trust your common sense. Answering a post tomorrow instead of right now often does the trick.
Moderate the statements
... by adding a paragraph:
On the other hand, we have to remember that the very fact that Sage developers come from different cultures, backgrounds, and social circles, means we each have different customs of expression. Vigorous arguments on technical questions, even when characterized by sharp disagreement and legitimate criticism, is a sign of a healthy community, and not a hostile environment per se. While it is important to be sensitive, it is no less important to avoid oversensitivity.
... by modifying the instructions on what to do in case of a perceived violation of the guidelines:
Replace the paragraph that starts with "If you believe someone is violating the code of conduct, we ask that you report it by emailing [email protected]." as follows:
If you believe someone is violating the code of conduct, then we encourage you to keep focused on actual requests, even when these seem invalidated by inappropriate behaviour. If it seems impossible to you, then you are still not entitled to violate the code of conduct yourself. Instead, we ask that you report it by emailing [email protected]. The group administrators will consider the issue and explore resolutions. But keep in mind that we appreciate diversity; see note below. It is also possible to move heated discussions to the mailing list [email protected].
Both the original text and my modification mentions a "note below". It seems that the note does not exist yet. I suppose it refers to the paragraph starting with "When we disagree, we should try to understand why." Obviously it should be explicitly marked as "Note" so that the reader can find what "note below" is referring to.
Change code to guidelines
The Sage community is comprised of an international mixture of mathematicians, computer scientists, engineers, researchers, teachers, amateurs, and others with varied backgrounds. This diversity is one of our strengths, but it can also lead to communication problems and unhappiness. People who love working on Sage can more effectively collaborate with others if they follow this code.
1) Be friendly and patient.
2) Be welcoming. We strive to be a community that welcomes and supports people of all backgrounds and identities.
3) Be considerate. Your work will be used by other people and you in turn will depend on the work of others. Any decision you take will affect users and developers, so you should take those consequences into account when making decisions. Conversely, Sage is constantly evolving, and earlier decisions that were made in good faith may sometimes need to be reconsidered. Nonetheless, we should still appreciate the hard work done in the past.
4) Be respectful and polite. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to morph into personal attacks. It is important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the Sage community should be respectful when dealing with other developers and users.
When we disagree, we should try to understand why. Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Being unable to understand why someone holds a viewpoint does not mean that they are wrong. Do not forget that it is human to err. Blame alone gets us nowhere, it is better to help resolve issues so we can all learn from our mistakes.
If you believe someone is violating this code, please call it out. It is also possible to move heated discussions to the mailing list [email protected].
Sage coding guidelines (prop. Fri 28 Nov. by V. Delecroix)
The Sage community is comprised of an international mixture of mathematicians, computer scientists, engineers, researchers, teachers, amateurs, and others with varied backgrounds. This diversity is one of our strengths. Being a member of this community makes you implictely adherent to the following guidelines.
1) Sage is a free and open source software. In particular, keep in mind that the code you write must be readable and reusable as much as possible.
2) Your work will be used by other people and you in turn will depend on the work of others. Any decision you take will affect users and developers, so take those consequences into account when making decisions. Conversely, Sage is constantly evolving, and earlier decisions that were made in good faith may sometimes need to be reconsidered. Nonetheless, we should still appreciate the hard work done in the past.
3) Not all of us will agree all the time. Discussions are signs of a healthy community. You might experience some frustration now and then, but we cannot allow that frustration to morph into personal attacks. We want to keep a community where people feel comfortable.
4) Disagreements, both social and technical, happen all the time. It is important that we resolve them and differing views constructively. Being unable to understand why someone holds a viewpoint does not mean that they are wrong. Do not forget that it is human to err. Blame alone gets us nowhere, it is better to help resolve issues so we can all learn from our mistakes.
If you believe someone is too far from these guidelines, then we encourage you to keep focused on actual requests, even when these seem invalidated by inappropriate behaviour. If it seems impossible to you, then you are still not entitled to violate the guidelines yourself. Instead, you may ask some support on [email protected] (public developer mailing list) or [email protected] (read only by a small group of unknown self-designated administrators who will consider the issue and explore resolutions). One temporary solution might be to move the heated discussion to the mailing list [email protected].
Modified last paragraph (proposition of Bruno): If you believe someone is too far from these guidelines, then we encourage you to keep focused on actual requests, even when these seem invalidated by inappropriate behaviour. If it seems impossible to you, please refrain to violate the guidelines yourself. Instead, you may ask some support on [email protected] (public developer mailing list) or [email protected] (read only by a small group of self-designated administrators who promise confidentiality of your request). One temporary solution might be to move the heated discussion to the mailing list [email protected].