If a business chose to not be evil, it would be outcompeted by the businesses that are evil. Most of the evil we see business committing is a result of maximizing profit, and in a system where profit is the primary motive (capitalism), evil will always win. It's an illusion of choice because the non-evil business tend to stay small at best, or go out of business at worst.
FOSS is a different system where a project's existence isn't contingent on profit; the developers just want to make good software. So sure, it isn't necessarily the only way to make ethical software, but it seems to be the most consistent way, and I have a good feeling that it'll continue to catch on as enshittification continues to rear its ugly head.