> limiting the developer's freedom for the sake of the expanding user's freedom.
This is like saying the outlaw of murder encroaches on your freedom to end life. The elimination of freedom to hide code that's executing on CPUs I own from myself is not a bad or unethical thing.
> This is like saying the outlaw of murder encroaches on your freedom to end life.
That's a great analogy, and it further proves my point: suicide is murder, and nobody has a right to take their own life, because it doesn't only belong to them, but to society also, to anyone they have or may ever have obligations to.
People have freedom and rights, but their freedoms are restricted by the rights of others.
People have a right to use their knowledge toward a goal, which includes keeping it secret if need be, as long as it does not impose on the rights of others.
Nobody has an absolute right to all knowledge.
Therefore people are not required to give away knowledge.
So then why would you allow knowledge you don't control on a device that obeys knowledge indirectly in the form of compiled or assembled code?
If I freely can choose not to run that code--for example, I can choose an open source program over a closed one--there is no ethical dilemma.
If I can't, then it is unethical. For example, Intel requires a closed-source binary blob to be run to initialize the CPU (the Firmware Support Package), even before the UEFI is initialized, otherwise the CPU won't run. Intel does not allow reverse engineering of this code. We have no idea what it's really doing. I can't use the CPU without this.
Now, what if this code does something other than initialize the CPU, such as allow remote access to this system, perhaps as part of an industrial espionage regime or other privacy invading scheme.
I have NO WAY of legally verifying the code does what it says it does if it's hidden.
I'm failing to see how hiding code is more ethical than not hiding it in situations like these.
You can choose not to run the code by choosing not to buy that computer. Let the market come up with an alternative that guarantees that it doesn't do anything unethical and allows you to inspect it.
Alternatively, and probably a better option, is that laws could be made to enforce companies requiring to pass some kind of test to ensure that it's not doing something in a list of banned things, such as espionage. This is how emissions tests work, and although people scammed those, they were penalized for it (and probably should have been far more). But it doesn't follow that companies should have to reveal all their secrets to prove to the general public that they pass these basic tests.
This is like saying the outlaw of murder encroaches on your freedom to end life. The elimination of freedom to hide code that's executing on CPUs I own from myself is not a bad or unethical thing.