pull down to refresh

It started out that way but over time it grew into something more.
Eventually I had thousands of users depending on it and multiple developers contributing to it. Just managing the pull requests was a pretty laboring chore.
It feels wonderful to see people using your project and getting value out of it. That part is very rewarding.
Unfortunately, after 5 years I was still mostly doing it for free. I never set out to make money from it but I had to face the fact it was costing lots of my time and I wasn't getting much in return. I tried a few different ways to fund it and if I could've, I would've kept going. It was very asymmetric in the wrong direction. People expected a lot and gave very little.
Eventually I found someone else to take over the project. So it still lives on to this day, but I've freed my time up to do other things and that feels amazing.
To be fair, not all open source projects are created equal. It's certainly possible to do it other ways. I've seen very successful open source projects where the developers make a good living from donations or some related business. I would consider doing it again, but I would do things differently the second time around.
I also worked on an open source project that grew enough that people started to demand lot of features, the author there took an amazing decision, he asked everyone to split up the work to be able to sustain the development.
  • When someone asked for a feature he asked who he knew to be knowledgeable to discuss it, then he waited till get enough people consensus.
  • Then he asked some developers to work on it if he couldn't, they all where external, so it has flaky participation but had always enough people taking over.
  • Once everything was done he left the pull request review to another party again, often including the ones asking and discussing the feature.
  • When everything was done, the merge was done by him after everything was covered by the unit tests he required to have from the other developers.
He basically decentralised the development, so he could keep going on holidays with his family and relax when he wasn't working on features he wanted himself.
This is but one way to do things, this goes as a mix-and-match for each of us, but I think we should look more at how every growing project take on the management to learn a bit more ourselves.
reply