Skip to content

Latest commit

 

History

History
220 lines (173 loc) · 15.3 KB

maintaining-balance-for-open-source-maintainers.md

File metadata and controls

220 lines (173 loc) · 15.3 KB
lang untranslated title description class order image
en
true
Maintaining Balance for Open Source Maintainers
Tips for self-care and avoiding burnout as a maintainer.
balance
0
/assets/images/cards/maintaining-balance-for-open-source-maintainers.png

As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.

To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.

So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as defined by the WHO, is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.

avatar

I was unable to focus or start on a task. I had a lack of empathy for users.

@gabek, maintainer of the Owncast live streaming server, on the impact of burnout on his open source work

By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.

Tips for Self-Care and Avoiding Burnout as a Maintainer:

Identify your motivations for working in open source

Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.

Reflect on what causes you to get out of balance and stressed out

It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:

  • Lack of positive feedback: Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.

avatar

Sometimes it feels a bit like shouting into the void and I find that feedback really energizes me. We have lots of happy but quiet users.

@thisisnic, maintainer of Apache Arrow

  • Not saying 'no': It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.

avatar

I found I was taking on more than one should and having to do the job of multiple people, like commonly done in FOSS.

@agnostic-apollo, maintainer of Termux, on what causes burnout in their work

  • Working alone: Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.

avatar

Especially since COVID and working from home it's harder to never see anybody or talk to anybody.

@gabek, maintainer of the Owncast live streaming server, on the impact of burnout on his open source work

  • Not enough time or resources: This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
[I would like to have] more financial support, so that I can focus on the open source work without burning through my savings and knowing I'll have to do a lot of contracting to make up for it later.

— open source maintainer

  • Conflicting demands: Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
With paid open source, conflict between employer's focus and what's best for the community

— open source maintainer

Watch out for signs of burnout

Can you keep up your pace for 10 weeks? 10 months? 10 years?

There are tools like the Burnout Checklist from @shaunagm that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).

I'm a big believer in good wearables. With the science behind it, you can understand how you could have done better and how to get to an optimal state of what you want to do.

— open source maintainer

What would you need to continue sustaining yourself and your community?

This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:

  • Lean on the community: Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the Maintainer Community. This can be a great resource for peer support and learning.

    You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.

  • Explore funding: Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on GitHub Sponsors to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of GitHub Accelerator.

avatar

I was on a podcast a while ago and we were chatting about open source maintenance and sustainability. I found that even a small number of people supporting my work on GitHub helped me make a quick decision not to sit in front of a game but instead to do one little thing with open source.

@mansona, maintainer of EmberJS

  • Use tools: Explore tools like GitHub Copilot and GitHub Actions to automate mundane tasks and free up your time for more meaningful contributions.
Use [Copilot](https://github.com/features/copilot/) for the boring stuff - do the fun stuff

— open source maintainer

  • Rest and recharge: Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your GitHub status to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.

    If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.

avatar

I'm finding more opportunity to sprinkle ‘moments of creativity' in the middle of the day rather than trying to switch off in evening.

@danielroe, maintainer of Nuxt

  • Set boundaries: You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.

avatar

To meaningfully trust others on these axes, you cannot be someone who says yes to every request. In doing so, you maintain no boundaries, professionally or personally, and will not be a reliable coworker.

@mikemcquaid, maintainer of Homebrew on [Saying No](https://mikemcquaid.com/saying-no/)

Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.

avatar

My software is gratis, but my time and attention is not.

@IvanSanchez, maintainer of Leaflet

avatar

It's no secret that open source maintenance has its dark sides, and one of these is having to sometimes interact with quite ungrateful, entitled or outright toxic people. As a project's popularity increases, so does the frequency of this kind of interaction, adding to the burden shouldered by maintainers and possibly becoming a significant risk factor for maintainer burnout.

@foosel, maintainer of Octoprint on [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs)

Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.

Additional Resources

Contributors

Many thanks to all the maintainers who shared their experiences and tips with us for this guide!

This guide was written by @abbycabs with contributions from:

@agnostic-apollo @AndreaGriffiths11 @antfu @anthonyronda @CBID2 @Cli4d @confused-Techie @danielroe @Dexters-Hub @eddiejaoude @Eugeny @ferki @gabek @geromegrignon @hynek @IvanSanchez @karasowles @KoolTheba @leereilly @ljharb @nightlark @plarson3427 @Pradumnasaraf @RichardLitt @rrousselGit @sansyrox @schlessera @shyim @smashah @ssalbdivad @The-Compiler @thehale @thisisnic @tudoramariei @UlisesGascon @waldyrious + many others!