Some More Thoughts on FOSS Sustainability

## Metadata
- Author: [[onepict.com]]
- Full Title: Some More Thoughts on FOSS Sustainability
- Category: #articles
- Document Note: ---
tags: [FOSSSustainability, CommunityRecruitment, ToxicityInFOSS, Leadership, DeveloperCommunity]
Author: [Anonymous FOSS Contributor]
Source: [onepict.com]
Reference: [FOSS Sustainability](http://onepict.com/20240409-sustain.html)
date created: 2024-09-10 14:45
---
# Title: The Community Pipeline Problem in FOSS: Recruitment, Toxicity, and Sustainability
## Table of Contents:
- [๐ Summary](#๐-summary)
- [๐ Main Content](#๐-main-content)
- [๐๏ธ Notes](#๐๏ธ-notes)
- [๐ References](#๐-references)
- [๐ฃ๏ธ Paraphrase](#๐ฃ๏ธ-paraphrase)
- [๐งช Hypotheses](#๐งช-hypotheses)
- [๐ Methodology](#๐-methodology)
- [โ Questions](#โ-questions)
- [๐ฎ Future Research](#๐ฎ-future-research)
- [๐ก Implications](#๐ก-implications)
- [โ
Logical validity](#โ
-logical-validity)
- [๐ฏ Conclusion](#๐ฏ-conclusion)
### References:
- [FOSS Sustainability](http://onepict.com/20240409-sustain.html)
- [Linux's Creator Apologizes](https://www.wired.com/story/linuxs-creator-is-sorry-but-will-he-change/)
- [A Leadership Crisis in Nix](https://lwn.net/Articles/970824/)
- [Outreachy](https://www.outreachy.org/)
## ๐ Summary:
This article delves into the challenge of recruiting new contributors to help maintain open source projects. The toxic behavior of certain project leaders, particularly the "Benevolent Dictator for Life" (BDFL) model, discourages diverse contributions and damages community sustainability. It highlights examples from the Linux Kernel, discussing the abusive behaviors of Linus Torvalds, and how this impacts recruitment, especially for those who have been marginalized in tech. The piece argues that fostering inclusive, respectful environments is critical for the long-term health of FOSS communities.
## ๐ Main Content:
The open-source world faces a significant challenge: maintaining the health and sustainability of its projects by recruiting new contributors. The toxic behavior of some project leaders and maintainers can deter potential contributors from engaging, particularly those from underrepresented groups in tech. The "Benevolent Dictator for Life" model often exacerbates these problems, with community leaders like Linus Torvalds displaying aggressive and dismissive behavior, as seen in a recent incident on the Linux Kernel mailing list.
### The Linus Torvalds Example:
- Linus Torvalds has a history of reacting negatively and abusively to suggestions and proposals, such as those from Kees Cook regarding security bugs.
- While Torvalds has toned down his language since his public apology in 2018, his behavior remains toxic, affecting the perception of the Linux Kernel community.
- This toxic leadership style discourages contributors, especially those from marginalized groups, who may not feel safe in such an environment.
### Broader Recruitment Issues:
- Recruitment into STEM and FOSS is already challenging, especially for women and minorities.
- Toxic behavior within communities further compounds the difficulty of attracting diverse contributors.
- Examples of similar issues exist in other FOSS projects, such as the NixOS community, which has experienced leadership crises and contributor departures due to poor moderation and exclusionary attitudes.
### Toxicity and Sustainability:
- A toxic culture not only deters new contributors but also drives existing contributors away, leading to forks and fractured communities.
- Projects that fail to address these issues risk long-term sustainability problems, as they become reliant on a shrinking group of insiders.
## ๐๏ธ Notes:
- FOSS communities suffer from recruitment and sustainability problems.
- Linus Torvalds' abusive behavior on the Linux Kernel mailing list remains an issue, despite past apologies.
- Toxicity within FOSS communities often stems from entrenched leadership behaviors and a failure to create inclusive environments.
- Recruitment issues are closely tied to the behavior of community leaders and the inclusiveness of the community.
- Some communities, like NixOS, are facing sustainability crises due to poor leadership and community management.
## ๐ References:
- [FOSS Sustainability](http://onepict.com/20240409-sustain.html)
- [Linux's Creator Apologizes](https://www.wired.com/story/linuxs-creator-is-sorry-but-will-he-change/)
- [A Leadership Crisis in Nix](https://lwn.net/Articles/970824/)
## ๐ฃ๏ธ Paraphrase:
1. **The challenge in recruiting new contributors** lies in the toxic environments often fostered by certain project leaders. Communities that rely on abusive communication styles, like Linus Torvaldsโ in the Linux Kernel project, struggle to attract and retain contributors, particularly those from underrepresented groups.
2. **The sustainability of open-source projects** is directly impacted by the behavior of their leaders. When toxic behavior goes unchecked, it creates environments that are unwelcoming and exclusionary, resulting in fewer new contributors and a declining community.
## ๐งช Hypotheses:
- FOSS communities with toxic leadership are more likely to experience sustainability challenges due to difficulties in recruiting new contributors.
- Communities that actively promote inclusivity and respect will attract more diverse contributors, improving long-term sustainability.
### ๐ Methodology:
- **Data Sources**: Surveys of contributors in FOSS communities, examining their reasons for joining or leaving a project.
- **Research Design**: Comparative analysis between projects with toxic leadership and those with inclusive leadership practices.
- **Analysis Techniques**: Sentiment analysis of mailing lists, forums, and community discussions to assess the impact of leadership behavior on community health.
### โ Questions:
- How can FOSS communities encourage more inclusive and respectful behavior among project leaders?
- What are the long-term effects of toxic leadership on the sustainability of open-source projects?
### ๐ฎ Future Research:
- Investigate the relationship between toxic leadership and community attrition in open-source projects.
- Explore strategies for improving community moderation to foster a more inclusive environment in FOSS projects.
### ๐ก Implications:
If FOSS communities continue to allow toxic leadership behaviors, they will face long-term sustainability challenges. Creating inclusive and respectful environments is essential for attracting and retaining contributors, particularly from underrepresented groups in STEM.
### โ
Logical validity:
The arguments presented are logically sound, drawing from real-world examples like the Linux Kernel and NixOS communities. The article makes effective use of **causal reasoning** by linking toxic leadership directly to recruitment and sustainability issues. However, **hasty generalization** could be a concern when discussing all FOSS communities as uniformly problematic without considering successful examples of inclusive projects.
## ๐ฏ Conclusion:
FOSS communities must address toxic leadership and communication styles to maintain long-term sustainability. By fostering inclusive and respectful environments, they can attract a broader range of contributors and avoid the stagnation that results from relying on a narrow group of insiders.
- Document Tags: [[community recruitment]] [[Community Recruitment]] [[developer community]] [[foss]] [[FOSS]] [[leadership]] [[open source]] [[sustainability]] [[toxicityinfoss,]] [[ToxicityInFOSS,]]
- Summary: The text discusses issues of toxicity and abuse in some FOSS communities, particularly focusing on the behavior of project leaders like Torvalds. It emphasizes the importance of creating a respectful and inclusive environment to attract and retain contributors, highlighting the negative impact of abusive behavior on community sustainability. The text also touches upon the need for open-mindedness, accountability, and diversity in fostering healthier and more productive FOSS communities.
- URL: http://onepict.com/20240512-elephant.html
#### The community pipeline problem
Last month I commented on FOSS Sustainability in the wake of the xz exploit on an overloaded maintainer. [1]
There's a massive elephant in the room.
How do we recruit new folks to help a maintainer maintain their code? More to the point, how do you recruit new people to fill in the gaps that maintainers need to fill? How do you grow interest and community to give maintainers the support that they need?
Sometimes a project's own worst enemy is the project founder.
The Benevolent Dictator for Life (BDFL).
#### Growing pains: when will the beatings stop?
Some of our communities have growing pains. Some of our communities don't have an issue with recruiting new people, but they do have an issue with toxicity.
I'd like to present an example of this from possibly the largest FOSS project we have. The Linux Kernel.
On May the 7th 2024 Kees Cook posted to the Linux kernel mailing list about a class of security bugs and laid out some suggestions as to how to fix them. This is what Cook does. He thinks about security bugs within the kernel and thinks about how to reduce the risk overall. Rather than playing whack-a-mole.
Linus Torvalds did what Linus Torvalds does. React without reading the entire proposal. Calls it stupid and threatens to tell everyone else not to listen to Cook because it's a stupid idea.
So to summarise, Torvalds reacts, and in front of the entire list tries to ruin Cook's reputation as a competent coder. Two days later after a careful back and forth driven by Cook, Torvalds grudgingly thinks about it some more. [2]
Torvalds has a history of being abusive on the list. In 2018 Torvalds apologised for his abusive behaviour on the list. Cook even says yes, there is an improvement. The abuse isn't as bad. [3]
It is still abuse, Torvalds hasn't really changed. Torvalds just uses fewer swear words now. Torvalds still attacks proposals on the mailing list. The mailing list still has a reputation for being a toxic space.
Meanwhile, while this abusive behaviour is commented on mastodon by another cis white male programmer, another project leader doesn't see what's wrong with the behaviour. Smaller projects in the meantime have an issue with recruitment for testing new releases and finding the bugs with that. The BDFLs have to appeal for help.
I think these things are linked. Why would anyone who's not a privileged cis male programmer get involved with your project? Why would folks who have faced abuse in their past volunteer to help you out and take your abuse? For free?
Like it or not, what you say in public, or on your community spaces is judged. Folks want a space where they can and work and communicate without having to take abusive communications.
The NixOS community also has its own issues with moderation and a clash between a diverse community, and cis white programmers who despair of the "woke" agenda.
Folks, there isn't an agenda. You have a community moderation issue that will turn into a sustainability issue for recruiting more contributions. You have already had your third most productive contributor leave the project. There are now 2 forks. You have a long-term risk of sustainability if you can't sort out these issues. [4]
#### STEM has a recruitment problem: Where are the girls?
We have systematic issues with recruitment into STEM in general. To be clear when we are talking about toxic communities and discrimination we aren't criticising specific individuals. We are criticising the systems of community that encourage that toxic behaviour.
We are criticising the behaviour that belittles others, the toxic behaviour of the 10x engineer. Because even 10x engineers need help on occasion. There are two points of view on this.
A project needs meaningful contributions that are technically correct and not hard to review. Projects don't want driveby contributions doing busy work.
What counts as a meaningful contribution is very open to interpretation. Maintainers often do not have the time, or frankly the spoons to look at suggestions, accept patches etc. So it becomes easier to create a culture of telling people to go away. A potential contributor runs the gauntlet and in the end, the contribution is more meaningful because you didn't waste the maintainer's time.
I understand why this could happen. I don't approve.
I see no questions from the maintainers. Asking why the patch was needed. Even when Cook took the time to anticipate the objections, Cook was flamed. The suggestions were rejected out of hand with breathtaking rudeness and a mild swearword. Torvalds has improved. The verbal beatings are a bit less severe on the psyche.
Torvalds doesn't code directly in the kernel anymore. Torvalds is merging in patches. He's a community leader. Frankly, Torvalds needs a filter, he's awful at community communication. [2-3]
#### Outside looking in
That email exchange over two days reminded me of the hyper-empathy I developed trying to anticipate the mood of my abuser. [2]
Were they in a good mood that day? Were they about to jump down my throat in full-throttled anger? Even before I opened my mouth as a child, I remember being very careful in my body language and trying to read the room. The empathy is very useful to me. But I wish I'd never had the experience of trying to avoid that abuse.
Folks, it's not great when the founder of the largest FOSS project gives off the same vibes as an abuser. It's not a professional-looking environment when the main community leader of that project has a reputation for brutal communication. It's not great when his tactics are emulated by other developers. It's toxic and abusive.
It makes me wonder where else they feel that kind of behaviour is acceptable. At a conference? In a restaurant with servers? It shows a lack of respect for your contributors who at the end of the day are giving you free work. (Even if it's their employers allowing them to do so during work.) You aren't directly paying them, it's free to you.
Show some respect.
People who are on the outside of your projects and who may know technical folks may never recommend your project to work with. Competent programmers may never collaborate with you because of your temper. Because of the fact you consider your abusive behaviour to be acceptable. So the people who keep contributing gradually filter out and you are left with assholes. Your community just cares about the code and the cult of your brilliance. Who do you trust to keep your code safe if you get run over by a bus?
I already wouldn't recommend FOSS to some of my friend's children. The girls because well, not safe. The boys because I don't want them to learn how to be assholes from developers who think that kind of behaviour is acceptable.
When you say you are criticising the code, not the people, that's not true. You may have told yourself that it is true. It's not.
#### We are our code
You need to acknowledge that you program your values into your software code. The way you code is your thoughts on how to solve a problem or do a task. When you call code decisions stupid, you are calling the coder stupid. You are being abusive. You are negging that contributor. You demonstrate the fact you don't rate their contributions, you don't respect them as people enough to take the time to ask them why they need that code change. It means that past contributors may not want to help you anymore, because they don't want the verbal beatings. They are not encouraged.
The people on the outside, who aren't coders, but like me (Computer Scientist) understand enough about code to know this. When we see you deliberately calling the code moronic, or stupid and threatening to tell everyone to not take a contributor seriously. We see this as abusive behaviour. To try to get an inconvenience to your code view and therefore your worldview to leave.
You show that you are threatened in some way by their contributions and you lash out.
People shouldn't have to slowly gain your trust over years before you take some time to review and ask questions about why a potential contributor made that decision.
People should not have to threaten to fork and leave your project for you to see that some contributors engage in behaviour to put their worldview into a project.
Torvalds clearly demonstrates to the entire Linux Kernel community that he doesn't respect Cook. Or apparently, the thousands of systems that integrate the linux kernel and the fact that the EU has concerns about the software supply chain.
#### Tech is political
"Tech isn't political," you say. I know you mean "I prefer the status quo, go away."
Some of our FOSS leaders are from a different time in tech and from a very privileged circumstance. Many of our male programmers who started on the Commodore 64 need to realise this is a very privileged circumstance. I am of a similar age. But I didn't know about computers in my backwater town until the age of 12. Neither of my parents considered the Commodore 64 or the idea of programming games etc.
I only learned about computing from the spectrum, playing games in primary school. This was a rare circumstance when the teacher needed us to be distracted or as a reward. Many male programmers of my age and older, had parents who got them equipment and the magazines where you hand-coded in and fixed bugs in the code. I saw the world around me, and as I gained some more limited access to computers I had questions.
"How does the computer know to output what it does to me? How does it know how to do that?"
I chose computing as I wanted to understand how the computer knew to do what it did.
Your next generation of contributors may have started with projects like Raspberry Pi. But some of them did not. So how do you foster in these folks? How do they find you? What kind of community will they find when they look at your mailing list.
Well, the Kernel lore list does demonstrate what kind of toxic community it is quite well. Thank you, Linus Torvalds, for your blistering example. It's not something to be proud of.
How do you get different viewpoints about how your code decisions may factor into human rights violations?
"Tech isn't political," you say. That translates to me as "I don't want to take responsibility for my code. I don't want to think about how my attitude supports the status quo". I don't want to have to think about what I say.
You have to think about how your code interacts with other people's code folks. This is no different. [7]
#### But I'm not evil I'm doing good work in FOSS
I know some of you are anxious, in case you are judged as a terrible individual. That isn't what we want. However, if you are seriously worried that something you post in the discourse may be used against you in a "cancelling" or you use the word "woke" as a pejorative, perhaps you have some work to do. Perhaps you need to look at your past interactions and think about the people that are missing from your project.
Perhaps you need to consider your place in the patriarchy and why it makes you nervous when non straight, cis, white folks are asking for some thought and consideration. When we are asking not to be abused on list. Listen to folks when they explain why your attitude is abusive. This isn't a free speech issue. It's a freedom of association issue. It's a community safety issue. [5], [7]
If you feel threatened by us, if you fear us stealing your place somehow, take a moment and consider how you've got to that thinking. Did you do that to someone else?
Who's missing? Who did you trample over with your need to defend yourself rather than listen and ask questions without bias?
Which projects are those folks contributing to now? Who's encouraging the next generation to embrace which projects? Why is that? Just why won't folks who go through Outreachy come to help your project? [6]
Why are you so uncomfortable with learning new viewpoints? Ask this of yourself. Please do it in your own time though. I don't have the time or the spoons to validate your need to not think of yourself as a bad person. I know you aren't. But if you keep on harassing folks or being so abusive in the replies, I may revise my opinion.
That opinion will be from how you interact with others when you think I'm not looking. Someone else will be looking, chances are they told me about you and I verified that.
We work around the missing stair, gradually your projects will stagnate in the same tired bullshit.
But we will build our communities, even if the tech and the code we create are technically inferior. It will be a more productive community.
We don't have to take the aggression, so we won't. Frankly neither should Kees Cook have to take the abuse on the list either.
[1] A Few thoughts on FOSS Sustainability - <http://onepict.com/20240409-sustain.html>
[2] [RFC] Mitigating unexpected arithmetic overflow <https://lore.kernel.org/all/202404291502.612E0A10@keescook/>
[3] <https://www.wired.com/story/linuxs-creator-is-sorry-but-will-he-change/>
[4] A leadership crisis in the Nix community - <https://lwn.net/Articles/970824/>
[5] Pop Culture Detective - Patriarchy According to The Barbie Movie <https://www.youtube.com/watch?v=rK66s7VQmXE>
[6] Outreachy <https://www.outreachy.org/>
[7] But he does good work - <https://medium.com/@violetblue/but-he-does-good-work-6710df9d9029>, Some More Thoughts on FOSS Sustainability, onepict.com, 01hxpz66nnx9ey0tsbjpc170tr.