Open source burnout
24th April 2015I used to be an active contributor to Symphony CMS, an open souce PHP content management system. What started as an effort to learn the framework for my day job quickly became an obsession that led to exhaustion.
I became a regular on the fledgling community forum, often curating replies running to the many thousands of words. I ended up writing, releasing and maintaining more than fifty plugins and building a website to track them all. I travelled to Germany for our annual Symposium and chaired working groups to help direct the project.
But this came at a cost. Once I had built up a reputation within a community that was founded on being generous with my time, I felt a huge pressure to maintain the commitment. Evenings would be dedicated to scanning the community forum to follow up on the dozens of active threads I'd be involved in, and weekends I'd have to spend many hours trying to stay on top of issues and pull requests across dozens of repositories.
After a couple of years I was spent. I moved jobs to one where I knew I wouldn't be using PHP, let alone Symphony, and treated it as a clean break.
Overnight the pressure was lifted:
I removed bookmarks to the discussion forum and checked myself if I caught myself typing in the URL, I transferred all of my repositories to a community Github organisation set up to maintain "unloved" plugins, and decided to avoid using Symphony for any future personal projects.
Not because it's not a great content management system (it is), but because I was conscious of buying into a framework monoculture. I had spent so long investing my time into a single platform that I hadn't the energy to dive into Rails or Node, or even any of the other PHP content management systems. We were reinventing solutions to problems that I was certain had been resolved in other frameworks or libraries, and I could find myself always defaulting to "the Symphony way" simply because I didn't know any different; and that is dangerous.
I learned an incredible amount by being involved in the project: object-oriented PHP and JavaScript, optimising MySQL, XSLT, ElasticSearch, content modelling and data normalisation, git workflows, community management and unquantifiable other skills that I would otherwise never have been exposed to.
But I've emerged with an accute self awareness of when I'm in too deep. Of being able to realise when I'm spending too much time outside of the real world. Of being able to delegate. Of being able to say no. And understanding that while you're responsible for code you publish to a community, the community will help shoulder the burden.
I might get involved with Symphony again one day. But for now I'm enjoying retirement.