Concerning licensing, its not just software that does that kind of price differentiation. Airlines are masters of it. Business travelers who are buying tickets with someone else's money just go a head and buys tickets today, whatever the price is. Vacationers spending their own money wait around for seat sales. Business travelers go home on the weekend; personal travelers will stay over a Saturday night to get 50% of the ticket. Thing is, once on the plane, the seats are the same.
Any licensing scheme that provides limits across more than one metric sucks.
OpenSource software has very good licensing (duh), but generally the support contracts are very nice as well. Per-server/cpu-socket: however many users, however much data, whatever features exist, go crazy. Per-user: dev, test, production, run however many boxes you want, go crazy. Per-GB: however many boxes you want, however many user you want, go crazy.
VMWare... VSphere... provides a good example. It was pretty complex, full stop, with bundles and feature-editions. But having chosen the bundle or feature level was per-CPU-socket licensing. Done. Then they decided to change the licensing to be per-CPU, where each of that also was some amount of memory as well. And not some huge amount of memory like 256GB/CPU which won't matter for 5 years (like the Windows example here), it was something crazy small like 32GB/CPU, which nearly 100% of existing customers had already hit, or were budgeted to hit within the next year or so. Cue massive customer revolt of new-coke proportions.
Not only was it more expensive, it was confusing and impossible to plan for. And especially ironic as VMWare is supposed to make the problem of balancing load over silos of hardware easy. Even with manual ballancing, VMWare solves that... only to replace it with artificial licensing-bound silos. Thanks, retards.

I've been a Microsoft developer for decades now. I weaned myself on various flavors of home computer Microsoft Basic, and I got my first paid programming gigs in Microsoft FoxPro, Microsoft Access, and Microsoft Visual Basic. I have seen the future of programming, my friends, and it is terrible...