Why I will not opensource my apps
I have been pondering over advantages and disadvantages of making my iOS Apps open source lately. And I started seriously thinking about it after the following video by Ben.
If you are new here, I am an iOS developer and love developing apps for the platform. About this time last year I started on a project which would use r/SpaceX API to show SpaceX launches. This would by first ever non-course application. And I wanted to make it right by giving it all I knew.
My plan was to publish this app on the App Store. I followed all the Agile Methodology and developed CI/CD Pipelines mainly because I came across those in a college subject and felt it was a pretty smart way of developing something.
My issue arose when I wanted to make my work public. Till my work was private, I had my CI/CD pipelines running on my local machine with no major security issues. But when I wanted my work to be public, I would need to better manage all CI/CD and make policies for when each pipeline should run. Not to mention managing API keys once I shifted to other APIs.
I initially thought it would have been worth it. Oh I was wrong. So wrong. It took me weeks to perfect the pipelines. After that too, it would require many hours per week to maintain it so the pipelines wouldn't break.
Additionally the contributions required back and forth with the developer and multiple reviews before it was ready to be merged. At this point I realised that I was spending way too much time managing contributors instead of doing what I loved i.e. developing iOS apps.
Don't get me wrong here, I love open source, I try to contribute to open source as much as possible. I will surely be posting my quick hacks and parts of my iOS apps as frameworks. But I am kinda sure I will not completely open source my apps. Until I get very good reason to do so.
I went into this rabbit whole because I was not sure if I should open source new apps I am currently working on. I think I am very happy for my decision of not completely open sourcing my apps.