Software Infrastructure Strain | Software Supply Chain Report
Registries, Models, and the New Software Infrastructure Burden
Open Source Scale Has Become a Structural Risk
Open source has entered an era where scale itself has become a structural risk. Package registries that once measured growth in millions of downloads now routinely serve trillions of requests. But this growth does not map cleanly to innovation. 2025 saw 9.8 trillion downloads across Maven Central, PyPI, npm and NuGet, but the majority of registry traffic today is not driven by new applications or meaningful reuse. It’s driven by transitive dependency sprawl, unused or abandoned packages, and unsustainable tooling patterns.
FIGURE 1.1: Yearly Downloads Over Time (Maven Central, PyPI, npm, and NuGet)
Source: Sonatype
Modern CI/CD systems and ML pipelines are optimized for speed and convenience, not efficiency. Once configured, they pull relentlessly, often blind to redundancy, cost, or downstream impact. The result is a structural burden on software infrastructure that registries were never designed to carry alone. Public software ecosystems are drifting toward a tragedy of the commons: a fraction of organizations and automated systems consume a disproportionate share of bandwidth and compute while registry operators and volunteer maintainers absorb the strain.
As software supply chains expand to include not just code, but models, datasets, and increasingly large artifacts, the question is no longer whether open software ecosystems can scale — but who pays for that scale, and how long the current system can hold.
Figure 1.2: 2025 Registry Growth
| Ecosystem | '25 Total Components Added | Cumulative Total Components | '25 Total Releases Added | Cumulative Total Releases | 2025 Downloads | YoY Download Growth Rate |
|---|---|---|---|---|---|---|
| Maven Central (Java) | 260.5k | 808.6k | 3.3M | 24.95M | 839.05B | 19.42% |
| PyPI (Python) | 214.8k | 821.3k | 1.54M | 8.85M | 804.97B | 50.64% |
| npm (JavaScript) | 749.7k | 5.59M | 11.18M | 65.56M | 7.97T | 65.43% |
| NuGet (.NET) | 144.8k | 760.1k | 2.4M | 14.02M | 223.37B | 17% |
Registry Consumption
Maven Central
Maven Central underpins enterprise Java development, and its scale means small shifts propagate widely. In 2025, downloads grew 19.42% year over year, reinforcing Maven Central’s role as a default dependency source across commercial and open source software. Maven’s growth slowed slightly in 2025 due to sustainability measures put in place designed to limit the usage at the highest end. At this volume, incremental growth still produces large absolute increases in consumption: new releases, regressions, and vulnerabilities can affect thousands of organizations quickly.
In 2025, more than 3.3 million releases were added, creating sustained upgrade and governance pressure for consuming teams. The operational challenge is less “what exists” and more how to evaluate and manage constant version change across dependencies already embedded in production portfolios.
Security data reinforces the need to prioritize vulnerabilities in dependencies and to steer toward the safest, fastest upgrades, not toward unused or test-only components. In 2025, 40% of vulnerable Maven Central releases carried CVSS 9.0+ scores, showing that severe issues are not rare. Teams can’t control when vulnerabilities are introduced. But, at Maven Central’s scale, success hinges on prioritization and speed, not additional alerts or manual reviews.
PyPI
PyPI’s growth underscores where developer adoption and dependency sprawl are accelerating most quickly. With 50.64% year-over-year download growth, PyPI reflects the surge of modern workloads tied to AI and cloud development. That velocity brings scale benefits, but it also shows early signs of stress.
In 2025 alone, new component additions accounted for 26% of the total registry catalog, a striking indicator of how quickly the universe of available dependencies is expanding. Each new package increases choice and innovation, but it also multiplies evaluation and enforcement challenges. More components mean more potential entry points for risk and greater transitive exposure as teams pull in deep dependency trees they may not fully understand or monitor.