Dependency cooldowns turn you into a free-rider

18 points by carlana


yossarian

I wrote the original (?) cooldown post that’s linked in this response.

I think this post is directionally accurate (cooldowns are a form of free-riding, which is the goal for mostly unpaid open source maintainers), but misses a key part of the original argument: you’re not free-riding on other maintainers, but instead on a number of “supply chain security” companies that are financially incentivized to find malware as quickly as possible.

The recent wave of open source malware demonstrates this (as originally speculated in my post): Trivy, LiteLLM, etc. were detected by scanning parties, not by users being victimized; victimization also happened, but wasn’t actually necessary for timely discovery at all. That’s the core premise behind cooldowns.

I agree with the points about configurability and variance, however. It’s not clear to me that different tools within an ecosystem (much less different ecosystems) will ever align on cooldowns besides the high-level idea. I’m also not sure it’s a good use of anyone’s time to fight that battle; I’ve mostly thought of cooldowns are a layer atop lockfiles, so the “goal” is to lock the cooled-down dependencies once and practice discipline when updating them. Easier said than done!

Edit: I should also say, I essentially agree with the idea that an upload queue is more correct than a client side cooldown. But it’s also a harder political problem: it requires indices to become more active participants in overriding the queue for vulnerability releases, for example. This is, in my experience, a hard sell for the maintainers of these indices (insofar as it’s more work).