Deregulated lending causes a danger of financial crashes. That
happened in 2008, and it can happen again. The results could hurt
everyone. This illustrates a danger to freedom from the use of
programs that are run jointly by various parties -- a danger that can
happen even if the programs are free.
First, to explain the danger of deregulated lending.
It comes from "leverage" -- the practice of borrowing to invest.
I refer to Cory Doctorow's article for this topic.
Leverage is dangerous when it goes beyond a certain amount. When the
market goes down, those who have invested with leverage are forced to
put in more money, and that compels them to sell other property, which
often accelerates the crash. This is what happened in 1929 to cause
the great crash, and the worldwide great depression.
After the crash, the US assured this would never happen again by
placing regulations on banks, designed to limit the amount level of
leverage. What brought this vulnerability back, decades later, was
the growth of lending that bypassed bank loans and thus evaded the
regulations. That caused the financial crisis of 2008.
Due to the political power of finance (as distinguished to business in
general), the US has not adopted new regulations to stop that from
happening again. Meanwhile, "distributed finance" using smart
contracts is pretty much equivalent and creates the same kind of
danger of a crash.
Instead of a loan contract written in English but so complex you have
no real chance of understanding it, you'd be asked to agree to an
Ethereum smart contract so complex that you have no real chance of
understanding it, even supposing you can read the language it's
written in.
Now let's return to the issue of software and freedom.
Using a nonfree program is automatically an injustice, because someone
else controls it and you can't change it. There are no exceptions to that.
A free program can't be unjust in that way. That doesn't mean a free
program can't ever be unjust. In the simple case where you run it by
yourself, it would be very difficult for the free program to be unjust.
But other scenarios are not so simple. The use of a program jointly
by multiple parties creates other ethical issues, other threats.
For instance, if you want to borrow money, and each lender insists
that you must run, jointly, a particular Ethereum program which you
can't change and which can make you owe thousands of dollars, that is
dangerous. If that Ethereum program is free, that means a different
lender can modify it and offer to lend using another version. But
that does not directly give the borrowers (who have less power to
start with than the lender) any freedom.
How does this differ from the classic case of a client program that
talks to a server program on someone else's server? If the client
program is free, you can use a modified version to talk to the same
server. If the server wants some information about you, you control
what information to send. You can lie, if you choose, and in some cases
lying might be morally and/or legally legitimate.
When the program is part of a system that makes it impossible or
ineffective to lie, that changes things. Such a program could be part
of a web of social control, and there is no limit in principle to how
much control it can exercise. Mostly we see this in nonfree programs
for "test proctoring", but we also see the beginnings of it in free
programs such as Bitcoin and Ethereum.