Going From Open-Source To Private
3 min read
We (the team I work for) recently made the tough decision to go from being an open-source app, to a private app. The decision was a lot less to do with wanting to make our code private, and more to do with needing to reduce the overhead that comes with making a code base public and accepting contributions.
Being a fairly small team of engineers, we unfortunately donāt have a lot of bandwidth to spend the time properly organising things like our public issues backlog and doing PR reviews. As a significant portion of our front end code base does not have automated tests to cover it, we also have to do a lot of the manual testing ourselves which takes time. This also doesnāt seem fair to contributors who would, Iām sure, want to see their PRs merged in quickly where possible, rather than being left to go stale, considering the effort they went through to fix issues.
To summarise our decision making, some of our key blockers were:
- Not using GitHub to log our issues backlog, nor having a public issues board. We therefore didnāt have a prioritised list of issues to communicate to the public on.
- We were not getting enough public contributions to justify having robust organisation around accepting public PRs, queries, etc.
- Our backend APIs are presently not documented well enough for third parties to consume.
- Small number of team members means limited bandwidth to review and check PRs, especially whenā¦
- Automated test coverage is not high across our code base.
- We use custom fonts in our app. We would have needed to substitute this out for a publicly accessible font.
- To allow the public to easily interface with our backend, the best thing wouldāve been to devise a mock server which wouldāve required additional dev resource to get going.
- Our app is ejected from Expo, which means itās a little convoluted to get set up locally.
- Our app is currently going through quite a lot of significant architectural changes, with lots of moving parts. Without constantly updating the publicly available documentation, it might have been frustrating to contributors who might not have understood what / why / when the changes were happening.
Iām personally a little gutted that weāre no longer going to be an open-source app. The main thing weāre sad about is not being able to share publicly, our React Native knowledge and how weāve structured our app (which we created solely to serve the public). This is actually the first and only open-source app Iāve worked on up to now. To make up for this, I reckon itās time for me to try to find another repo that Iām super passionate about, and that I feel comfortable contributing to (assuming of course, that itās welcomed! š).
If anyone knows of any React-based open-source projects thatās open-source newbie friendly, do let me know!