Open Source Stamina
October 22, 2015
You contribute best to something you use regularly.
This is likely the reason that TJ Holowaychuk gave his Node.js projects to other maintainers (read Farewell Node.js). This is also probably why Vojta Jína handed Karma off to Mark Trostler and Friedel Ziegelmayer.
Something must motivate us to action for everything we do. When we're working on open source, we're motivated by many things. Personally I'm motivated by the fact that the work I put in saves hundreds of developers a ton of time and effort. I find it exciting that people use my work and enjoy interacting with the design of my APIs. I'm also motivated because I personally use these libraries on a regular basis and enjoy that I don't have to reinvent the wheel over and over.
It's really hard to be motivated to contribute to something that you're not using on a regular basis.
The exception to this is when you're paid to do it. I work for Alianza, but I get my phone service from Verizon. I never use the product personally, but I work on the project because I have a wife and three kids to support and I care about the mission.
If you don't use a tool or a library often enough, you begin to lose touch with the common use-cases.
You don't know how, why, or in what way it is being used
Because of this, you could spend a great deal of time on features that people don't care about, or struggle determining the right approach to solve a problem. This is highly demoralizing and takes the fun out of open source. You lose your steam really quickly.
I contribute and maintain angular-formly because I use it regularly at work (a lot). If one day I stopped working with forms and/or Angular, it's likely that I would be searching around for someone else to take over the project for me. Hopefully this does not shock anyone.
People who hand off projects to others aren't doing it because they don't care about it anymore or anything. For example TJ Holowaychuk still guides people on some of his old Node.js projects. It's just difficult to be actively involved because of the reasons I've mentioned above.
Don't freak out, I'm still maintaining angular-formly and my other libraries, but I've been thinking about this concept recently so I thought I'd put my thoughts into words.
I urge everyone to remember that these open source projects are fueled by human beings who are sacrificing their free time to work on something for free. Be there to help improve their stamina, not deplete it. And when their motivating factors have been removed, don't hate them for handing off their projects to someone else, love them for the work they've done already. Most of the time, it cost them more than you know.