Readplace

How The Fuck Did We Get Here?

fagnerbrack.com 2 min read
View original
  • current

This article is too short to summarise.

This was supposed to be a text post on /r/programming, but I can’t create a text post there, only links, so I’m creating the text here to share the link.

Part of a popular xkcd everyone already knows

Ok, let’s talk about some big deal now. I’m writing this at 6AM AEDT without sleep; sorry for the grammar or if this is too short.

More than a decade ago, I authored what today has become one of the top heavily relied upon Open Source libraries in the world which is co-maintained with , the original maintainer of jquery-cookie. To put into perspective, on the day I’m writing this, js-cookie is more than 14 years old; it has more than 6.1 million downloads per week on NPM (jQuery has 5.9M/week). It has more than 22 BILLION downloads every year in jsDelivr and growing. It’s included by more than 2.2 million websites on the internet. Its Github repository receives more than 22 thousand UNIQUE visits per month, and more than 7 thousand other packages on NPM, including half a million repositories on Github, depend on it.

That’s not the big deal I’m talking about.

The big deal I’m talking about is that the library weighs 800 bytes, uses only JavaScript and hasn’t had any fundamental API change in the last 7 years.

Today, I updated one NPM package of an app I created last year. The number of broken packages that don’t adapt to newer versions of other packages or that don’t work anymore by doing nothing is absolutely unbelievable. It will take the whole day to update them all because updating one creates a cascading effect with similar issues forcing me to update everything else.

How did we unlearn how to build stable software/dependencies that can actually integrate with each other and remain maintainable over time?

How the hell did we get here?