@AJ
>> >> "[I]t's entirely up to the creator of a work to decide what other people can do with it"
>>"I'm afraid I don't buy that, any more than I buy the idea that it's entirely up to the owner of a knife to decide where they stick it."
As an analogy, not only is that not useful, but it doesn't even qualify as poor.
If the creator of a copyright work (program or anything else) sets clear and lawful conditions, the only legal options available for other people are to decide whether to accept/buy the work with those conditions, or to avoid the work.
>>"As the owner of a computer, I believe that none of what goes on inside that computer should be a secret from me."
You have a right to that belief, and to express it by the choice of which programs you choose to legally install and use. Since you have no intention to ever pay for software, then you've already limited your legal choices to software which is relatively more likely than average to have source available.
However, even the world's brightest people are still not *that* likely to be able to understand everything that goes on in a modern computer, even if they didn't almost all have better things to do with their time than try to find out.
If you pay someone to check software for you, you're still going to have to trust *them*. Why can't you trust a programmer?
>>"Computer users outnumber software authors, just as non-smokers wanting clean air to breathe outnumber smokers wanting to pollute it. If you don't like the thought that your Source Code should be viewable by the people who are going to be making use of it, then DON'T PROGRAM!"
I think you'll find the vast majority of computer users don't give a rat's ass about source being for commercial programs, so does that mean you should 'STOP GOING ON ABOUT IT!'?
I haven't tried to tell you what software to run. Who the hell are *you* to tell me what, whether, or how, to program?
Anyway, we're not living in your fantasy world where everyone is forced to disclose source code, so I'll just carry on doing what I do, keeping some source to myself, disclosing other code, and sharing knowledge with other actual programmers on actual programmer's forums.
>>"...There are landfills full of computer accessories which worked fine with DOS but for want of drivers would not work with Windows 95, etc.."
Now, that is a good point.
However, popular hardware does tend to have driver support in later versions of OSs. As for the rest, a lot of what isn't supported is effectively economically obsolete - not used by enough people to make it worth someone developing a new driver except as a labour of love.
Trying to think of examples of 'orphaned' products I can remember even reading of recently, let alone handling (and where they were still worth enough money to bother about), the only one that springs to mind is ADB-based Wacom tablets, which apparently don't work on recent (non-ADB) Macs, even if using a USB<->ADB adapter.
In that case, for someone trying to write a new driver, source code for an old driver is possibly not much extra use than the communication protocols for the device, which would be needed anyway
Realistically, it's quite possible that more hardware will end up unusable due to electrical incompatibility (loss/reduction in number of suitable ports) than to loss of driver support, and it's also likely that vastly more hardware is landfilled for speed/capacity reasons when upgrading to a new OS than due to loss of driver support in the new OS.
It's certainly an issue, and possibly a real pain for a few people left with unsupported expensive kit, but not much of an issue for the great majority of computer users.
>>"And that's before we mention the customers being screwed over because the hardware they bought doesn't do what it says on the box"
I'm talking about so-called "8 Megapixel" cameras up-sampling from 2Mpx image sensors and the difference between a £30 graphics card and a £300 graphics card being one resistor."
When it comes to the graphics card, even if the extreme example were true, that can be a matter of economics. You make a load of chips/boards/whatever, test enough to get sufficient passing your hardest test, and configure those as your bleeding-edge products for a premium price. Then you test enough to pass your second-hardest test, and so on, down to your budget range, which only has to pass the easiest test. Especially as processes improve, it may be that almost all products would pass the hardest test, but it might not make sense to configure/price them all the same.
Also, at the low end, the card may well have all kinds of components (chipsets, memory, etc) that might or might not reliably work faster than they are configured to do. It may be that some cards do just need a resistor changing to work faster, and that some may even work as reliably as the expensive card, but other identical cards might not do.
Even if an extreme case were true, with there being no difference in potential capabilities whatsoever, it can still be reasonable and fair to underconfigure some products to enable a spread of pricing, as long as everyone gets what they pay for.
Looking at economies of scale, marginal costs, etc can give particularly odd outcomes when applied to electronics, especially given a significant number of people who will pay large amounts for bleeding-edge kit, which is almost always terrible on a price/performance ratio.
Sometimes, with cameras, etc, there can be outright fraud. Sometimes it can be a matter of reading the small print. Sometimes, there can be whole areas where meaningless numbers seem to get get used by everyone as headline figures as some sort of convention, such as with '19,200dpi' scanners.
Anyway, with the camera, having source would likely be no use at all to you or anyone else.
If someone's trying to screw you with a truly fraudulent megapixel claim, they could easily just provide fake source code for the embedded software. For an embedded product, you'd probably have no way of knowing if the source was genuine, since you'd be unlikely to be able to compile and install it in a finished product, even if the manufacturer didn't set things up to actively prevent you.