Passive Open Source
I used to be an active contributor to open source projects, but that was when I was still in college - I had a lot of free time and it was some good learning experience. I even managed to get involved with several open source projects when I start my first job in a big company.
Things has changed since I started to run a team in startups. Sure we’ve used lots of open source libraries, but we’ve barely had any time to make active contributions. Our team’s interaction with open source becomes more passive (and progmatic).
If there is a bug in a library that we use and we need the fix right away, we will fork the library, fix the bug, send a pull request and just leave it as is. Sometimes if the change is small, we do not even send pull requests: just open an issue, put in the some details on our fix and wait for the maintainer or core contributor to fix it — it’s much easier for them to reimplement a small fix rather than we do it through a PR. After the bug is fixed, we will switched to the official version from our fork.
I’ve talked to lots of my friends who also run teams at startups, they all have similar approaches when dealing with open source. The cost of collaboration is always a concern — even though nowadays the cost has been greatly reduced through inventions of tools, the cost of people and communication remains quite high. I’ve observed this pattern on our team: our fresh graduate engineer would feel quite excited at contributing back to open source, but as he/she gets more involved with work, he/she becomes one of us — passive open source contributors.
Startups have to save every penny to survive. Sometimes I feel a bit detached from the open source community, but maybe it’s for the best.