>
The reason these npm-type packages can't charge is that they're extremely fungible.I'd say it's less that they're highly substitutable (which I was I think you mean, instead of fungible) and more that they are non-excludable goods. A seller has no way to exclude a buyer from consuming opensource; that is in fact part of the definition. But without excludability, there's no incentive for a buyer to buy, other than charitable feeling. Put another way, it's a textbook example of the free-rider problem or collective action problem.
These are usually solved either with compulsion, such as taxes, subsidy or command-and-control; or they are solved by benefaction. Benefaction is what we have, as a rule. It's like how a rich patron of the arts donates to an opera company without capturing all of the subsequent value the opera creates (most is captured by the rest of the audience). Very large portions of OSS is developed by fulltime professionals whose time is essentially being given away without any meaningful way to exclude non-payers.
The other means is bundling. Mix the non-excludable part with an excludable part, such as a services contract. But OSS can always be unbundled from services or packaging . In my experience, most unbundlers radically discount the cost of doing so.