Tidelift ✨


Posted on

Open source package lifecycle 🧐

Our product development team is working through some discovery right now. A question that came up was, “what’s the lifecycle of a package from a package’s perspective? It gets created, it gets maintained, it gets forked, it gets renamed, it gets put down...what do all those transitions look like? Who’s involved?”

We’re wondering about that especially someone who has, at the very least, had one project be relatively successful, and another one that they either transferred ownership of or abandoned, especially if they abandoned it due to not caring about it anymore.

Is there someone in here who’s had or seen that experience up close? Or any writing you all have seen that really makes the process + pain clear? We’d love to learn more.

Top comments (2)

aclark4life profile image
Jeffrey A Clark • Edited

I could say a lot about this but wanted to get a few thoughts published before I forget to comment!

  • Pillow is by far my most successful and popular package.
  • There are 93 other packages on PyPi most of which no one has ever heard of.
  • Of those, many are relics of my Plone days and either are now unused or have other maintainers.
  • Of those, many are relics of my Django days and either are now unused or have other maintainers.
  • PyPI does a good job of helping to increase the bus factor by identifying projects in which I'm the sole maintainer.
  • I fantasize that one day I'll have time to address all my sole maintainer issues.
  • If a tree is the sole maintainer of a package in the woods that no one uses, does anyone care?
  • GitHub does a good job of identifying legacy projects with its "Archive" feature.

Lastly, I think lifecycle is an interesting topic and I've given examples of how both PyPI and GitHub address at least part of how developers can sunset projects without just erasing their existence.

Related topics of interest:

  • How many projects exist to perform identical tasks in any given framework? E.g. Django Packages does a good job of keep tracking of how many blog projects exist for Django djangopackages.org/grids/g/blogs/
tiegz profile image
Tieg Zaharia

That Django package comparison chart is neat! I hadn't seen that before. I think the closest thing I've seen to that is the Ruby Toolbox.