Why is closed source software unethical? Is it unethical for McDonald's to sell me a Big Mac, even though they won't provide the recipe for the secret sauce (yes I know it's Thousand Island dressing)?
But the McDonalds one sorta holds up too. Let's examine the 4 freedoms:
1. Freedom to eat the food you purchased using any utensils (freedom 0)
2. Freedom to modify the food (i.e. add ketchup or hot sauce) and study it (investigate the ingredients in it, i.e. ask how much sodium is in it, or if the oil it was cooked in was meat oil).
3. Freedom to share an unmodified piece of the food with others (give a friend some fries)
4. Freedom to share the food, even if you've modified it or attempted to copy it (give your friend fries with ketchup on it, freedom to share your home-made fries modeled after McDs with a friend).
It's arguable if "provide the recipe" needs to be included in those freedoms. Maybe. Either way, I'd argue that yes, it's unethical for macdonalds to sell you food without at the very least giving you the above freedoms, and also telling you all important ingredients in it (allergens and nutritional info, etc)
The reason people aren't complaining about freedom wrt food is because the freedoms are already mostly there. Software licensing commonly requires things like "you can't use this software without an active internet connection to verify you purchased it", or "you can't install it on two computers". I've yet to find a food that has a limitation of "you can only eat this food if you're on the phone with us so we can verify you're not putting ketchup on it".
If food was restricted in the same ways software is, I would call it unethical, yes. Selling mystery food with no ingredient list, that I'm not allowed to attempt to make my own variant of, that I can't add any additional ingredients to, and that I can't eat at my leisure.. yeah, that would be either unethical or a form of performance art.
FSF philosophy (which I love but am not 100% in sync with) is detailed here: https://www.gnu.org/philosophy/philosophy.html
Discussion around why proprietary software is unethical: https://www.gnu.org/proprietary/proprietary.html
A lot of it ties into theories around power dynamics as well. When you deny someone the freedom to see what is running on their machine, you put the developer/company in an unfair position of power over the user. We have seen that abused time and again for spying purposes and data collection, for example.
Anyway, interesting stuff. I'll try to come back when I get some time.
That only works if you have the option to. The vast majority of the time you don't.
Edit: Perhaps I'm being misunderstood? I mean that there very often no equivalent, or even near equivalent option, for you to choose between. As an example, I cannot pay extra for a "smart" consumer electronic, including car infotainment systems, with no proprietary bits and with access to the source.
Even "smart" phones which can have their bootloader's unlocked, which isn't a huge portion, don't provide access to the proprietary bits needed to compile your own AOSP system. However, I'm calling out phones separately as there are a few, nascent nearly fully open source options.
And in any case: you can sell open-source software.
No you're not. If you want the source code for the programs to run on your computer either write them yourself, choose FOSS ones, or pay someone to write one that supplies the source.
Nobody is mandating you buy a particular piece of software or run it on your computer. You're choosing to do it. If you decide you're not going to run closed source software that's your personal choice.
> ... or is paid for by our taxes.
That's moving goal posts.
Do you do that?
And, once again, you can sell open source software.
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.
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?
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.
If you disagree, vote with your wallet.