Package Management

Package Management

·

2 min read

Introduction

Let's begin with the definition of Package Managers. A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner according to Wikipedia.

There are a lot of package managers out there, but the most popular one is npm (Node Package Manager) which got its name from when it was created as a package manager for Node.js.

I am currently interning with Outreachy under Public Lab. In one of our weekly check-ins at Public Lab, our mentor told us about an issue they (other team members and himself) encountered with an NPM package.

Crux

My mentor went on to tell us about the NPM package situation; the team was in need of an editor for one of its projects. After some findings, they decided on a stable(at the time) library. The library worked fine for a couple of years or so. After which, came the bugs, to cut the story short the library was unmaintained for some reason and the team had to fix those bugs and at some point maintain the library as it would've been more tedious to switch to another.

Conclusion

I've had the privilege of working with multiple packages and have not come across such an issue. I believe it's a good factor to take into consideration when building your various applications dependent on packages. Here are some points my team and I came up with ways to identify such situations:

  • The number of contributors.

  • Note how fast they respond to issues raised

  • Release frequency - also how recent

  • End users and number of projects utilizing the library (especially big organizations/projects).

If you have more points or any thoughts, kindly drop them in the comment section. Thank you!