Codebook

Cultural Factors

These codes are related to the culture of the community.

Community Leadership

Where contributors would disengage as a result of actions, or lack thereof, taken by the community leadership.

Examples

A contributor describes an experience in which the project leadership fails to handle a toxic member in the community.

“The TSC has tried talking to him on several occasions, but when those inevitably failed the rest of the leadership stopped trying. They were both unwilling and unable to make the hard decisions in this matter, and I was not able to take unilateral action.”

The leadership asking the contributor to leave following controversial information about the contributor’s private life becoming available publicly online.

So… which is it? Dries wants me out of Drupal because of my “values”, while Megan wants me out of DrupalCon because of, er, something else that she won’t say but is so bad we won’t even tell Larry what it is? That doesn’t compute.

Policy Disagreements

Where contributors would disengage as a result of the a constitution, code of conduct, or some sort of document that pertains to: the rules, way the community would behave, and or be governed.

Examples

This contributor mentions that the Debian community is now heading in a direction they disagreed with as a result of the Debian constitution, and is one of the reasons why they’re disengaging. Resulted in a number of Debian packages orphaned, and a long time systemmd dev leaving the project.

If I have one regret from my 18 years in Debian, it’s that when the Debian constitution was originally proposed, despite seeing it asdubious, I neglected to speak out against it. It’s clear to me now that it’s a toxic document, that has slowly but surely led Debian in very unhealthy directions.

Project Direction

Where contributors would disengage due to the direction that a project is going in. Oftentimes, this is because a contributor wants the project to go in one direction, while the community wants it going in a different direction.

Examples

This contributor disengaged because a project they created was no longer useful to them. Rather than changing the project into something more beneficial to them, they realized that the community depended on it for its current use. As a result, they disengaged from the project.

How I’d like to see and interact with such stores is significantly different to how NEventStore currently works. I could mould NEventStore into how I’d like it to be but then the changes would very likely alienate people and break their stuff. Thus it’s best that I head off in my own direction.

Community Hostility

Where contributors would disengage due to community hostility whether it’s directed specifically at them, or just an abusive community in general.

Examples

This contributor disengaged because of the hostile Linux kernel community. Although they were technically respected, they were not respected as a person. Despite trying to change the behavior of the community they felt like any drastic changes in their culture wouldn’t be happening anytime soon.

Top Linux kernel developers often yell at each other in order to correct each other’s behavior. That’s not a communication style that works for me. I need communication that is technically brutal but personally respectful. I need people to correct my behavior when I’m doing something wrong (either technically or socially) without tearing me down as a person.


External Factors

These codes are related to influences (outside of the project) that result in the contributor disengaging.

Left Company Which Used the Project

Where contributors would disengage with the project because they either quit their job which was working on the project itself, or the project was used by them at work.

Examples

This contributor left Basecamp where they worked on Ruby on Rails development.

I left Basecamp today. I’ve also resigned from the Rails core team.

This contributor left after a corporate restructuring resulted in a significant number of employees leaving, many of which worked on open source software.

Derek had been employed by Samsung Research for the past half-decade where he worked heavily on Wayland/Weston but left in February from the Korean company.

No Longer Useful

Where contributors would disengage because the projects are no longer useful to them. Some lost interest in the language itself, changed interests, and/or found a better solution to their problems.

Examples

This contributor was no longer using the projects they were maintaining anymore, and didn’t want to maintain something they were no longer has a use for. Following an uptick at work they started feeling guilty as well for not being able to care for nearly 180 Java packages. As a result of their departure, all 180 packages for Fedora were orphaned.

Long story short, I can no longer in good conscience be the primary maintainer of (most) Java packages in Fedora. I am not using any of them,

Not Enough Time

Where contributors would disengage because of external factors affecting the amount of time they could allocate to the project(s). Usually as a result of a change in jobs, or an uptick in the amount of hours they’re working.

Examples

This contributor left their company which had them working primairly on two projects, and they even had leadership positions in said projects. After their departure from the company, they no longer had much time to dedicate to the project and announced they were stepping down.

“I no longer have as much time to dedicate to this as I used to, so I think it would be best if someone else could take over managing the releases for Weston and Wayland.”… Derek had been employed by Samsung Research for the past half-decade where he worked heavily on Wayland/Weston but left in February from the Korean company.

Health Reasons

Where contributors would disengage due to various health reasons.

Examples

Self-Doubt

Where contributors would disengage due to feelings of insecurity and incompetance regarding their work (unrelated to their community).

Examples


Volunteering

These codes are related to the act of contributing in general.

Lack of Support

Where contributors would disengage due to the lack of monetary, and or physical support with the project(s).

Examples

This contributor disnegaged because despite their project’s widespread popularity and use, they didn’t get anything in return for their work.

This is why I stopped. I had a pretty popular open source project (EpicEditor). It was featured by GitHub, used in Drupal and even in Adobe’s enterprise CMS. I got paid exactly $0 ever. No complaints since I did it for free but it made me burn out of open source since ROI = :chart_with_downwards_trend:

This contributor disengaged because they felt as if they weren’t getting anything out of the project as a result. Not only was lack of support an issue, but not enough time as well citing that they could be doing “life stuff” or writing instead.

I am not being paid at all to do any open source work, and so the work that I do there is time that I could be spending doing “life stuff”, or writing. It is not fair to expect me to do even more work outside of my regular work, and then not get fairly compensated (time or money) for it.

Not Enough Time

Where contributors would disengage due to lack of time. This differs from external factors because contributors cite more internal reasons such as the opportunity cost being too high.

Examples

This contributor disengaged because they felt that since they weren’t getting paid for work, they’d rather be spending their time doing things more pertinent to themself.

I do not have the time or energy to invest in open source any more. I am not being paid at all to do any open source work, and so the work that I do there is time that I could be spending doing “life stuff”, or writing. It is not fair to expect me to do even more work outside of my regular work, and then not get fairly compensated (time or money) for it.

This contributor disengaged because on-top of their work, they were spending upwards of twenty hours a working on their project and it wasn’t maintainable.

What if I said to you, that you have to spend 10-20 hours per week, outside of your day job just so you can maintain these projects? How scalable and feasible is this tempo? Every single day, when I open my e-mail, I pray that I don’t receive yet another Github email. Pull requests, issues, feedbacks, fixes, etc.. you name it. I can no longer maintain this tempo and I think it’s insane when I continue doing it.

No Longer Enjoyable

Where contributors would disengage because they’re no longer enjoyng the project, often citing that it feels like another job rather than a hobby.

Examples

This contributor disengaged because the project started to feel like their second job, rather than a hobby.

Working on a side project is fun until it becomes your second full-time job.It’s a hobby and passion. But if a hobby feels like it becomes a second full-time job, something is very wrong.

This contributor also disengaged because the lines between hobby and work started to blur while working on their project(s).

in the end its meant that I’m no longer enjoying what i was doing and it felt like work not a hobby.

Burnout

Where contributors would disengage because of feeling burned out. Typically caused by a prolonged stressors, and results in a feeling of constant mental and physical fatigue.

Examples

This contributor had been feeling overworked for nearly two years. While it wasn’t mandatory they were invested in the project, and as a result eventually burned out from being overworked.

I am also extremely burnt out. The very small mobile team has been through a gauntlet in order to ship a full rewrite of the flagship Firefox for Android browser (partly during the pandemic no less). Working too much during the week for the last 2 years was normal for me and while never asked for from my team, I cared deeply about the product and the success and it would have been impossible to hit our deadlines and ship something I was proud of without it.

Feelings of Guilt

Where contributors would disengage due to feelings of guilt. Typically associated with other factors as well, such as not having enough time for the project, and as a result feeling guilty that they’re unable to address all the issues, etc. that a project has.

Examples

This contributor didn’t have enough time to dedicate to their project due to various personal projects, and just general “life stuff.” With issues, comments, and pull request notifications filling up their inbox, they were feeling guilty that they didn’t have enough time or energy to dedicate to their various open source projects. As a result, they completely disengaged from all open source projects.

Having open source emails sitting in my inbox during those times makes me feel guilty for doing those things instead of working on open source. To have an open source email sit in the inbox for days or weeks at a time just leads me to feeling more guilty about not having found time + energy to get to it yet.

This contributor was struggling during the pandemic, and the lack of childcare services made it rough to work when they’re trying to take care of their child as well. They began feeling guilty as well for their lack of work they weren’t able to do, and was one of the factors as to why they disengaged.

At that point I just needed to stop feeling guilty for the work I wasn’t doing and stepped down from my positions on the crates and infra teams for Rust.