That's not a marginal cost of production, though. It costs almost the same to fix a bug if you have one user or a billion users.
It certainly is a real cost that has encouraged software vendors to move from "box" sales (which became tricky when we gave up on boxes) to annual licenses and/or SaaS. But it's not a marginal cost.
The zero mainly comes from the ability to scale for free. Sure it costs a few million bucks to maintain Linux (or whatever), but when divided by billions of copies the per unit cost becomes effectively zero.
I think software's marginal cost of production is zero only if no updates/fixes are ever needed. I know it sounds like nitpicking but just think of all the vulnerabilities discovered, specially the closer software gets to the lower end of the stack. Even if an OS could suddenly stop adding features and still be viable in the market, the cost of patching it as holes are discovered is certainly not zero.