What’s your definition of free software?
Free software is software that respects users’ freedom and community. It’s not about price. It’s libre, not gratis. With any program, there are two possibilities: either the users control the program, or the program controls the users. When the users control the program, that’s free software—they control the things they do with it, and thus it respects their freedom and their community. If they don’t have full control over it, then it’s user-subjugating, non-free proprietary software—the program controls the users, and the program’s owners control the program, so it becomes an instrument of unjust power for the owner over the users. For the users to have control, they need four specific freedoms—the concrete criteria for free software. Freedom Zero is the freedom to run a program however you want, for whatever purpose you have. Freedom One is being able to study the program’s source code and change it so that you can make the program run the way you wish.
What about people who can’t do that—ordinary users who aren’t programmers?
I don’t think that everyone has to learn how to program—not everybody has a talent for it. But they still deserve control over their computing activities. They can only get that through collective control, which implies the right of users to work together to exercise control over what the program does for them. So further freedoms are necessary for collective control. Freedom Two is the freedom to make exact copies of a program and give or sell them to others. Freedom Three is being able to make copies of your modified versions, and give or sell them to others. This makes it possible for users to work together, because one of them can make a modified version of a program and distribute copies to others in the group, and they can make exact copies and pass them on. That’s free software—and all software should be free, because the user’s freedom should always be respected. Every non-free program is an injustice. The fact that it exists is a social and ethical problem for society; and the goal of the free-software movement is to put an end to that.
the bit about it being an instrument of unjust power is interesting and should be expanded. how is this power exerted? to what ends? (hint: capitalist ones)