A story about a small open source project
Recently I got something from open source that felt like the first big “payout”.
I don’t really mean cash from open source
I built a small open source project and I am maintaining it now for some years. This project is a plugin for a cross-platform mobile development framework called Apache Cordova. The plugin has very few features itself, just two functions. It offers a way for Cordova app developers to implement a fingerprint prompt. The plugin now supports FaceId and other biometric methods, too. The original version of this plugin was done by myself in Swift for iOS. The Android part was a modified version of the Java source from another fingerprint plugin for Cordova. I just started this plugin to have one plugin for both platforms and one API, so I called it cordova-plugin-fingerprint-aio (all in one).
After some time it became a commonly used plugin for fingerprint in the Cordova world (as far as I know). I never really liked the Android implementation and the underlying Android API became deprecated. An issue to replace it was opened over a year ago.
I never really got the time and motivation to work on this myself.
The benefits of open source: People want to help
Almost a year after the issue to replace the API got opened, a kind person stepped up to work on this. This was exactly what I was hoping for since I don’t know enough about Android to do this in the time frame I would like to invest.
A discussion about how to do this significant change started and details were discussed. Not much time passed and the pull request with the proposed changes was opened. An even longer discussion about many many details on the implementation and code started and another person stepped in. This person did a lot of work to provide the finishing touches on the code. Discussing the change and reviewing code really helped the project to achieve a better quality.
It took me some time to get to reviewing and testing this. This meant a complete rewrite of the Android code and some changes to the public API of the plugin. It was hard for me to find the confidence to merge this, since big changes are always scary, right?
I did some tests and other people reported successful tests. This change got merged and released as a new major version of the plugin.
I like working on code on my own, but having others look at your work and suggest changes improves your work a lot. I think that’s why open source is so great at producing high quality software. But smaller projects don’t have that many people involved and probably less activity to benefit from this.
Success in open source
I love open source, because you can celebrate many small successes. An issue you reported gets fixed, you improve documentation, a pull request you did a while ago gets merged and many more. Now getting people together to work on an important issue in a project I started was a big success for me. This project got so many contributions over the years and lots of the original code programmed by me is now gone. I like to think the project has become a grown-up open source project at the moment this big pull request for the Android part came in.
I like to watch open source projects I’m interested in over time. Some older projects stall, but seeing projects and their communities grow is the nicest thing to see.
I can add a small bit about money for this project. I set up Github sponsors with my personal Paypal link to this project a while ago. Just recently I got a donation of 10€ from a person I don’t know. I was very happy about that and used that money to buy a domain for my newest open source project.