Why I don’t use emacs package.el

There was a discussion over at Reddit (link below) where someone was sharing that they couldn’t get things working due to dependency hell so they just used VS Code instead.

In response i wrote the following:

[–]lovela47 1 point 7 minutes ago

I ran into this exact problem. I got constantly broken by package developers changing APIs and dependencies willy-nilly and things not working. People in “the ecosystem” seem to think users (even technical) have hours to spend filing bug reports on API breakage etc. Sorry, no thanks. Hours of back-and-forth and often the result will be something like “it’s not my fault it’s package X’s fault, just upgrade”.

Even though I dislike it and am complaining, I believe it’s actually fine. People are providing really cool stuff for free after all (eg magit). But it still became not worth it for me personally to deal with the whole package.el lifestyle. And I suspect there are many other stories like yours where people just got tired of chasing breakage and moved on.

FWIW my solution has been to vendor all Elisp packages (and their dependencies) I depend on in git repos that I control. Upgrades are rarely performed unless something really good happens that’s worth upgrading for. In many cases the library updates are not really worth it anyway e.g. “lib X needs to use f.el now” ok fine? but as a user that buys me nothing tbh

As a result of vendoring libs i’ve had literally years of stability. For example, I’m running magit v2.8.0-something and it already does everything I need, so why upgrade?

Package ecosystem folk are unlikely to want to hear this but, the juice from getting onto package.el and friends kinda isn’t worth the squeeze IMO. I’m sure everyone has good intentions, but in the limit all it takes is one git push that breaks you, and you’re sitting there with a broken system when you need to get your job done.

Fundamentally the “upgrade libraries over the network at text editor startup and pray someone somewhere did the MxN integration testing for free” approach is not something I can rely on for real work

Reddit discussion: https://old.reddit.com/r/emacs/comments/yxragm/for_whose_use_emacs_and_vs_code_when_and_why_you/

Published by


I'm the author of 'Jelec: the White Bear, or, Beware an Encounter with a Raven and his Friends.' For my day job, I work as a technical writer at a software company.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s