Why Software Should Be Free
- 1 Why Software Should Be Free (tl;dr)
- 1.1 Introduction
- 1.2 How Owners Justify Their Power
- 1.3 The Argument against Having Owners
- 1.4 Why People Will Develop Software
- 1.5 What Is Software Productivity?
- 1.6 Is Competition Inevitable?
- 1.7 "Why Don't You Move to Russia?"
- 1.8 The Question of Premises
- 1.9 Conclusion
Why Software Should Be Free (tl;dr)
Adapted from Why Software Should Be Free by Richard Stallman
I couldn't find what I wanted so I patched Stallman's essay. This adaptation is roughly one quarter the size of Stallman's original version.
Estimated reading time: 9 minutes. Contains less than 2,000 words.
When we license and distribute copies of software we should consider the prosperity and freedom of the public in general.
When we make law it should conform to ethics, not the other way around.
This essay concludes that programmers have a duty to encourage others to share, redistribute, study, and improve the software they create.
We call such software Free and Open Source Software and we believe it is very important to our communities and to our emerging global technological culture.
How Owners Justify Their Power
Software "owners" (i.e. copyright holders) justify their "ownership" in various ways, such as by making flawed emotional appeals and empty economic threats; but we don't feel the benefits they indicate, to the extent that such benefits even exist, are worth the cost in social externalities.
The Argument against Having Owners
Having to comply with proprietary licensing terms is a hindrance that creates sanitation issues for society; we are better off without such impediments to usage and adoption. By analogy one could imagine how impractical the road network would become if there were a toll collection facility on every road.
The cost and benefit of potential "ownership" constructions must be considered in proportion. Limiting the rights of a small number in order to protect the rights of a far larger number has greater social utility and better egalitarian outcomes.
We feel that software "tolls" make programs more expensive to construct, more expensive to distribute, and less satisfying and efficient to use.
The Harm Done by Obstructing Software
Restrictions on the distribution and modification of software cannot facilitate its use. They can only interfere. So the effect can only be negative.
There are three different levels of material harm that arise from such obstruction:
- Fewer people use the program.
- None of the users can adapt or fix the program.
- Other developers cannot learn from the program, or base new work on it.
While material harm is limited to the dollar cost of its development each level of material harm has a concomitant form of psychosocial harm which means there is no limit to the harm that proprietary software development can do.
Obstructing Use of Programs
Software is different to cars, chairs, or sandwiches, in that with software making more of the same thing has negligible additional cost. As software has nearly zero marginal cost in a free market one would expect it to have nearly zero price.
A license fee is a disincentive to use a program, and when less people can use a program, there is less overall social utility from the program.
As long as the marginal cost of production of material goods (as opposed to digital goods) is significant, adding a share of the development cost to the unit price does not make a qualitative difference; however, imposing a price on something that would otherwise be free, viz digital goods, or software, does lead to a qualitative change, being restrictions on the freedom of ordinary users.
Damaging Social Cohesion
When the terms of your use of a proprietary program require you to deny your neighbor a free copy of the program we create psychosocial harm that damages our society and public spirit suffers.
If users decide to break the law — because it has no moral force — and provide their neighbor with an "illegal" copy they may well still experience psychosocial harm in the form of negative feelings such as guilt and remorse.
Programmers themselves can be happier and less cynical when they are empowered to share the fruit of their labor freely with others.
Obstructing Custom Adaptation of Programs
The "source code" of a software program is the easily modifiable "blueprint" that specifies in ultimate detail what the program actually does.
When the source code for a program is not made available to programmers, as is typical with proprietary "compiled" programs, then further modifications or adaptations of the black box software cannot occur as a matter of practicality.
Many programmers have experienced the frustration of being unable to fix issues in proprietary software that they have the time and skill to fix but not the other requisite resources, being the source code and "permission". It can be demoralizing and is a form of psychosocial harm when a software user cannot rearrange their house as they see fit or otherwise be self-reliant.
By analogy one can imagine how frustrating and impractical it would be if one could not modify a food recipe to, for example, remove the salt; and when you don't have the power to make such changes for yourself you may find yourself relying on a party that is potentially very expensive and who may not be able to help you in a timely fashion.
Obstructing Software Development
Being able to study and reuse software created in the past is a boon for development of new software programs and features; being unable to do so is an obstruction. We would value a return to the old ways of collegiality such as we had internationally in the sciences.
It Does Not Matter How Sharing Is Restricted
It doesn't matter whether restrictions on sharing are done by copy protection, or copyright, or licenses, or encryption, or ROM cards, or hardware serial numbers; if it succeeds in preventing use, it does harm.
Software Should be Free
What society needs is free software, and proprietary software is a poor substitute. Encouraging the substitute is not a rational way to get what we need.
As Vaclav Havel has advised us: "Work for something because it is good, not just because it stands a chance to succeed."
Why People Will Develop Software
If we eliminate copyright as a means of encouraging people to develop software, at first maybe less software will be developed, but that software will be more useful.
It is not clear whether the overall delivered user satisfaction will be less; but if it is, or if we wish to increase it anyway, there are other ways to encourage development, just as there are ways besides toll booths to raise money for roads.
But before we talk about that first let us question how much artificial encouragement is truly necessary.
Programming is Fun
Programming is fun and many have and will work in the field for the mere joy of accomplishment.
Funding Free Software
Institutions other than specialist software development companies can pay programmers for software development, such as:
- computer hardware manufacturers
- non-profit institutions such as the Free Software Foundation
Further, otherwise unpaid programmers may earn a living offering services around their free software contributions or by taking on roles as an author, speaker, or teacher; or by accepting donations.
Programmers who work on free software projects for a living often enjoy working conditions free of bureaucracy and the satisfaction that their work is not obstructed from use.
What Do Users Owe to Developers?
There is a good reason for users of software to feel a moral obligation to contribute to its support. Developers of free software are contributing to the users' activities, and it is both fair and in the long-term interest of the users to give them funds to continue.
However, this does not apply to proprietary software developers, since obstructionism deserves a punishment rather than a reward.
We thus have a paradox: the developer of useful software is entitled to the support of the users, but any attempt to turn this moral obligation into a requirement destroys the basis for the obligation. A developer can either deserve a reward or demand it, but not both.
We believe an ethical developer faced with this paradox must act so as to deserve the reward, but should also ask their users for voluntary donations. It is our hope that eventually the users will learn to support free software developers, just as they have learned to support public radio and television stations.
What Is Software Productivity?
Today advanced nations have fewer farmers than they did a century ago, but we do not think of this as bad for society, as the few deliver more food to society than the many used to. In a similar way free software can enable fewer programmers to deliver more value by:
- Wider use of each program developed.
- Being able to adapt existing programs rather than starting from scratch.
- Better education of programmers.
- Elimination of duplicate development effort.
Is Competition Inevitable?
Perhaps social competition is inevitable but competition itself is not harmful; the harmful thing is combat.
Competition can benefit everyone, as long as the spirit of good sportsmanship is maintained.
Competition becomes combat when the competitors begin trying to impede each other instead of advancing themselves.
Proprietary software is harmful, not because it is a form of competition, but because it is a form of combat.
"Why Don't You Move to Russia?"
That's a question asked by ignorant and hostile people and you don't need to trouble yourself with it.
We're not talking about communism or fascism, we're talking about freedom.
We're trying to build a system based on voluntary cooperation and on decentralization in order to empower individuals and create free and open communities.
The Question of Premises
The premise that the interests of employers dominate the interests of employees is a radical right-wing assumption that we do not share. We operate with different premises being that the interests of employers, of employee programmers, and software users have equal weight when we consider what is best. If we cannot agree on premises we cannot make meaningful progress.
We like to think that our society encourages helping your neighbor; but each time we reward someone for obstructionism, or admire them for the wealth they have gained in this way, we are sending the opposite message.
Software hoarding is one form of the willingness of some to disregard the welfare of society for personal gain. We can trace this disregard from Ronald Reagan to Dick Cheney, from Exxon to Enron, from failing banks to failing schools. We can measure it with the size of the homeless population and the prison population. The antisocial spirit feeds on itself, because the more we see that other people will not help us, the more it seems futile to help them. Thus society decays into a jungle.
If we don't want to live in a jungle, we must change our attitudes. We must start sending the message that a good citizen is one who cooperates when appropriate, not one who is successful at taking from others. I hope that the free software movement will contribute to this: at least in one area, we will replace the jungle with a more efficient system which encourages and runs on voluntary cooperation.