Code of Conduct§
Janus is an unorthodox framework, with a unique perspective. Our collection of ideas and ideals came by combining many different points of view which do not commonly relate to each other: imperative pragmatism and dynamic typing, purely functional paradigms, and many others. Without these disparate, self-coherent opinions on software programming and application design, Janus could not exist today.
It follows that we want our community to be diverse, and that we want the different perspectives and experiences of our contributors, both in code and in life, to be heard and reflected in the way we write our software, the way we collaborate on issues, and the way we govern our project.
This is important to us. It's not lip service. We do not merely welcome diversity, we strive to actively build it. The strength of a broad community of many backgrounds far outweighs the importance of any one genius.
And this applies beyond code, too—from a narrow perspective you could perhaps write great code by genius alone, but an open source project is comprised of far, far more than code and it takes a broad array of skills and experiences to keep a project moving and vital: communication, leadership, and mentorship are as important and as foundational as engineering.
To this end, we have a few guidelines for our community.
Be kind§
Be truly, genuinely kind and compassionate. Be patient. Welcome newbies even if they haven't read the documentation. Thank people for issue tickets even when they are duplicates. Be positive and encouraging even when dealing with those who are not. If you can't do these things, let somebody else respond.
Be friendly, inclusive, and respectful to each other when working on problems together. Because that's what we are doing: working on problems, together.
Do not harass, sexually or otherwise. Do not discriminate, in any regard. Language matters. Do not test the limits. Do not force us to write a list of unacceptable behavior. In this day and age, these things should not be mysteries.
Listen§
Remember that engineering is about tradeoffs, and that rarely are there clear best answers. When you disagree with somebody, recognize that in all likelihood they are not wrong, and you are not wrong, and everybody has the project's best interest in mind. Remember also that great ideas can come from anywhere.
Few individual technical decisions make or break the entire future of a project. But the loss of valuable contributors to abuse and conflict surely will.
Recognize that everybody has their own struggles and problems they are trying to solve, and that often they are not dissimilar to your own if only you're willing to listen to each other. Begin by acknowledging and validating viewpoints even when you disagree with the conclusions.
Be the change§
Teach. Mentor. Bring people in. Encourage diversity, take pride in it. Don't leave it to others to make it happen.
Enforcement§
In an ideal world, those who do not agree with these guidelines will read them and self-select out of the project entirely. Janus has an incredibly permissive license and you are welcome to fork.
But in those cases that a community member becomes a problem, we do have a process. Please report incidents to conduct@janusjs.org. Complaints are anonymous unless otherwise requested.
Offenders will receive one warning. Repeat offenses will be addressed at the discretion of the community board (presently just @cxlt but to be expanded as soon as viable) but may be arbitrarily severe—consider it a one-strike policy. If you have a problem with this, please consider investing your efforts elsewhere.