Avatar

šŸ‘‹šŸ», I'm Julia.

Going From Open-Source To Private

#react-native #reflections

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!

Ā© 2016-2024 Julia Tan Ā· Powered by Next JS.