Opinion: Careless big-time users are treating FOSS repos like content delivery networks

all 11 comments

sorted by: hot top controversial new old
[–] 77 points 8 months ago

Fox, who also oversees Apache Maven, a popular Java build tool, explained that its repository site is at risk of being overwhelmed by constant Git pulls. The team has dug into this and found that 82 percent of the demand comes from less than 1 percent of IPs. Digging deeper, they discovered that many companies are using open source repositories as if they were content delivery networks (CDNs). So, for example, a single company might download the same code hundreds of thousands of times in a day, and the next day, and the next. This is unsustainable.

GitHub added rate limits for unauthenticated users last year

https://github.blog/changelog/2025-05-08-updated-rate-limits-for-unauthenticated-requests/

  • source
  • [–] 51 points 8 months ago

    Making big companies pony up is always good.

  • source
  • [–] 25 points 8 months ago (5 children)

    a single company might download the same code hundreds of thousands of times in a day, and the next day, and the next

    Why would anyone ever need to do this?

  • source
  • hideshow 5 child comments
  • [–] 12 points 8 months ago*

    Laziness? Why designate storage for a downloaded repository when you can just use the blazing fast company network to make someone else's storage your storage? Systemically it's fucked up, but individually it kinda makes sense.

  • source
  • parent
  • [–] 8 points 8 months ago (1 child)

    Why does this article repeat itself? It reads super weird.

  • source
  • hideshow 1 child comment
  • [–] 2 points 8 months ago

    ohhhh i misinterpreted the title as meaning hogs like right wing cranks. LOL

  • source
  • 17 comments in c/opensource@programming.dev view that post
    [–] 34 points 8 months ago (2 children)

    Do it, please. My company doesn't care and has pipelines running that pull from npm and pypi for every push, merge, etc. - and devs use AI that has been ordered to commit and push as frequently as possible. With around 100 devs, just imagine the traffic.

    They were forced to pay for dockerhub because of the pipelines failing. But they must be forced to pay for packages repos too. I sneakily changed our pipeline to pull from the in-house docker registry, and for pipelines to require pulling from package repos only when locks changed. Our CI is faster than every other team, but nobody noticed.

    So yeah, charge the companies! Please!

  • source
  • hideshow 2 child comments
  • [–] 9 points 8 months ago (1 child)

    I sneakily changed our pipeline to pull from the in-house docker registry, and for pipelines to require pulling from package repos only when locks changed. Our CI is faster than every other team, but nobody noticed.

    So yeah, charge the companies! Please!

    How come this is not an obvious improvement opportunity that materializes in other teams too, and visibly so, rather than "sneakily" hidden?

    Isn't it better not only for performance but also for reliability?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 8 points 8 months ago

    It's very top down here. If the group of designated leaders (meaning CTO and his close friends) don't approve of changes to the Way of Working and base repository template, it shall not be applied.

    I've pointed out problems before and wanted to improve things but was told to "stay in my lane" basically. That killed all motivation to go through the proper channels. If you aren't in the in-group, well, that's it, you have no say.

    Unfortunately, they pay well.

  • source
  • parent
  • [–] 29 points 8 months ago* (3 children)

    Charging is a good idea.

    In any case it would not be crazy to rate-limit. If you’re downloading the same 10,000 components a million times, you deserve to be limited.

  • source
  • hideshow 3 child comments
  • [–] 15 points 8 months ago (1 child)

    The article discusses that IP-based limiting doesn't work as well as it used to. Because of NATs, proxies, etc., IP addresses are a lot more ephemeral and flexible, so they've seen the same big perpetrators adapt and change IPs when rate-limited. I expect we will start to see support for anonymous downloads go away in the next several months in many major OSS registries.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 7 points 8 months ago

    Thank you!

    I actually wondered if the article mentioned that and I just missed it. I went back to check and apparently missed it twice.

    I’m genuinely surprised they’ve been able to handle the traffic for this long. The numbers are staggering!

  • source
  • parent
  • [–] 21 points 8 months ago (2 children)

    I've seen this almost happen due to ignorance. A product making company that is oblivious to the issue until it's pointed out, and then immediately understands why it's an issue and does the right thing. In that case it was mirroring Linux repos instead of constantly pulling from the distribution when it was for their own internal purposes.

    If you're working inside an organisation just mentioning this issue might be enough.

  • source
  • hideshow 2 child comments
  • [–] 11 points 8 months ago* (last edited 8 months ago)

    Yes I imagine that’s almost always the case.

    It would be fun from a chaos perspective to just suddenly limit those who are making too many calls.

    Maybe it wouldn’t be that chaotic and builds would fail, but I still like the idea.

  • source
  • parent
  • [–] 7 points 8 months ago

    This part from the article supports this sentiment:

    In a pleasant surprise, reactions have been positive. Throttled organizations were "surprised and apologetic," mistaking issues for malice rather than "ignorance, unawareness."

  • source
  • parent
  • [–] 17 points 8 months ago

    In one case, a department store's team of 60 developers generated more traffic than global cable modem users worldwide due to misconfigured React Native builds bypassing their Nexus repository manager. He detailed extreme examples, such as large organizations downloading the same 10,000 components a million times each month. "That's ridiculous," Fox said. Throttling efforts led to "brownouts" via 429 errors, but patterns mutated, forcing a "Whack-a-Mole" game, especially since most consumption is headless and unnoticed. Registries are also burdened by commercial use, with companies publishing closed source components or massive SDKs as free CDNs. Fox noted that top publishers release gigabyte-scale artifacts daily, unlike in typical open source projects.

  • source
  • [–] 0 points 8 months ago* (last edited 8 months ago) (5 children)

    This plays in to my idea that every HTTP request could have a microtransaction (like 0.001 c) attached and those who couldn't pay would have ads on the browser level and not on the page level. Altermatively you'd get a fixed monthly budget as part of your ISP plan.

    What I am essentially advocating for is that part of what you currently pay for your mobile data plan should go directly to the sites you visit.

  • source
  • hideshow 5 child comments
  • [–] 5 points 8 months ago (2 children)

    I guess a question is who would set the prices. If sites could set them themselves, then some would set it at zero to have an advantage, and resort to the same surveillance-based funding model they rely on currently.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 8 months ago* (last edited 8 months ago) (1 child)

    One option would be to enforce a price floor that would be set to whatever the server operator could prove is the cost of serving a single request. (per byte, also fixed costs when there's no traffic mess this up). This would absolve website owners of the need to find any other funraising methods if they want to break even, and thus remove the incentive for installing spying ads. It would still keep in tact the incentive to make servers as cost effective as possible.

    I'm not sure if such a means-tested price floor mechanism has ever been used in the past, so idk how well this would work.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 8 months ago

    Looks like a self-enforcing tax rate (comparable to price floor) has at least been proposed:

    [...] have proposed having owners self-assess the value of their property under penalty of having to sell at this self-assessed value.111 This has the simultaneous effect of forcing truthful valuations for taxation and of forcing turnover of underutilized or monopolized assets to broader publics.

    From https://plurality.net/read/5-7/

  • source
  • parent
  • [–] 5 points 8 months ago (1 child)

    I agree in principle, but do you have any idea how many useless http requests the modern web makes? Open the network inspector and load any modern page.

    Between fonts, analytics, and web frameworks, that will add up very quickly :(

  • source
  • parent
  • hideshow 1 child comment
  • 3 comments in c/tech@programming.dev view that post
    [–] 3 points 8 months ago (2 children)

    Throttling efforts led to "brownouts" via 429 errors

    Does this mean for the (ab)users, or for the repo? If it's for the bandwidth hogs, then the brownouts are properly a good thing, as it'll force people to pay attention to these otherwise unmonitored systems.

    Also, if it makes the upstream service seem flaky and unreliable, it could convince users to set up the proper caching proxy just for self-interested availability reasons.

    I can see some companies happily paying for access, as they'll think it's easier than paying someone internally to manage a proxy/mirror, especially as on-prem is unfashionable lately.

  • source
  • hideshow 2 child comments
  • [–] [S] 2 points 8 months ago* (last edited 8 months ago) (1 child)

    for context, the full sentence is "Throttling efforts led to “brownouts” via 429 errors, but patterns mutated, forcing a "Whack-a-Mole" game, especially since most consumption is headless and unnoticed." so they tried to use brownouts to control it but it couldn' t stop them

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 8 months ago

    Yeah ok, I guess that's what's meant.

    I'd be interested to know how the patterns changed - perhaps requests moved to IPv6 which made grouping request origins harder, or maybe too many unconnected users were coming from a single IP and getting false positives (leading to bad UX and support requests).

  • source
  • parent