No one is entitled to free software and should not expect others to slave off and give away fruits of their hard work for free. This entitled communist mentality is unethical.
It's my computer, not yours. If you want to run software on it, I get to see the source code, that's the deal. We could agree that I can't use your software under these terms, but this would exploit those who don't understand the value of the source code. This is how spyware is born. If it runs on my machine, it's open source, or it's bunk.
And, once again, you can sell open source software.
If it's sandboxed and accesses only the resources (network, disk etc.) you explicitly allow it to, you don't need to know how the processing is done. Spyware is not born out of legally obtained closed-source software. It's born out of corporations selling centralized SaaS, infringing on users' privacy and locking them in by design. The very same corporations championing OSS big time, because it benefits their spyware business. With thousands of naive contributors slaving off for posterity and hope that they will get noticed and hired. How ethical is that?
Granted, if you sign an NDA and pay extra, you may have the source. If this is the model you suggest, I think it's fair.
Software that can't access my resources is usually not going to be very useful. If it does get access, I have to trust it with my data, so it needs to be trustworthy. Sandboxing doesn't solve the problem.
If two people, in full understanding of the value of source code, both decide for one to provide a proprietary closed-source software and the other to run it in exchange for money - is it still unethical?
Maybe I'm misunderstanding your point then. I got from your posts roughly: It is unethical for end-user software to be closed source, everyone is fundamentally entitled to the source code for programs they run on their computer. Further, if an end-user decides not to run the closed-source software, it is still unethical because many people don't understand the value of source code and they are still being exploited when they purchase/run the software.
My question: Is it still unethical if the exchange and use of proprietary software is made only between people who fully understand the value of source code and decide to anyway?
It's a potentially unethical situation at the very least.
If the person running that software asks for the source code, it would be unethical to withhold it from them. However, from the arrangement you made, it would also be unethical for the person to exercise that entitlement which they previously agreed to give up.
Two unethical actions don't make a right, so you're just setting yourself up for an unethical situation all around. Better to just make it clear the source code's available on request from the beginning.
And, once again, you can sell open source software.