Navigating the open-source package Odyssey

Releasing an open-source package might seem easy, but maintaining it is another story. I have published around four to five libraries so far. Although simple, they effectively served their purpose.

Life changes, like switching jobs or discontinuing projects, can disrupt your connection with the original project. This disruption makes updating and maintaining the packages derived from that project challenging. It’s particularly difficult if your new role or project doesn’t involve using those libraries.

Navigating through the open-source package odyssey
Generated with dall·e 3

With smaller packages that don’t generate income, we often limit updates to our free time. This becomes even more challenging when working intensively, as the available time for such updates dwindles.

I must admit, I only recently updated a package I developed years ago and hadn’t used it in the last one or two years. Each new issue report or notification related to these packages increases my unease. This feeling intensifies when I’m deeply involved in another project, especially when developing a new package for a necessary component. At this point, every commit starts to feel frustrating.

(Check out v3.0.0 RN-Secure-Storage: https://github.com/talut/rn-secure-storage)

Despite these challenges, the reliance of many people on your package for their work creates a sense of responsibility for you as a developer.

What about the future?

Fortunately, I’ve decided to start a hobby project that incorporates all my unarchived packages. This approach lets me continuously update these shared packages while developing my hobby project, offering a practical solution to an ongoing challenge.
Of course, there’s the common scenario where hobby projects, a standard pursuit for every software developer, often get set aside. However, one must start somewhere.

Perhaps by acknowledging this, I am, in a way, giving myself a reason to see my hobby project through to completion.
It’s easy to begin a project with enthusiasm, but as the initial excitement wanes and other commitments take precedence, these personal ventures tend to drift into the background. Yet, these projects hold more than just code; they are a testament to our learning journey, creativity, and passion for the craft.