Karl Fogel has it pretty much clear in Chapter 1 of his book: “Open Source Development with CVS - 2ND EDITION”:
Imagine a science-fiction device that allows any sort of food or physical object to be infinitely duplicated. If somebody then tried to sell you a tire for your car, why in the world would you buy it? You could just throw your friend’s tire into the duplicator! However, you might want to pay somebody to design a new tire for you or perhaps to install the tire on your car. Or to help you when some other part of your car breaks, you might want to buy a warranty for future support. Or maybe just hire a personal mechanic.
Similarly, in a world where all software is in the public domain and infinitely reproducible, programmers and software companies are able to make a good living not by restricting the flow of software, but by providing a service. Users pay the programmers and companies to design and write new public domain software, as well as install, maintain, customize, troubleshoot, and teach others about it. A programmer or company sells labor, not products — much like a mechanic, plumber, or electrician.