Some of those working in IT industry (mostly older people) remember times, when it was not necessary to pay for programming products at all.
Since forties, when first computers have appeared, till personal computers appearance in early 70s, programming products (or software) was supplied with computers (or hardware) itself without any payment.
All big mainframes, mini and super-mini computers, manufactured by IBM, DEC, HP or any other big corporation, were very expensive: millions, hundreds of thousands, or at least thousands of dollars. Such systems were available upon request. System software and applications for them were supplied in a set.
One of the first precedents of conflict, related to programming products had occurred, when some person was sued by Bill Gates, for making a copy of a punched paper tape of his and Paul Allen Basic interpreter for Altair PC at 1975.
Before that case, the term "software" was not indicated as a product for which somebody had to pay, in juridical practice.
It is important to note, that US legal system was built on precedents. So the precedent was initiated, but adequate laws were not created. Not only in the USA, as a leader of IT revolution, but in other developed countries as well.
So, programming products have begun to be sold with help of laws, created earlier for musical products or books.
It would be adequate, if programming products, especially system software, was really similar to mentioned products.
But they are not the similar !
Every IT professional knows, that once written, programming product (OS, text processor, compiler or Internet browser) starts to evole from version to version. Companies usually spend main investments on creating the initial programming code, documentation for that code, salaries, office rooms rent, equipmet costs, communication (phone and Internet), electricity, etc. Once software stable, efforts to create the next version is much lower, than at the very beginning.
Typical software life cycle looks the following way.
First release > return of investments as soon as possible > manufacturing the next version.
The next version of software usually do not require so much resources: to hire big staff, to rent office capacities, to buy equipment etc. Just because the second version may be received as a result of VERY SMALL (relatively to the first initial version) source code modification !!!
For example, Windows 2000, XP and 7 differ from each other in 5-10 million records of the source code, related to 50 million of the initial code.
While for producing piece of hardware, you need to have all components: steel, plastics or chips, for example, process of replicating the software require only extremely cheap CD/DVD disk and simple device for making copies and a little bit of electricity.
Still, the cost of the new versions of the MS Windows remain the same or even higher.
By the way, the difference between "Windows 2003 Workstation" and "Server" versions is only ONE record in the "Registry". But the price of last one was significantly higher.
Would you imagine musician or writer, who modified several notes or pages in his(her) creation, changed the title and wanted to sell it as a new product and at the same price ?