On Being a Free Software Maintainer

Year is 2013. I learn about a new, alpha-quality project called “GNOME Calendar.” Intriguing.

I like calendars.

“Cool, I’ll track that,” said my younger self. Heavy development was happening at the ui-rework branch. Every day, a few new commits. Pull, build, test. Except one day, no new commits. Nor the next day. Or week. Or month. Or year. I’m disappointed. Didn’t want that project to die. You know…

I like calendars.

“Nope. Not gonna happen,” also said my younger self. Clone, build, fix bugs, send patches. Maintainer’s interest in the project is renewed. We get a new icon, things get serious. We go to a new IRC room (!) and make the first public release of GNOME Calendar.

One year passes, it is now 2015. After contributing for more than a year, Erick made me the de facto GNOME Calendar maintainer ¹. A mix of positive emotions flows: proud of the achievement; excitement for being able to carry on with my ideas for the future of the application; fear, for the weight of the responsibility.

But heck, I am a free software maintainer now.

That was 4 years ago. Time passes, things happen, experience is built. Experience that differs from what I originally expected.

Being a free software maintainer is a funny place to find yourself in. Good things came from it. Bad things too. Also terrible. And weird.

Naturally, there is a strong sense of achievement when you, well, achieve maintainership of a project. Usually, getting there requires a large number of interactions during a long period of time. It means you are trusted. It means you are trustworthy. It means you are skilled enough.

It also usually means stronger community bonds. Getting to know excellent people, that know a lot and are willing to share and mentor and help, is a life-changing experience. There is a huge human value in being surrounded by great people.

For those of us who enjoy coding, hooray! Full plate. Planning releases, coding and doing reviews can be fun too. You will fix problems, find solutions, think and design your code. There is a plethora of problems to fix in this plane of existence, and you have the chance to independently fix a few of them by yourself.

And people. There are good people in this planet. You eventually will receive a thank you email, or you will be paid a coffee. One way or another, people find their way to you.

People really do find their way to you.

See, sometimes the software you maintain, well, it crashes. It may lose someone’s data. Someone may trigger a unique condition inside the code that you never managed to do. These people may get angry, sad, and frustrated ².

And they will find their way to you.

You will be demanded to fix your software. You will be shouted. Sometimes, the line may be crossed, and you will be abused. “How dare you not (use your free time to) fix this ultra high priority bug that is affecting me?” or “This is an absolutely basic feature! How is it not implemented yet (by you on your free time)?!” or even “You made me move to Software Y, and you need to win me back” are going to be realities you will have to face.

You may get emotional about your code. You may feel ashamed of what you did, and do. After all, your code has bugs, there are numerous issues opened at your bug tracker, and people are complaining non-stop. (Oh and, naturally, there will be someone who will try their best to put you down with that.)

At one point, you will look at your issue backlog and feel a subtle despair when realise you won’t ever be able to fix all the bugs.

If you are open to review other people’s contributions, there is a high change you will find challengers disguised as contributors. And your code review will be treated as an intellectual battle between good and evil. And you will need to explain and clarify over and over, and deal with circular logic, and pretty much any tool people might use to win battles instead of improving their code. And that is incredibly tiresome.

You will be told that you need to develop a thick skin. To ignore that, let it go, think positive and don’t pay attention to all the shit that is being thrown at you and why are you so goddamn negative you’re a maintainer for christ sake.

You may not feel the joy of working on what you work anymore. You may want to move on. You may also not do that due to the sense of responsibility that you have to your code, your community, and the people who use your software.

Unfortunately, being a free software maintainer may have a high price to your psychological and emotional health. 

Four years ago, I certainly did not know that.


¹ – And by “maintainer”, I am talking about being an upstream code maintainer, not package maintainer.
² – Rightfully so. Nobody wants to lose their stuff, or have their workflow broken.

Advertisements

43 thoughts on “On Being a Free Software Maintainer

  1. Hi!, Thanks for your contributions.

    Sometimes we also just need to slow down and enjoy people we love. The pleasure is to come back but when there is hard work and sense of responsibility it is important to adapt planning, and change.what needs.to be.

    Sure people are rudes on bug reports. your work will remain useful. Community loves you.

    Like

  2. I feel your pain Georges! Please remember to not let the feeling of responsibility make you prioritize code over your health. I know for a fact that that is hard.

    Lots of love to you and the work you do!

    /Mattias — Former burnout

    Like

  3. I just want to mention that you are one of the persons which are responsible for the fact that i will come to GUADEC again this year. You are inspiring to me a look up to you guys altogether.

    I hope we can drink a beer together in Thessaloniki – i am looking forward too.

    Like

  4. Thank you for all that you do! I’m sorry that you have suffered through the fires of maintainership, but know that people do value you and appreciate your work. They might not be as vocal as the never ending knights of negativity, but the positive people are there too–using your software every day to make their lives a little better, a little easier, and a little more free. Keep up the good work, and, most of all, thank you so much.

    Like

  5. You’ve got that right @coulamac. The seas of people using and enjoying Calendar and other great FOSS software often don’t think to reach out in thanks mostly because it works so well you don’t even think about it.

    Like

  6. Thank you for being a Free Software maintainer. Thank you for the sacrifices you have made; and don’t ever let anyone tell you that you aren’t.

    Please don’t be afraid to take a small break. You matter, your health matters. I was always deathly afraid to step away from the distro because I thought it would all fall apart if I left even for a short while. I got very close to a critical burnout and then as if by divine intervention, I was forced out of my home for a week due to insect issue. That was such a restful week! When I came back, everything was fine, and people were happy to see me back, and it was all ok. So don’t ever feel like you can’t take a week. You can.

    Like

  7. Thank you for writing this post and giving us valuable insight into the life of a volunteer software maintainer. I can only repeat what others have already said: “I hope you are doing okay and it is absolutely fine to take some time off”.

    Like

  8. You know I’ve been worrying for some years that this day of exhaustion might come in you, it comes to us all, especially the best of us.

    It is a well-known phenomenon, and when I am asked what FLOSS project maintainership means, I summarize succintly with this statement: “Here’s a free puppy!”

    That is also why, while I am quite exhaustive in my wishlist and technical requests, I always file them with the mindset that “if they get fixed, that’s great; but I can’t expect a timeline to resolution, I’m not paying him”. I can only watch from the sidelines and wish you well an the work-floss-life balance. Please take care of yourself.

    Like

  9. It’s also amazing software written/maintained by a single volunteer works so well when a huge tera-corporation like Apple can’t get Daylight Saving Time right in its equivalent over several releases.

    Like

  10. Thanks for all of your work. You are really a star in a very real
    way, and the abuse comes free with that. Open source software is as thankless yet rewarding as parenthood. I am fortunate to be involved with a bunch of brilliant and committed open source software developers at ISC where. I work, and I get what you describe a lot. Often from large commercial companies using our products commercially without paying a penny for support.

    Like

  11. Sir, Thank-you for all of your free labour. As a (fairly) newbie LinuxMint user (switched from Win10 18mths ago) I have been very happy with my FOSS experience and have made contributions to various groups (like LinuxMint).

    I must say that I was under the impression that on a long-standing app like GNOME Calendar (which is such a beautiful, elegant and indispensable component which I depend upon EVERY DAY) that there is not much to do except run a check for each major upgrade (such as LTS v18.03 to v18.04).

    In fact I am still some-what confused why there are STILL constant Security Issues. Perhaps this is the nature of a somewhat chaotic development procedures and personnel?

    Whatever the reasons I hope that you will realise that there are likely 1,000’s if not 1,000,000’s of users busily depending on your efforts to maintain this single, solitary chunk of code upon which much depends.

    So again, Thank-you for these efforts – many of us who have no idea how, why or who has been involved or continues to labour on our behalf. It really is a miracle.

    “If I have seen further it is by standing on the shoulders of Giants.”
    [Isaac Newton in 1675 or Bernard of Chartres 1159]

    https://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants

    Like

  12. Thank you for writing this, this matches very well with my own experiences as FOSS maintainer. Definitely feeling your pain, it’s so exhausting sometimes, like death by a thousand cuts in the never-ending stream of issues. But also recognizing the upsides that you mention.
    All the best.

    Like

  13. Thank you for maintaining GNOME Calendar and every other Free Software I didn’t know about. I hope you are doing well and okay. By the way, I came here from Clem’s post on Linux Mint blog. Thanks for all your efforts, Feaneron!

    Like

  14. I like and use GNOME-Calendar every day, because it gives me a much better overview of the calendar than Evolution does. Please don’t tell the Evolution-Developers this!

    Thanks 😉
    PS: I’m using it at work with Exchange and private with WebCal.

    Like

  15. I gave up long time ago.
    Time ago, almost in the beginning of OSS era, I published a pet project I had made for me, you know “scratching your own itch”.
    I few people were interested, they were polite, they made smart suggestions and hints. I usually devoted a couple of hours a week in mail, and maybe four-eight hours in weekend to code and other more serious things.
    After some time, users increased. I was really flattered.
    But six months later I stopped, sat down and asked myself “What the hell I’m doing?” I was devoting several hours a day to mail and bugs, code. And God knows how many hours in the weekend. And what I was getting was demands with bad manners, angry comments and derision.
    What started with having a good time doing something I like: coding and in the way I was doing something useful for me “scratching my own itch”, had become a bitter time scratching other’s itch and for free.

    I stopped working on it. Now it’s abandoned. It was a stupid and simple project, nothing important but it showed me what not to do. When your hobby stops being something you can’t wait to do when you get out of your job, it is not a hobby any more, it is a duty.

    A duty for strangers is a job. Like in any other job, you must balance fees and satisfaction. In opensource world, fees are scarce and satisfaction… well, users usually don’t help.

    Like

  16. Hi, I think Gnome Calendar is awesome piece of software! It’s not ideal, though, I can see some bugs, which are already reported and I’ll be glad if they will be fixed.

    My feelings as enduser are: I want hug all of you guys! Thanks for what you are doing and I am really proud and glad, when I can meet you (devs in general).

    Best wishes!

    Like

  17. Thank you George. For your contributions and this article. I’m sure you’re not the only one who feels that way.. Like everybody said, take a break if you need one. Developing FOSS should never be a priority and users must realize that. Bugs, crashes will always be a part of it unless reasonable funding or manpower will get involved.

    Love the Gnome Calendar app. I’m a recent admirer of GNOME and will definitely become a contributor once I graduate..

    Like

  18. Hi George,

    I come from Taiwan, am only a user, but I acknowledge your hard work and contribution to the project, really appreciate to have you.

    Please enjoy your life and achievements made so far, it’s good to have a healthy thick skin to move on.

    No matter what you decide after walking through these difficulties, remember there are still people loves you.

    Thank you!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s