It is nearing the end of pride month, and over the course of June, here at Codethink we wanted to explore the question of inclusivity in the open source community. When we first wrote this article, we noted that the Wikipedia page on the matter was sparse, and we were surprised there was such a lack of detail. To address this, we contributed some of the research in this article, hoping to make it more easily accessible.
One of the more enlightening pieces of information we found was Github’s 2017 contributor survey which seeks to provide some insight into the people who run their projects from the website. Specifically, the aim of analysing the responses of 5,500 developers on the platform was to establish some sort of estimated census for the entirety of the Github community. One of the surprising things you learn from this study is that the percentage of contributors who identify as LGBTIQ+1: 7%. This is higher than the general population’s estimated percentage of around 4%. An industry-wide 2018 survey conducted by StackOverflow, with a sample-size of 100,000, established that 6.7% of developers identified as LGBTIQ+, and 0.9% as non-binary or trans. The FOSS community, therefore, seems to be in line with the industry’s norm.
The question of inclusivity goes beyond a matter of numbers, however. The subjects of sex, gender and personal identity is a touchy one in most contexts, so it is not surprising that in the world of Free/Libre Open Source Software this topic is equally delicate. The open source community is often accused of being toxic as some members are sometimes harsh and insulting to others. Parties guilty of this behaviour often say that it is the contributor’s poor work or questionable decisions that made them react that way. Github’s survey claims that negative interactions are “infrequent but highly visible”; but 18% of contributors to FLOSS say that they have suffered some sort of negative interaction. About 50% of contributors went on to say that they have witnessed these kind of interactions and are considered among the 6 biggest problems when contributing to open source projects (notably among those 6 are also unwelcoming language and dismissive responses). A sentiment that is sometimes expressed is that conflict in the open source community isn’t widespread, just very visible, owing to the public nature of forums and mailing lists. But the fact that almost 1 in 5 contributors have to deal with some sort of conflict makes this claim questionable.
Some people say that being harsh makes for better software, and that it partially explains why projects such as Linux have been successful. But there is evidence that suggests that an unfriendly, tense atmosphere deters newcomers from providing potentially valuable input to a project in fear of rejection or verbal abuse. It can also put off experienced developers who become tired of all the drama. Sometimes these criticisms become personal and homophobic or transphobic remarks get thrown around.
Such was the case of Sage Sharp (Figure 1), a non-binary developer, who stepped down from their role as a kernel maintainer and member of the Linux Foundation’s Technical Advisory Board in 2015 because of the community’s “vile words”, “subtle sexist or homophobic jokes”, and the tendency for comments to “[tear them] down as a person”. Their suggestion at the time that a code of conduct be introduced to regulate the behaviour of the community led instead to the adoption of a ‘code of conflict’ by Linus Torvalds (Figure 2), a guideline on how interactions between kernel developers should go. It was, however, criticised for being vague, avoidant and ineffectual -- a far cry from the comprehensive code of conduct Sharp had asked for -- and continued criticism of the working environment around the Linux kernel led to the adoption in late 2018 of a new Code of Conduct. Much more comprehensive than its predecessor, this code of conduct aimed to curb the destructive conflict within the community altogether, and to create a more welcoming environment for newcomers and oldtimers alike.
“In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.”
Within 30 minutes of the new code of conduct being signed off by Linus Torvalds and his colleagues, Torvalds apologised for his past outbursts on the kernel’s mailing list and announced he would be taking a month-long break from development to focus on improving his behaviour. Though his rants have never been personal -- they were in criticism of code, not people -- the kind of confrontational tone and vulgar language was often seen in the community as a green light by others to lob insults.
Left: Figure 1, Sage Sharp; Right, Figure 2, Linus Torvalds at LinuxCon Europe 2014
Linux’s new code of conduct, though controversial, was introduced to try and improve conditions in the kernel’s community, and to prevent its aggressive members from pushing away potential contributors. For some in the LGBTIQ+ community, the introduction of explicit guidelines for preventing discrimination or ridicule and the enforcement of these rules was a much-needed step in the right direction. The kernel community has aimed to be, since its inception, a home for the best possible code regardless of who made it; in 2018, one could say they took the first concrete steps at ensuring that was the reality.
But there is still work to be done. The Linux Foundation's Technical Advisory Board -- the board which enforces the code of conduct -- is made up of ten people, and all but one are straight men. In the future, encouraging more diverse representation would be a good step forward.
That is not to say that the Linux community has not been inviting to those who identify as LGBTIQ+. Jon “Maddog” Hall, a longstanding contributor to the Linux ecosystem, helped provide the material and resources Linus Torvalds needed to create the first port of Linux. Since then he has been an active member of the community, giving talks about the operating system across the United States and South America, and is a member of The Linux Professional Institute’s board. He announced in 2012 on Linux Magazine that he was gay, in honour of Alan Turing. Besides him, there are many other lesser-known members of the community who also identify as lesbian, gay, transgender or queer.
The reason for the backlash may not have been the introduction of the code of conduct but the context surrounding it. The Linux kernel’s code of conduct was based on Coraline Ada Ehmke’s ‘Contributor Covenant’ document, both of which are considered controversial in the FLOSS community for a number of reasons. Those projects which have adopted codes of conduct unrelated to her document have not experienced the same reaction from their communities. Debian introduced a code of conduct in 2014, and Ubuntu has had a code of conduct since 2004. KDE introduced its own code of conduct in 2008. Rust regularly updates and enforces its code of conduct, and these changes are received warmly by the community. These communities are examples of the positive influences of codes of conduct and how their introduction helped create more active and engaged communities. The issue then generally seems to lie not with whether or not more effort should go towards making the community a more inviting place for those who are not cisgender or heterosexual, but rather what measures are taken to achieve this.
There are other open source projects that have also been trying to include members of the LGBTIQ+ community. Open source is not strictly confined to software; the Wikimedia Foundation, caretakers of Wikipedia, have repeatedly reiterated their support of diversity within the foundation and in the Wikipedia community. The Foundation encourages edit-a-thons (meet-ups of editors of the website) and members of the LGBTIQ+ community often use these meetings to write about and expand Wikipedia articles on topics relating to sexuality and gender.
There are also many examples of the LGBTIQ+ community embracing the open source ethos. Trans*H4ck, for example, is a non-profit organisation that runs hackathons across the United States that support trans members of the tech industry, and develop new open source projects. A similar organisation, Trans Code, runs events in the UK. Lesbians Who Tech is another US-based organisation that runs hackathons and tech-based events for gay audiences.
This is also the good open source technologies can do for the community. There is a significant incentive for the adoption of blockchain-based cryptocurrencies for LGBTIQ+ activists in countries with homophobic laws. An open source, decentralised, and fully private currency like bitcoin, which is not controlled by any state, can allow LGBTIQ+ activists to fund their operations without the fear of being exposed or having their funds frozen by the government. This is just one example of how open source software can help the movement -- but there are many, many more.
It is clear that we need to do more to fully include members of the LGBTIQ+ community into the open source community. Then again, the same can be said of society as a whole. A lot of what we found when researching this article as applicable to the wider world we live in today: there are people who are often rude to others, there are people who often say homophobic and transphobic things to others, but there are also people who are just trying their best to support each other. The fact that we can have an open conversation about the problems is already an indication that things are slowly moving in the right direction.
The number of people who have come out publicly and unashamedly as LGBTIQ+ has also grown substantially over the last decade, another indication that things may be getting better. Pride month in FLOSS is for them, not just for who they are, but for all the ways they contribute to the Free Software community.
Images: CC BY-SA 4.0
- Linus Torvalds by Krd - https://en.wikipedia.org/wiki/Linus_Torvalds
- Sage Sharp - https://github.com/sagesharp
LGBTIQ+ refers to those who identify as Lesbian, gay, bisexual, Transgender, Intersex, Queer, and more -- it also includes those who identify as asexual, aromantic, and/or agender. ↩
- RISC-V: A Small Hardware Project
- Why aligning with open source mainline is the way to go
- Build Meetup 2021: The BuildTeam Community Event
- A new approach to software safety
- Does the "Hypocrite Commits" incident prove that Linux is unsafe?
- ABI Stability in freedesktop-sdk
- Why your organisation needs to embrace working in the open-source ecosystem
- RISC-V User space access Oops
- Tracking Players at the Edge: An Overview
- What is Remote Asset API?
- Running a devroom: FOSDEM 2021 Safety and Open Source
- Meet the codethings: Understanding BuildGrid and BuildBox with Beth White
- Streamlining Terraform configuration with Jsonnet
- Bloodlight: Designing a Heart Rate Sensor with STM32, LEDs and Photodiode
- Making the tech industry more inclusive for women
- Bloodlight Case Design: Lessons Learned
- Safety is a system property, not a software property
- RISC-V: Codethink's first research about the open instruction set
- Meet the Codethings: Safety-critical systems and the benefits of STPA with Shaun Mooney
- Why Project Managers are essential in an effective software consultancy
- FOSDEM 2021: Devroom for Safety and Open Source
- Meet the Codethings: Ben Dooks talks about Linux kernel and RISC-V
- Here we go 2021: 4 open source events for software engineers and project leaders
- Xmas Greetings from Codethink
- Call for Papers: FOSDEM 2021 Dev Room Safety and Open Source Software
- Building the abseil-hello Bazel project for a different architecture using a dynamically generated toolchain
- Advent of Code: programming puzzle challenges
- Improving performance on Interrogizer with the stm32
- Introducing Interrogizer: providing affordable troubleshooting
- Improving software security through input validation
- More time on top: My latest work improving Topplot
- Cycling around the world
- Orchestrating applications by (ab)using Ansible's Network XML Parser
- My experience of the MIT STAMP workshop 2020
- Red Hat announces new Flatpak Runtime for RHEL
- How to keep your staff healthy in lockdown
- Bloodlight: A Medical PPG Testbed
- Bringing Lorry into the 2020s
- How to use Tracecompass to analyse kernel traces from LTTng
- Fixing Rust's test suite on RISC-V
- The challenges behind electric vehicle infrastructure
- Investigating kernel user-space access
- Consuming BuildStream projects in Bazel: the bazelize plugin
- Improving RISC-V Linux support in Rust
- Creating a Build toolkit using the Remote Execution API
- Trusting software in a pandemic
- The Case For Open Source Software In The Medical Industry
- My experiences moving to remote working
- Impact of COVID-19 on the Medical Devices Industry
- COVID-19 (Coronavirus) and Codethink
- Codethink develops Open Source drivers for Microsoft Azure Sphere MediaTek MT3620
- Codethink partners with Wirepas
- Testing Bazel's Remote Execution API
- Passing the age of retirement: our work with Fortran and its compilers
- Sharing technical knowledge at Codethink
- Using the REAPI for Distributed Builds
- An Introduction to Remote Execution and Distributed Builds
- Gluing hardware and software: Board Support Packages (BSPs)
- Engineering's jack of all trades: an intro to FPGAs
- Bust out your pendrives: Debian 10 is out!
- Why you should attend local open source meet-ups
- Codethink helps York Instruments to deliver world-beating medical brain-scanner
- Codethink open sources part of staff onboarding - 'How To Git Going In FOSS'
- Getting into open source
- How to put GitOps to work for your software delivery
- Open Source Safety Requirements Analysis for Autonomous Vehicles based on STPA
- Codethink engineers develop custom debug solution for customer project
- Codethink contributes to CIP Super Long Term Kernel maintenance
- Codethink creates custom USB 3 switch to support customer's CI/CD pipeline requirements
- Codethink unlocks data analysis potential for British Cycling
- MIT Doctor delivers Manchester masterclass on innovative safety methodology
- Balance for Better: Women in Technology Codethink Interviews
- Introducing BuildGrid
- Configuring Linux to stabilise latency
- Full archive