Of what use is software freedom to someone who doesn't know how to program a computer? If I have the right to change the software that controls my devices, but lack the skill, knowledge, time, or money to do so, do I really have software freedom? This dilemma has worried me for a long time. I think I have a new thought.

This thought is new to me. I'm sure others have thought of this before. I apologize for having missed it. If I merely forgot about it, and my subconscious served it to me as an original thought, I'm doing to have words with my subconscious.

The FSF and GNU project four essential freedoms, the Debian Free Software Guidelines, and the Open Source Definition currently define what software freedom means. They are, at least, the foundation of most of current thinking and public discourse.

The definitions are largely centered around software developer concerns. That is natural, as they arose among developers, and from their desires and needs.

However, the various formulations of freedoms have led to software freedom being mostly viewed through the lens of copyright licenses. This becomes quite mechanistic, even impersonal. I'd like to think about it from a different point of view.

Software freedom is the ability to decide what one's computing devices do, and to prevent them from doing what one doesn't want them to do. This freedom is strongly constrained by the financial, intellectual, time, and other resources one can spend on this. If you're not a computer programmer, you may be unable to benefit from software freedom.

Even if one lacks the resources to make changes oneself, having the right to do so is still important. What one person can't do one their own, a community may!

The various communities that have grown up around specific software, and within and around the philosophy of software freedom are a far greater achievement than the code they produce. The communities learn together and from each other. They support each other. They build trust with each other. They grow together.

Communities are force multipliers.

This leads me to conclude that what protects software freedom best is not copyright licenses or enforcing them via the judicial systems, but building stronger communities and having the communities defend themselves and each other.

License enforcement has proven to be slow, costly, uncertain, and risky. It's worth doing, when it's needed, but I can't see it being a good path into the future in most cases.

If you build software to provide a service that operates well in a cloud environment, and it becomes very popular, it's possible that a big cloud provider, such as AWS, will start using the software. That may drain time and energy from those who maintain or support the software. They may effectively hijack any commercial opportunities for hosting the software from its progenitors, if only by scale.

From a software license point of view, this is fine. It may mean the people who built the software will lose out on financial support, and that may hurt them and the software project.

In a license centric worldview, the remedy for the situation would be to change the software license to take away some of the freedoms. This could ensure the originators of the software get compensation, or whatever else they need to sustain themselves, their software, and the community around the software. But it would also remove software freedoms from everyone, making everyone poorer as a result.

It not fine when looking through a community lens. It's an attack on the community. The community should defend itself. For example, they could design the software so that it doesn't benefit from a large hosting provider running it. Or so that it benefits from having community interaction in ways a large company can't provide.

Thinking about such defenses gets easier when one abandons the idea that the copyright license is the best, or only, tool for solving problems.

Similarly, if a community around some software wants to prevent its use by some villainous organization, using a license for that will require legal action to work, which again will take a lot of money and time. What other ways does a community have to protect themselves? Publicity campaigns? Demonstrations?

I don't know the answers, but I suspect thinking about software freedom via communities will provide a path to new insights.