Because you can hold a CD in your hand, there is an obvious analogy at hand (pardon the pun) to think of software as a product. But once you move beyond the purchase of one packaged version for one fee and into the real world of using software, the role of software as a product breaks down. There are versions and patches in the real world, and these things give us a peek at the continuous development which is the real activity of making software.
Software is an ongoing practice, a recital between the computer and the mind. It begins in the developing brain with a child's apprehension of logic and continues from technique to innovation to tradition. No software anywhere is a work on its own, and most software is an amalgam of library techniques, usually written by other people based, in turn, on work by their predecessors.
From this perspective, it's audacious, even hubristic, to charge money for software as if it were your own produce.
However, we arrived at the information age by way of the industrial age, and the most successful organizational technique of the industrial age was capitalism. It has many flaws, not the least of which is an audacious, even hubristic tendency to take the resources of the world which rightfully belong to generations yet unborn and turn them into portable stereos, colonial baronies, and piles of waste debris.
But capitalism is very good at producing goods from scratch. It is natural, then, that when software emerged as an industry, it would follow a capitalist model. Software, like any product, would be produced by incorporated venture capitalists.
But, I stress, software is not a product but an intellectual activity, and that fact is eventually going to overcome the product analogy. What the pure software companies are doing is to start the big schools of thought which will get the ball rolling (and incidentally make some people a pile of cash).
In the end, however, they will have to give back the programmer's heritage by bringing the material back into the public purview. If they don't, they will not be crushed, bought out, or any other capitalist/industrial model, but simply be reverse-engineered or extended by the open software community. This is not by virtue of the programmers being better or more virtuous on the open side, but simply because software is an intellectual activity and there is nothing more persistent than a geek on caffeine without a date.
The most efficient way to make good software is simply to write, share, freely modify, and let it evolve. Eventually a way of doing this and still feeding the programmers will be found. Since such a miracle probably can only be performed in an academic setting or via funding for the public good, I doubt it will ever compete in the industrial/capitalist arena. Nor should it.
I believe it is a safe prognostication to say that the market will eventually favor a company which enhances its real products (computers, devices) with its software which it allows the user to improve. The consumer is happiest when he/she has some control over the product and is not simply a somewhat unwilling participant in a process determined by marketing, not by a market.
The pure software company is an anachronism and should be allowed to go the way of the dinosaur. The GPL is simply the best way to protect software for what it is in a world full of software companies and their legal divisions. In contrast, the BSD license only allows a flawed "software as a product" analogy continue at the expense of the general populace. It is a good tool for a company with software interests to eventually phase them out without burning the investor, but let's be honest: In a world where an acceptable business model has been to use venture capital to pay yourself a good salary before the company folds, the investor is lucky to even be given that consideration.
Better not to get them involved in the big lie of "software as a product" in the first place.