Stress-and-happiness.md (9216B)
- ---
- date: 2020-01-21
- layout: post
- title: The happinesses and stresses of full-time FOSS work
- tags: [foss, maintainership]
- ---
- In the past few days, several free software maintainers have come out to discuss
- the stresses of their work. Though the timing was suggestive, my article last
- week on the philosophy of project governance was, at best, only tangentially
- related to this topic - I had been working on that article for a while. I do
- have some thoughts that I'd like to share about what kind of stresses I've
- dealt with as a FOSS maintainer, and how I've managed (or often mismanaged) it.
- February will mark one year that I've been working on self-directed free
- software projects full-time. I was planning on writing an optimistic
- retrospective article around this time, but given the current mood of the
- ecosystem I think it would be better to be realistic. In this stage of my
- career, I now feel at once happier, busier, more fulfilled, more engaged, more
- stressed, and more depressed than I have at any other point in my life.
- The good parts are numerous. I'm able to work on my life's passions, and my
- projects are in the best shape they've ever been thanks to the attention I'm
- able to pour into them. I've also been able to do more thoughtful, careful work;
- with the extra time I've been able to make my software more robust and reliable
- than it's ever been. The variety of projects I can invest my time into has also
- increased substantially, with what was once relegated to minor curiosities now
- receiving a similar amount of attention as my larger projects were receiving in
- my spare time before. I can work from anywhere in the world, at any time, not
- worrying about when to take time off and when to put my head down and crank out
- a lot of code.
- The frustrations are numerous, as well. I often feel like I've bit off more than
- I can chew. This has been the default state of affairs for me for a long time;
- I'm often neglecting half of my projects in order to obtain progress by leaps
- and bounds in just a few. Working on FOSS full-time has cast this model's
- disadvantages into greater relief, as I focus on a greater breadth of projects
- and spend more time on them.
- The attention and minor fame I've received as a result of my prolific efforts
- also has profound consequences. On the positive line of thought, I'm somewhat
- embarrassed to admit that I've noticed my bug reports and feature requests on
- random projects (or even my own projects) being taken more seriously now, which
- is almost certainly more related to name recognition than merit. I often receive
- thanks and words of admiration from my... fans? I guess I have those now.
- Sometimes these are somewhat unwelcome, with troubled individuals writing
- difficult to decipher half-rants laden with strange praises and bizarre
- questions. Other times I'm asked out of the blue to join a discussion I was
- unaware of, to comment on some piece of technology I've never used or to take a
- stand on some argument which I wasn't privy to. I don't enjoy these kinds of
- comments. But, they're not far removed from the ones I like - genuine,
- thoughtful praise arrives in my inbox fairly often and it makes the job a lot
- more worthwhile.
- Of course, a similar sort of person exists on the opposite extreme. There are
- many people who hate my guts and anything I've ever worked on, and who'll go out
- of their way to let me and anyone else who'll listen to them know how they feel.
- Of course, I have *earned* the ire of no small number of people, and I regret
- many of these failed interpersonal relationships. These cases are in the
- minority, however - most of the people who will tell tales of my evil are people
- who I've never met. There's a lot of spaces online that I just won't visit
- anymore because of them. As for the less extreme of this sort of person, I'll
- also reiterate what others have said - the negative effects of entitled,
- arrogant, or outright toxic users is profound. Don't be that person.
- In either case, I can never join new communities on the same terms as anyone
- else does. At least one person in every new community already has some
- preconception of me when I arrive. Often I think about making an alias just to
- enjoy the privilege of anonymity again.
- A great help has been my daily interactions with the many friends and colleagues
- who are dear to me. I've made lifelong friends of many of the people I've met
- through these projects. Thanks to FOSS, I have met an amazing number of kind,
- talented, generous people. Every day, I'm thankful to and amazed by the
- hundreds of people who have found my ideas compelling, and who come together to
- contribute their own ideas and set aside their precious time to work together
- realizing our shared dreams. If I'm feeling blue, often all it takes to snap me
- out of it is to reflect on the gratitude I feel for these wonderful people. I'll
- never be able to thank my collaborators enough, but hell, I could stand to do it
- some more anyway.
- I also have mixed feelings about how *busy* I am. Every day I wake up to a
- hundred new emails, delete half of them, and spend 3-4 hours working on the
- rest. Patches, questions, support inquiries, monitoring & reports, it's endless.
- On top of that, I have dozens of things I already need to work on. The CI work
- distribution algorithm needs to be completely redone; I need to provision new
- hardware — oh yeah, and, the hardware that I need ran into shipping
- issues, again; I need to improve monitoring; I need to plan for FOSDEM; I need
- to finish the Wayland book; I need to figure out the memory issues in himitsu
- — not to mention write the rest of the software; I need to file taxes,
- twice as much work when you own a business; I need to implement data export
- & account deletion; I need to finish the web-driven patch review UI; I need
- to finish writing docs for Alpine; I have to work more on the PinePhone; I have
- a legacy server which needs to be overhauled and is now on the clock because of
- ACMEv1; names.sr.ht needs to be finished...
- Not to mention the tasks which have been on hold for longer now than they've
- been planned for in the first place. Alpine is still going to have hundreds of
- Python 2 packages by EoL; the ppc64le server is gathering dust in the
- datacenter; there's been some bug with fosspay for several months, in which it
- doesn't show Patreon figures unless I reboot the process every now and then;
- RISC-V work is stalled because the work is currently blocked by a large problem
- that I can't automate; the list of blog posts I want to write is well over 100
- entries long. There are *several dozen* other loose ends I haven't mentioned
- here but am painfully aware of anyway.
- That's not even considering any personal goals, which I have vanishingly little
- time for. I get zero exercise, and though my diet is mostly reasonable the
- majority of it is delivery unless I get the odd 2 hours to visit the grocery
- store. That is, unless I want to spend those 2 hours with my friends, which
- means it's back to delivery. My dating life is almost nonexistent. I want to
- spend more time studying Japanese, but it's either that or keeping up with my
- leisure reading. Lofty goals of also studying Chinese or Arabic are but dust in
- the wind. I'm addicted to caffeine, again.
- There have been healthy ways and unhealthy ways of dealing with the occasional
- feelings of being overwhelmed by all of this. The healthier ways have included
- taking walks, reading my books, spending a few minutes with my cat, doing
- chores, and calling my family to catch up. Less healthy ways have included
- walking to the corner store to buy unhealthy comfort foods, consuming alcohol or
- weed too much or too often, getting in stupid internet arguments, being mean to
- my friends and colleagues, and googling myself to read negative comments.
- Despite being swamped with all of this work, it's all work that I love. I love
- writing code, and immeasurably more so when writing *my* code. Sure, there are
- tech debt skeletons in the closet here and they're keeping me awake at night, but
- on the whole I feel lucky to be able to write the software I want to write, the
- way I want to write it. I've been trying to do that my entire life —
- writing code for someone else has always been a huge drain on my emotional
- well-being. That's why I worked on my side projects in the first place, to have
- an outlet through which I could work on self-directed projects without making
- compromises for some arbitrary deadline.
- When I'm in the zone, writing lots of code for a project I'm interested in,
- knowing it's going to have a meaningful impact on my users, knowing that it's
- being written under my terms, it's the most rewarding work I've ever done. I get
- to do that every day.
- This isn't the retrospective I wanted to write, but it's nice to drop the veneer
- for a few minutes and share an honest take on what this is like. This year has
- been nothing like what I expected it to be - it's both terrible and wonderful
- and very busy, very goddamn busy. In any case, I'm extremely grateful to be here
- doing it, and it's thanks to many, many supportive people - users, contributors,
- co-maintainers, and friends. Thank you, thank you, thank you, thank you.