You sure about that? If code written 3 years ago is still in production, that's not an operating expense, that's a capital expense. Kind of by definition. In a mature product, you'd expect expenses to shift to opex. But adding features and improvements are all classic capex. Just like any other industry.
Except every commercial operating system, any enterprise network or security appliance (physical or virtual), software for hardware (firmware, drivers), or pretty much any other software that isn't implicitly on or connected to the internet.
A few companies who might find this tax paradigm beneficial come to mind: Microsoft, Apple, IBM, Cisco, Intel, NVIDIA... Just to name a few.
I generally agree with the overall sentiment; except the ways in which software is being built and delivered is changing by expansion, but not necessarily changing by replacement.
The amortization guidelines basically come from old-school packaged software and waterfall development cycles, where software was first built, and then it was a "finished product", and then it was shipped to end users. In a SaaS world, where CI/CD is commonplace and things like A/B testing are everywhere, and it's basically impossible to distinguish "new development" from "maintenance", the whole capex vs. opex for modern software companies is a total joke that can easily be gamed in either direction. For example, I previously worked for an e-commerce company that wanted us to categorize as much dev time as possible as CapEx, because it made our bottom line look better. The whole thing was a total sham, and it's not that the company was at fault, but it's that the accounting guidelines think, wrongly, that software development for most web companies can be neatly divided into "research and development" vs. "maint", and that is just absolutely not possible given how devs at most companies work.
Unless it's basically "shrink-wrapped" software, which largely doesn't exist anymore, software that is delivered by a company that provides that product online and continuously improves/monitors it (i.e. basically all SaaS companies), all software dev should be treated as OpEx, period. Anything else is just a silly game that doesn't reflect reality. The only possibility I can see arguing for CapEx treatment is when there is dev before any product actually has been made available yet.