The social license
Being open to diversity is not enough, you have to show it
I follow a lot of women in tech on Twitter. One thing that becomes overly obvious when you do that is that there’s a lot of bad stuff going on that women have to deal with but straight white men don’t. Stuff like sexual innuendo in IRC, unwanted approaches by creepy dudes at conferences, automatic assumptions that women aren't programmers, etc. And yes, that’s probably the low end of the badness scale. Considering this I'm not surprised there are so few women in programming and open source, I'm surprised there are so many. Same goes for homo-/bi-/transsexuals, for people of color, for non-westerners and for lots of other groups.
The sad part is, most men aren't jerks, but we let those who are create a climate hostile to women and other minorities. Today I’d like to talk about open source, about internet projects. There are lots of projects out there and I think (or rather, I sincerely hope) that most are actually quite open to minorities contributing and being part of their community. Unfortunately there are without a doubt projects with toxic community members who like to make life difficult for members of minority groups. And often such people have a status in their community that lets them get away with all kinds of bad behavior.
Thing is, it’s hard to tell from the outside whether a project and its community will welcome you or try to make you feel miserable. Is it any surprise that some people from minority groups are hesitant to contribute to open source?
Larger projects like Fedora and Debian have code of conducts, diversity statements and procedures to deal with violations of their code of conduct. Unsurprisingly but unfortunately this is relatively rare, it takes a lot of effort to write a code of conduct, to create the procedures, etc. It takes even more effort to make this work visible to potential contributors, to make clear to everybody that the project is open to everyone.
A social license
We have software licenses that define what users of our software are allowed to do with it. The great thing about these is that most projects have a common license (GPL, BSD, MIT, etc) so you rarely have to actually read a license to know what it allows, you just know “GPL means …, MIT means …”.
Can’t we have something similar, but for community behavior? A standard text that defines acceptable conduct, that clearly expresses a positive attitude to diversity and that says “Regardless of how great skills you have, if you don’t respect others we don’t want you in our community.”
Of course talk is cheap and I don’t think a standard text is enough. People need to know that if there’s a problem the project is prepared to deal with it. It’s important to have a point of contact for conduct related issues, a person or group that can be privately contacted and that can step in on behalf of the project if a community member is out of line. Usually that would just boil down to giving a private warning but in extreme cases a project should be prepared to ban someone who clearly doesn't follow the values of the project.
Yes, it’s not stuff programmers like to deal with. We just want to code. But ultimately open source isn't made of code, it’s made of people and for people this stuff matters.
It’s unlikely the point of contact will have to intervene much, especially in smaller projects. The point of the point of contact isn't to have a nanny watching over the behavior of the community, it’s to communicate to outsiders and insiders that diversity is taken seriously.
A benefit of having a “social license” (by lack of better name) is that it allows members of the community to address others about their behavior without being accused of “white knighting”. You’re not defending a damsel in distress, you’re pointing out the rules of the community just like you would if someone would violate the software license.
Once a project has a social license and a point of contact for conduct issues there is just one thing lacking. Fly the flag, sound the horns, show the world that the project cares about diversity. Or — less bombastically — have a button on the project pages linking to the social license.
For technical bonus points have the relevant information about the social license and point of contact in a machine readable format that can be searched for so that it’s easy to compile lists of pro-diversity projects.
Would a social license fix the problem of minorities being mistreated? No. That’s a big big problem and there are no easy fixes for it. Even in the best case a social license is just a small step, but if it allows more people to become part of the open source community it’s a step in the right direction.