Google's internal study of open source package maintenance offers a quiet corrective to a long-held assumption in software development: that open source is, in any meaningful sense, free. Tracking 54 package updates across eight months, the company found that while most updates are modest in effort, customization and dependency complexity can transform routine maintenance into months of engineering labor. The finding places a mirror before any organization that has adopted open source without accounting for the compounding costs of modification and integration. What begins as a cost-saving cho
Google Study: Local Patches Triple Open Source Update Costs
Customization creates a recurring tax on every future update
So Google looked at 54 package updates and found that customized packages take three times longer to maintain. That's a pretty clear finding. Why does that matter to someone outside Google?
Because most organizations that adopt open source do customize it. They modify it to fit their internal systems, their security requirements, their specific use cases. Google's study is showing that this practice—which feels pragmatic in the moment—creates a compounding maintenance burden. Every time you update that package, you're not just pulling in the new version. You're reconciling your changes with the upstream changes, testing everything downstream, fixing what breaks.
But here's the thing—Google's sample is tiny. Fifty-four updates out of thousands. And fifty-two of those packages were in Go. We don't know if this pattern holds in Python or JavaScript ecosystems, which is where a lot of organizations actually live.
That's fair. But the mechanism they're describing—that customization creates friction on every update—that's not language-specific. That's just how software works.
What about the 400-hour update? That's an outlier, right?
It is, but it's also real. It happened. And it happened because the update broke downstream systems, and someone had to spend weeks fixing all of that. That's the risk you take when you customize.
The study doesn't tell us whether that 400-hour update was caused by the customization or by the complexity of the package itself or by poor testing infrastructure. We know it happened at Google, but we don't know why it happened or how preventable it was.
So what should an organization actually do with this information?
Budget for maintenance. Don't treat open source as free. If you're going to customize it, understand that you're signing up for ongoing work. And think carefully about whether the customization is worth the cost.
And recognize that Google's infrastructure is not your infrastructure. Their tools, their processes, their centralized package management—that all shapes their numbers. Your numbers might be different.
Different how?
Could be better, could be worse. Depends on your setup. But you can't just take Google's 2.2-hour median and assume that's what you'll see.
Il Polso
- A single package update at Google consumed an estimated 400 hours of engineering time — a figure that shatters the assumption that open source maintenance is a minor operational concern.
- The moment a company modifies an open source package to suit its own needs, it inherits a recurring tax: every future upstream update must be reconciled against those internal changes, tripling median effort.
- Updates rarely fail in isolation — they cascade through dependency graphs and internal applications, and it is the downstream breakage, not the update itself, that devours engineering hours.
- The study's limits are real: 52 of 54 packages were written in Go, the sample was less than 1% of Google's total updates, and Google's centralized tooling is unavailable to most organizations.
- The industry is being asked to reframe open source adoption not as a one-time integration decision, but as a long-term maintenance commitment that must be budgeted for explicitly.
Google's internal study of open source package maintenance offers a quiet corrective to a long-held assumption in software development: that open source is, in any meaningful sense, free. Tracking 54 package updates across eight months, the company found that while most updates are modest in effort, customization and dependency complexity can transform routine maintenance into months of engineering labor. The finding places a mirror before any organization that has adopted open source without accounting for the compounding costs of modification and integration. What begins as a cost-saving choice can quietly become one of the most expensive decisions a software team makes.
Google set out to answer a deceptively simple question: how much engineering work does it actually take to update an open source package? The answer, drawn from tracking 54 internal package updates between April and December 2024, suggests that organizations treating open source as a cost-free alternative to proprietary software are badly miscalculating.
The median update required 2.2 hours of effort — manageable, even routine. But the average ballooned to 13.9 hours, and one update alone consumed an estimated 400 hours. That gap between median and average is where the real story lives: most updates are quick, but the rare, catastrophic ones can demand weeks or months of work.
The primary driver of that complexity is local customization. When a company modifies its internal copy of an open source package, every subsequent upstream update becomes a negotiation between the new version and the changes already made. Among the 47 packages where patches could be reliably detected, those carrying company-specific modifications required three times the median effort of unmodified packages. Customization doesn't add a little friction — it creates a compounding tax on every future update.
Beyond the package itself, updates ripple outward. Downstream dependencies and internal applications that rely on the package can break when it changes, and repairing that fallout is where the majority of hours go on longer updates. Sophia Vargas of Google Open Source noted the pattern directly: the longest updates are long not because the package is complex, but because the damage it causes elsewhere is.
The study carries genuine limits — its sample was small, heavily skewed toward Go, and shaped by Google's own centralized tooling and internal priorities. But its core finding holds: the engineering cost of open source maintenance is real, variable, and often invisible until you measure it. Organizations that adopt open source without budgeting for ongoing maintenance — especially when customization is involved — will eventually encounter a price they did not plan for.
Google set out to answer a deceptively simple question: how much work does it actually take to update an open source package? The answer, buried in a case study the company released this year, suggests that organizations treating open source as a cost-free alternative to proprietary software are badly miscalculating.
Between April and December 2024, Google tracked the engineering effort required to update 54 internal copies of open source packages. The median time spent was 2.2 hours per update. But the average ballooned to 13.9 hours—a gap that hints at the real story. One update alone consumed an estimated 400 hours of engineering time. The difference between those numbers matters because it reveals where the true burden lies: not in routine maintenance, but in the rare, catastrophic updates that demand weeks or months of work.
The culprit, according to both the data and the engineers Google surveyed, is local customization. When a company modifies its internal copy of an open source package to fit its own needs, every subsequent update becomes a negotiation between the new upstream version and the changes already made locally. Of the 47 packages where Google could reliably detect patches, those carrying company-specific modifications required a median effort three times higher than unmodified packages. The average effort was identical for both groups, but the median tells the real story: customization doesn't just add a little work. It creates a recurring tax on every future update.
When engineers do update a package, they face a cascade of secondary problems. The package sits inside a larger ecosystem of dependencies and internal applications that rely on it. A change to the package can break those downstream systems, and repairing that breakage is where the real time goes. For updates that stretched beyond two days, the majority of engineering hours were spent on remediation—fixing the damage the update caused elsewhere in the system. Sophia Vargas, from Google Open Source, noted this pattern explicitly: the longer updates are not longer because the package itself is complex, but because the fallout is.
Google's study does carry real limits. The 54 packages tracked represented less than 1 percent of the company's total package updates during that period, and the selection was driven by internal business priorities rather than random sampling. Fifty-two of the packages were written in Go, which means the findings may not generalize cleanly to Python, JavaScript, Rust, or other ecosystems. Google also maintains a relatively centralized approach to package management—one version per package in its internal repository—which is not how many organizations operate. The company's internal tools and processes shape how much effort updates require, and those tools are not available to the broader software industry.
What the study does reveal is that the engineering cost of maintaining open source software is real, substantial, and highly variable. Most updates are quick. But the moment a company begins customizing a package to fit its own needs, or the moment an update ripples through a complex dependency graph, the cost structure changes entirely. Organizations adopting open source software need to budget not just for the initial integration, but for the ongoing maintenance work that customization and integration create. The cheaper alternative to proprietary development turns out to have its own price—one that only becomes visible when you actually measure it.
Citazioni salienti
For updates that took more than 2 days, the majority of the time was spent on remediation— Sophia Vargas, Google Open Source