Sage community expectations

The aim of this page is to build a SHORT document that just say who we are and what we expect?

Why Sage: Need for a common free open source software to share the efforts.

Everybody is welcome to:

use the software

disseminate the software

talk about the software

organize sage days

provide bugs report or enhancement proposals

contribute to the source code

Any of these actions make you an element of the Sage community.

All decisions concerning approval of source code, designs, etc are discussed on the mailing list XYZ and on the relevant trac tickets.

Many professional mathematicians and computer scientists are unusually considerate sensitive people, who choose mathematics as a career partly because they greatly appreciate the extent to which discourse about mathematics and among mathematicians is very civil and about the mathematics itself, rather than politics and personal attacks. Such people have little patience for being involved in a community that is not exceptionally civil. Many of these people can contribute enormously to Sage, implementing code that only they can implement, which takes thousands of hours of careful thought, benchmarking, design, and coding. They are extremely valuable to our project and community.

If you feel hurted, make the point on the mailing list: you will get support from the community to find a solution. Do not start Any exclusions should be collective decisions not by some oligarchy, and should allow for reinstatement if the perpetrators are contrite.

All contributions are welcome but keep in mind that 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.

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

Community

TODO:

Add more people.

The Sage mathematics project attracts users and developers of widely varying backgrounds from around the world. Moreover, whether you're a beginner or expert, student or educator, researcher or enthusiast, somewhere in between or someone altogether different, we welcome your contributions to the Sage community.

The following is an incomplete list of Sage users and developers who have set up personal pages at this site.