Introduction
This document gives conventions for Python (no matter if it's Python2 or Python3) communities.
This conventions can and should evolve as the community does. Sometimes, this convention may be quite general, and doesn't fit the quintessence of your community. In those cases, you should adapt the conventions. The only restriction, when diverging from the letter, should be to keep the spirit and the purpose.
The purpose of this document is to give a way to consider and measure diversity in your community. It's not meant to blame, but to inspire.
Acknowledgement
This document is shamelessly based on the PEP-0008 document. Thanks for the structure and for the inspiration. Also, big thanks to the people who helped with translation and proper wording for the first release. Everyone who has contributed is listed in the Authors section.
A Diverse Community is Key for Great Minds
One of the most important insights is that diversity matters. The guidelines provided here are intended to improve the diversity of your community. As PEP 20 says, "Diversity counts". Well, is more like "Readability counts", but you get the point.
Diversity in our Python community is important because without it, the community is not really part of the society, is not the pythonic point of view of the society, but an elitist group unaware of the rest.
A diversity guide is about always reconsidering the statu quo. Reconsidering the statu quo is important. Reconsidering our environment is more important. Reconsidering our own position is most important.
But most importantly: nobody expects from us to be perfect; sometimes, we just don't know. When in doubt, we need to remind the reconsidering part and use our best judgment. Look at other communities and how they deal with each specific issue and decide what looks best or has a clearer approach. And don't hesitate to ask!
In particular: be open minded and welcoming.
Some other good reasons to improve diversity is because diverse communities:
- build better products
- help to make the breachs smaller
- are more creative
- are better ready to adapt to the world
- are happier
If this PEP should defend one reason over the rest, this could be: diversity for diversity.
Meritocracy is broken
It is, no matter how painful we feel about it. Most of our achievements start with a privilege. If we think that we have achieved what we deserve because of our hard work, we're just avoiding to watch and accept all the privilege that helped us in the past and all the privilege that is currently helping us.
When we recognise how broken meritocracy is, it's clear that it doesn't work as system to get the best, but to maintain the statu quo.
So if we really want to end the statu quo to get a diverse community, we need to try different approaches to reach people.
This document goes through different (and classic) axes to think about diversity. Any contribution will be more than welcome.
Gender
For a community to be diverse, we should find different genders. All the genders.
First of all, that implies that our community accepts that gender is not necessary binary, and everyone has the rigth to be addressed according to his/her desires. It's not only about thinking that gender should not matter. It matters for many people for different reasons. A diverse community rejoices with all points of view.
Secondly, representativity. A diverse community is glad and expecting diversity in the higher possitions. Decissions should be taken representing the group and we can only achieve it having representation in the whole hierarchy.
Sexual Orientation
For a community to be diverse, we need to be sure that nobody is being rejected because of bigot behaviours.
Sexual orientation is not obvious to know, nor necessary; but a good point is to have a place where people openly rejects homophobia in all its manifestations. A place where being gay or lesbian doesn't mean to be pointed out.
Age
For a community to be diverse, we should find people of different ages.
All ages, from children to elder people, the message should be: this new technology is for everyone. Even if it's thought for young people, we can make it more accesible to everybody. We belive that anyone can keep learning, and we can provide help and resources for them.
A diverse community also has in mind that people grow and sometimes have children. We can make easy for them to continue being part of the community, offering childcare when possible.
Ability
For a community to be diverse, we should find people with functional diversity.
Meaning that we care about being accesible for everyone: from impaired to people in wheel chair, everyone should feel welcome. We all use technology, but we just don't see it because it's deeply adapted to us: smartphones, keys, glasses... A diverse community takes in mind accesibility, and is resourceful helping others.
Origin
For a community to be diverse, we should find people from different origins.
If we have neighbors from everywhere, we should find them in our Python community. Think about the social structures and the reasons for not finding inmigrants, for instance, in our community: it can be the access to the information, or it can be the result of sutile (or not sutile at all) discrimination based on origin.
Economy status
For a community to be diverse, we should find different social/economic statuses.
The mere existance of social statuses itself is an evidence of something going wrong. It's one of the most powerful ways to keep statu quo through nepotism or mere recommendation system. A symptom of a community to be quite good is if we don't know everyone, and we see new people coming into the group even if they don't know anyone. That means that the group is open and welcoming and that the group makes the effort to reach people outside the close circles.
Access to Studies
For a community to be diverse, we should find different studies levels.
All levels. Having a university degree shouldn't be a requirement to be part of a technological group. A diverse community doesn't expect knowledge from newcomers; on the contrary, a diverse community offers knowledge to them.
Focus Inside the Technology
For a community to be diverse, we should find different approaches for the community.
All approaches. A diverse community shouldn't expect from anyone to be a programmer. There are many ways to contribute in a group, all of them important and makes us improve in different ways: programming of course, but also documenting, mentoring, energizing the community, creating a safe place, worring about the health and happiness of its members.
Other Interests in General
For a community to be diverse, we should find different other insterests.
All of them. A diverse community should not expect any particular interest, but accept and welcome all of them. People is diverse, people like different things, and this other interests make them better and happier and all of us could always learn something new. Embrace the otherness.
Other Interests in Technology
For a community to be diverse, we should find different other tech insterests.
All of them. A diverse community doesn't discriminate anyone because his/her choice of other technologies. A diverse Python community is more focused on teaching, learning and enjoying Python than ranting against regexp(any other programming language). Different approaches enlarge our own vision. If not, just don't be an asshole.
Hint
There are different ways to know if we are part of a diverse community. Some of them are measuring the obvious otherness. But we can also think of how many times we feel unconfortable with a new insight, that makes us reconsider our position. And also, how many times we find ourselves with new unexpected interests.
Bonus: pepa.py
This document is meant as a starting point for self evaluation. As it can be difficult to think of all of these topics, we can find a script which implements the consistency with the purpose of this PEP. The pepa.py script is opensource and contributions are welcome.
Source: http://github.com/yamila-moreno/pepa/pepa.py
Bonus: why this codename
The codename is a word play. On one hand it comes from the Python Enhancement Proposals, aka, PEPs. On the other hand, as this document was presented in III Pycon Spain, it references a historical moment in Spain: in 1812 was presented the first Contitution in Spain, the first time ever talking about the rights of citizens. This Constitution was commonly known as Pepa.
References
PEP-8: https://www.python.org/dev/peps/pep-0008/
Copyright
This document has been placed in the public domain.
Source: http://github.com/yamila-moreno/pepa
Authors
Yamila Moreno (@yamila_moreno) Alejandro Guirao (@lekum)