How to increase diversity in open source communities

In this talk we’ll first examine the problems encountered by people belonging to marginalised groups in open source as well as by project maintainers with respect to contributing to and increasing the diversity of open source projects, respectively [1][2][3][4][5][6]. Building on this overview, we’ll go over what kind of actions have been taken to increase diversity in open source projects, with special focus on scientific libraries, and the effects they have had [1][6][7]. Lastly, we’ll look at ideas that are currently being tested and next steps. By the end of this talk, the audience will have a good understanding of why contributor diversity is low in open source, the efforts that have been made so far to address this problem, and what can further be done to increase the presence of underrepresented groups in technology in general, and in open source in particular.

References: [1] https://www.wired.com/2017/06/diversity-open-source-even-worse-tech-overall [2] https://arxiv.org/pdf/1706.02777.pdf [3] https://ieeexplore.ieee.org/abstract/document/8870179 [4] https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9354402 [5] https://biancatrink.github.io/files/papers/JISA2021.pdf [6] https://arxiv.org/pdf/2105.08777.pdf [7] https://blog.scikit-learn.org/events/sprints-value/

This session took place in track Community, Diversity, Career, Life and everything else and was classified suitable for novice domain / novice python by the speaker.

Transcript (auto)

Auto-generated from the recording utilizing Open-Source AI. Speaker labels (Speaker 1, Speaker 2) reflect diarization, not identity. Timestamps refer to the recording.

Speaker 1 [00:03]

Can you hear me well? Yeah, okay. So welcome everyone to my talk how to increase diversity in open-source projects I'm Marlen Westermann and Yeah, a few more words about me. I am from Oldenburg in Germany Near Bremen represented by the Bremen Tom musicians in the top corner of the slide. I did a PhD on the intersection of agricultural and environmental science at the University of Queensland in in Brisbane, Australia. And after that, I transitioned to data science, and after that to machine learning. And now at Deutsche Bahn, I am actually responsible for using machine learning to reduce delays. So if it doesn't work out over time, you know where to complain. Yeah, I'm an active contributor to open source, as Hannah highlighted, and I'm also a PyLadies Berlin co-organizer. So let's talk about diversity. So I've got a definition of diversity here that I really like. It's by the Linux Foundation and I'll read it out to you. So they say, we define diversity within open source communities as a pluralism of any number of the following possibilities. Gender identity and expression, race, ethnicity, sexual orientation, age, social class, caste, language, physical and neurological ability or attributes, religious beliefs, value systems, national origin, and political affiliation. So now that we have an understanding of what diversity is, let's look at the state of diversity in open source projects. Let's look at some data. So the Linux Foundation did a survey, and they found that among open source contributors, 82% of people identify as male, 14% of people identify as female, and only 4% of people identify with other genders. And when you look at the number of female core developers among open source projects, you find that only 5% of open source projects actually have female core developers. Let's look at ethnic diversity. So you can see here on the slide that 36% of contributors come from the USA alone, followed by 36% of contributors from all across Europe, followed by 15% from the Asia Pacific region, followed by 8% from Central and South America, followed by only 5% from Africa and the Middle East. So you can see that there is a strong over-representation of people from the global north. And I could go over more examples of diversity, such as age distribution or identification with the LGBTQI community, for example, but we only, unfortunately, have 30 minutes, so I wanted to show you two examples, and we can talk more about other aspects of diversity later. So what are the consequences of this lack of diversity? There are consequences for the underrepresented groups, as well as for open source projects. For people belonging to underrepresented groups, the consequences are mainly loss of opportunities, such as loss of skill development or lack of skill development, and not such good career advancement possibilities. For open source projects, the consequences are mainly a lack of diversity of perspectives, which leads to lower problem-solving capacity, less robust technologies, lower productivity, we know this today, and also a susceptibility to unhealthy work environments. So in summary, diversity means resilience, and if you have low diversity on your open source project, it means that it has a reduced ability to adapt to change. So if you are running an open source project and you want it to be successful in the long run, you better have good diversity. So before we talk about the strategies, what you can do to have a better diversity on your team, let's look at the challenges that people face, like why is the diversity so low in open source projects? And the challenges are mainly social, such as lack of peer parity or non-inclusive communication or a toxic culture, as I just mentioned, or expectation issues. People might be expected to take on advanced tasks very soon without the appropriate support. Or there might be gender biasing or stereotyping. For example, women might be expected to take on communication tasks. There's also the problem of imposter syndrome. I once found a really good definition of imposter syndrome. I think it was on Twitter. And it was high expectations, low support. So many people from underrepresented groups in tech are actually career changers. So they often need a bit more support. and this is why so many people from these groups suffer from imposter syndrome. And there are also issues such as work-life balance issues. For example, many women still carry out the majority of care tasks. For example, it's mostly women who do aged care work or who do child care work, mostly non-paid, and so often women simply have less time. and then there are other challenges such as language access in many parts of the world english education is not great and so people struggle with contributing to open source because generally the default language of open source projects is english and so that is a barrier then there are also educational access problems like for example people might not be able to attend conferences or hackathons or internships simply because they like the finances or the time. Then there are geographic access problems, especially when you lived in Oceania like me. I mean, I lived in a wealthy country, Australia, but if you, for example, live in Fiji and you would like to attend conferences or meetings, mostly these meetings are at night time for you and it's really not a great time for you to attend meetings. And also, and staying with the example of Fiji, you might not have constant reliable internet access. In many countries, developing countries for example, there's simply no stable internet connection or not even a stable electricity supply. And then there are also economic and professional access problems such as many people are not compensated for their open source contributions and sometimes employers don't approve of people doing open source contributions either during work hours or even outside of work hours because employers are sometimes afraid that knowledge from within the company might leak into open source projects which i find a bit crazy but Okay. And then there is also generally a lack of sponsorships and mentorships. So now that we understand the challenges, what are some of the strategies that we can apply to address these problems? One important strategy is to use inclusive language, such as don't use guys use more inclusive language such as folks you can say hi folks or hi everyone and also if you have a master branch please rename it to main if you have master and slave nodes please use primary secondary or other language also try to avoid saying man hours please say engineer or even better, personal hours. Also, please don't use derogatory terms such as so simple your mother can do it. It's better to use user-friendly, for example. And also, please don't assume someone's gender. You simply don't know how someone identifies in terms of gender until you ask them or unless it is written somewhere, for example, on their social media profiles. So always ask for people's pronouns. Then I would also like to highlight a good contributing to documentation. This is important, and it's also important to keep it up to date. And I would like to highlight an example here on the left-hand side from Pandas. It was about eight months ago that I tried to contribute to Pandas, and I simply wasn't able to install the dev version of Pandas. I tried to follow the contributing to documentation but it was quite outdated and on Gitter where people can go and ask questions I noticed that other people have the same problem. And so I opened an issue and so together with the team members of Pandas the issue got fixed and now with Pandas 2.00 the contributing to Pandas documentation is up to date and it works at least on Unix-based systems. Not sure about Windows systems, I don't have a Windows computer, but if you are on a Windows computer and you would like to contribute to open source, I can highly recommend to install Windows subsystem for Linux because that makes your life a whole lot easier. And I would also like to highlight, please don't shame open source core members for not having an up-to-date contributing to documentation. Many open source projects, such as Pandas, are mainly run by volunteers. And they are really busy with just maintaining the project. And so sometimes they simply don't have the time to keep the documentation up-to-date. And so, for example, me opening the issue was actually welcomed. And yeah, it was really great. And it was really great for me to see that this got fixed. And then, also, I have an example here from scikit-learn. Quite regularly, when I contribute to scikit-learn, it happens to me that I run pytest, and then I get an import error, and then I realize, like, oh, OK, some files have probably been updated, and I need to do a recompile, and I do a recompile. And this is pretty standard. And I realized that this is actually not really documented on the contributing to scikit-learn page. And so I opened an issue for that, and the maintainers really welcomed that because they realized, oh yeah, this actually isn't really documented and actually this is a barrier for people when they try to contribute to open source projects or like in this case, scikit-learn. And so currently it's still under discussion how to best update the documentation, but soon it should be updated as well. So if you find such issues or such problems, So feel free to open an issue at the respective open source project and generally your contribution will be really welcome because often maintainers are so experienced they don't even realize what barriers are for new contributors. Then what's also really important is to have contributing to documentation in different languages. Data Umbrella, for example, who have run a lot of sprints together with scikit-learn and also other projects, they, for example, ran a workshop for people targeted, targeted, for people, sorry, for people from Southern America. And so what they did was that they translated the contributing to Scikit-learn documentation to Spanish and Portuguese, and this was really helpful for people actually. And then you can also be encouraging and welcoming, that's also a great strategy. So for example when you see a new contributor you can say thanks a lot for your contribution, we really value your contribution, and here at the bottom I'm showing an example of my first pull request to scikit-learn where Thomas, one of the co-developers said I see this is your first time contributing, welcome, and it did make me feel more welcome, I found And this was really nice. And I also have an example from the Pandas project. I then started contributing to Pandas after I figured out how to install the development version of Pandas. And I made a pull request, and on one day, Marco Gorelli, one of the core contributors, he made a pull request review, and on that day, I was not having a great day. I was feeling sick and then I looked at my notifications and I saw that he included a really cute cat gif in his poll request review and I have to say it made my day and I found it was just really cute and yeah, I'm advocating for more cute cat gifs of photos in poll request reviews. Ten minutes left, okay, oops, good. Well okay, then I think I have to speed up a little bit. You can also promote specific groups and events, for example you can run events through organisations such as PyLadies or Women in Machine Learning and Data Science and there are also other groups that are targeted towards underrepresented people in tech. And it's also important to like and share social media posts to increase visibility and you can also run events in schools and universities and give priority to people from underrepresented groups. And what you can also do, as I just said before, you can run online events targeted at people from geographically underrepresented regions. And it's also important to promote awareness of the presence of peers. For example, at conferences like these, you can make sure you have good speaker diversity and please also promote on social media. For example, PyLadies Berlin has been highlighting all the PyLadies speakers of this conference, so please like and retweet. And you can also, if you run workshops targeted at people from underrepresented groups in tech, write blog articles about it, you can also do contributor interviews with people from underrepresented backgrounds so that you increase the visibility of these people. And in general it's always good and important to recognize people's achievements. Again please don't stereotype open software contributors, don't automatically assign community building tasks for example to underrepresented groups, it's better to spread the workload and please don't refer to your female developers as female or women developers, just say developers to be more inclusive. And another really important strategy is to have mentorship and I'm citing here leaders at the mentorship program at the Linux Foundation. They said that mentorship is invaluable to improving diversity and inclusion in open source communities because it lowers barriers to entry and onboarding and it really helps with networking and it helps junior contributors to being able to establish themselves and also really helps new contributors with career development. And I would like to highlight this book by Athena Rising. It's called How and Why Men Should Mentor Women. I haven't read it yet but apparently it's a great book so please go ahead and read it. And I would also like to highlight two more examples. So I would like to point out that I'm not getting paid by any of the open source projects or companies I'm presenting here and I'm not getting any benefits, I'm just highlighting examples that I have come across now. Scikit-learn is running a five-month paid internship for people to contribute to Scikit-learn and is targeted towards underrepresented groups in tech and QuantSight is currently running a very similar initiative and these initiatives simply weren't there a couple of years ago and so this is really great to see. Then another point that's really important is to have good governance. Ideally you have a governance board and ideally there is transparency around how are leaders determined and how are contributors onboarded and managed and supported and it's important to have transparent career pathways and it's important to promote people from underrepresented groups to leadership roles. And it's really important to value non-coding contributions to the project. For example, if you have a communications team, please also value the contributions of the communications team, and it's a really good idea to not have a technical committee but to have a steering committee, for example, which also includes people from, for example, the communications team. And it's also good to have a triaging team. A triaging team is a team where people have access, right access to GitHub and they can label and edit issues for example. And it's also important to make incremental changes over time, please don't go ahead and fully restructure everything because people need to adapt to changes and you need to give them the time and space to adapt to them. And then the last point is to create and enforce a code of conduct. A code of conduct can signal to marginalized people that the open source community cares and it provides guidance for newcomers and provides reference for core values and norms. And yeah, it's really important to have a dedicated code of conduct team or if you don't have the time to deal with it, you can also hire professionals who follow up on code of conduct breach reports. And now I would like to highlight some literature. Many points that I have presented today come from the research of Bianca Trinkenreich. She has done a lot of research on diversity and inclusion in software. So yeah, please go ahead and read her research. She is amazing. She does amazing work. And I would also like to highlight this book that recently came out by Professor Christina Dunbar Hester, it's called Hacking Diversity, and she has done extensive research on diversity in open source communities, and her conclusion is that the lack of diversity stems from an unequal cultural distribution of social power. And so her point is that because of that it's really hard to increase diversity in open source projects and I have to say that initially that made me feel a bit powerless because I thought like, okay, so there's a wider systemic issue and so should we just put our hands in our laps and wait for society in general to change or what? But that's not the point she's making. So she's saying that it's hard, but I mean, it's also not impossible. I've seen it in the professional world, like the non-open source world, the industry world, that it is possible to create really diverse teams, and I find that open source projects are in a powerful position because they are so widely used and people have a look at them and look at who is actually behind these projects and so if we manage to build diverse open source communities this can have a strong ripple effect and I could tell a lot of stories about how even just one person really made a difference. But I would like to conclude my talk with saying that everyone can make a difference. So each of you here can definitely make a difference and contribute to improving diversity in open source. So thanks a lot. These are my references. And I'm also on social media. You can find me on Mastodon, Twitter, LinkedIn, GitHub, whichever you prefer. And thanks for listening.

Speaker 2 [22:59]

Thank you for this great talk, Maren. There are some questions. You can still ask questions as well. So the first question is very true. Again, another event about diversity almost empty in an event full of white male global northers. How to address that? I think it's actually not a question for you, but the people who didn't come, I would love to go outside and ask them, but yeah, do you have an answer?

Speaker 1 [23:38]

Yeah, I mean, when you want to build diverse communities, you need a lot of persistence and patience. And I can see, for example, that at this conference there are many more women, or at least I assume so. I mean, as I said, you should never assume someone's gender. But I can see a lot more diversity this year, for example, than last year. And I feel like slowly things are changing, but the change is slow, unfortunately. And I think we all need to work together to push for better diversity.

Speaker 2 [24:18]

Like last year, it was the diversity was the key.

Speaker 1 [24:22]

so

Speaker 2 [24:22]

maybe that's also an option.

Speaker 1 [24:25]

Ha, ha, ha.

Speaker 2 [24:26]

The next question is, some people propose that the GitHub account should be agnostic to gender identity. What do you think? We'll be right back.

Speaker 1 [24:40]

That is a good point, but it's also hard, right? Like, I mean, again, like, you should never assume someone's gender, but, like, when people have a photo on their GitHub account, I have a photo, like, people generally assume someone's gender. So, I mean, you could force everyone to not have a photo, but then it's also becoming very impersonal. It's a very tricky question.

Speaker 2 [25:07]

I think so too, then also everybody had to have like a gender-neutral nickname and not like appear with their like real name

Speaker 1 [25:16]

Yeah, it has definitely happened to me that I have been discriminated because of my appearance, but that was on Stack Overflow. I answered on Stack Overflow, and an hour later, my answer was deleted, even though it was relevant.

Speaker 2 [25:32]

Okay, and on Stack Overflow, you appear with your name and your picture? Yeah, yeah. The next question is, the examples shown were very big projects. Do smaller projects with only a few maintainers need to apply a different strategy to be more inclusive?

Speaker 1 [25:53]

That's a good question. I wouldn't, maybe. I wouldn't say necessarily different strategies, but I think smaller projects have more leverage because they're smaller. And so there are less people you need to have a consensus with. So I think you can potentially act faster. I think it's an advantage, maybe.

Speaker 2 [26:24]

they are coming more. Let me have a look. How to win people from milieus where the use of open source technology as a possible hobby is unknown.

Speaker 1 [26:45]

Yeah, that is a really good question. Something that I would really like to do is to go into high schools, especially in Neukölln, where I live. In Neukölln, there are many people from, especially the Middle East, many people from lower socioeconomic backgrounds, and I would really love to run workshops there for free for the school students. Unfortunately, my time is limited, but I really hope that maybe in the future I can collaborate with organizations to do such things.

Speaker 2 [27:18]

The next question is, are there initiatives by men for help with male fragility in open source, similar to coaching in white-only groups working against their own racism?

Speaker 1 [27:31]

Sorry, could you repeat that?

Speaker 2 [27:32]

Are there initiatives by men for helping, like, for help with male fragility in open source? So I think if there are, like, initiatives for men where they can ask themselves about their male fragility.

Speaker 1 [27:51]

How do I answer the question? I think it's really important to be a good ally and to not judge people. For example, I mean, we all make mistakes. I also make mistakes sometimes. And when I do, I feel shit. But it is also important that when we make mistakes that we don't judge people for that and don't be like, hey, you're an asshole or something like that. I think it's really important that we say, like, hey I understand that you didn't do this on purpose and I can see that this wasn't your intention to hurt someone so I think it's really important to to be a good ally and say like hey we all need to do better we're all learning and to yeah generally be supportive yeah

Speaker 2 [28:42]

The next question is on GitHub, also being anonymous isn't necessarily positive, we should encourage diverse people to be open about their diversity, so this is not a question but a comment, and also another comment, it helps also to have a training for bystander intervention and for allyship to get knowledge where are problems, I don't know, I don't get the comment.

Speaker 1 [29:12]

Do you get it? Is it a question? No.

Speaker 2 [29:20]

No more questions so far.

Speaker 1 [29:29]

So thank you very much.

Speaker 2 [29:31]

One last one? Yeah.

Speaker 1 [29:36]

Yes in many

Speaker 2 [29:37]

Many in many...

Speaker 1 [29:38]

In many, especially the smaller projects, there is a very difficult diverse contributor to get on board, namely the first one. Do you have any hints on how to support that first person or how to find them? Because I think they have a much harder time than the second one. That's a good point. to PyLadies events and other events, other meetups that focus on underrepresented groups in tech, I would say, and ask for support. Like, if that's available to you, I mean, often many meetups are only in bigger cities, and so, you know, some people need to travel. But online support is also available. For example, at PyLadies, we sometimes offer speaker support, and we also offer online and contributing to various open source projects support maybe something in that direction.

Speaker 2 [30:41]

Thank you very much, Maren.

Maren Westermann

Dr Maren Westermann works as a machine learning engineer and holds a PhD in environmental science. She is a self taught Pythonista, an active open source contributor, especially to the library scikit-learn, and is a co-organiser of PyLadies Berlin where she hosts monthly open source hack nights.

Social card for talk: How to increase diversity in open source communities