Why Software Should Be Free: Difference between revisions

From John's wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Why Software Should Be Free (tl;dr) ==
= Why Software Should Be Free (tl;dr) =


Adapted from [https://www.gnu.org/philosophy/shouldbefree.html Why Software Should Be Free by Richard Stallman]
Adapted from [https://www.gnu.org/philosophy/shouldbefree.html Why Software Should Be Free by Richard Stallman]
Line 7: Line 7:
I [https://duckduckgo.com/?q=what+is+free+software+and+why+do+we+care%3F&atb=v1-1&ia=web 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.
I [https://duckduckgo.com/?q=what+is+free+software+and+why+do+we+care%3F&atb=v1-1&ia=web 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.


=== Introduction ===
== Introduction ==


When we license and distribute copies of software we should consider the prosperity and freedom of the public in general.
When we license and distribute copies of software we should consider the prosperity and freedom of the public in general.
Line 17: Line 17:
We call such software Free and Open Source Software and we believe it is very important to our communities and to our emerging global culture.
We call such software Free and Open Source Software and we believe it is very important to our communities and to our emerging global culture.


=== How Owners Justify Their Power ===
== 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.
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 ===
== 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.
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.
Line 32: Line 32:
For example, having access to source code makes more people available to improve software.
For example, having access to source code makes more people available to improve software.
-->
-->
==== The Harm Done by Obstructing Software ====
=== 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.
Restrictions on the distribution and modification of software cannot facilitate its use. They can only interfere. So the effect can only be negative.
Line 44: Line 44:
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.
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 ====
=== 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.
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.
Line 52: Line 52:
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.
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 ====
=== Damaging Social Cohesion ===


When the terms of your use of a proprietary program require you to deny your neighbour a free copy of the program we create psychosocial harm that damages our society and public spirit suffers.
When the terms of your use of a proprietary program require you to deny your neighbour a free copy of the program we create psychosocial harm that damages our society and public spirit suffers.
Line 60: Line 60:
Programmers themselves can be happier and less cynical when they are empowered to share the fruit of their labour freely with others.
Programmers themselves can be happier and less cynical when they are empowered to share the fruit of their labour freely with others.


==== Obstructing Custom Adaptation of Programs ====
=== 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.
The "source code" of a software program is the easily modifiable "blueprint" that specifies in ultimate detail what the program actually does.
Line 70: Line 70:
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.
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 ====
=== 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.
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 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.
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 ====
=== 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.
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.
Line 84: Line 84:
As Vaclav Havel has advised us: "Work for something because it is good, not just because it stands a chance to succeed."
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 ===
== 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.
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.
Line 92: Line 92:
But before we talk about that first let us question how much artificial encouragement is truly necessary.
But before we talk about that first let us question how much artificial encouragement is truly necessary.


==== Programming is Fun ====
=== Programming is Fun ===


Programming is fun and many have and will work in the field for the mere joy of accomplishment.
Programming is fun and many have and will work in the field for the mere joy of accomplishment.


==== Funding Free Software ====
=== Funding Free Software ===


Institutions other than specialist software development companies can pay programmers for software development, such as:
Institutions other than specialist software development companies can pay programmers for software development, such as:
Line 109: Line 109:
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.
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? ====
=== 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.
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.
Line 119: Line 119:
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.
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? ===
== 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:
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:
Line 128: Line 128:
* Elimination of duplicate development effort.
* Elimination of duplicate development effort.


=== Is Competition Inevitable? ===
== Is Competition Inevitable? ==


Perhaps social competition is inevitable but competition itself is not harmful; the harmful thing is <em>combat</em>.
Perhaps social competition is inevitable but competition itself is not harmful; the harmful thing is <em>combat</em>.
Line 138: Line 138:
Proprietary software is harmful, not because it is a form of competition, but because it is a form of combat.
Proprietary software is harmful, not because it is a form of competition, but because it is a form of combat.


=== &ldquo;Why Don't You Move to Russia?&rdquo; ===
== "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.
That's a question asked by ignorant and hostile people and you don't need to trouble yourself with it.
Line 146: Line 146:
We're trying to build a system based on voluntary cooperation and on decentralization.
We're trying to build a system based on voluntary cooperation and on decentralization.


=== The Question of Premises ===
== 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 as cannot make meaningful progress.
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 as cannot make meaningful progress.


=== Conclusion ===
== Conclusion ==


We like to think that our society encourages helping your neighbour; 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.
We like to think that our society encourages helping your neighbour; 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.

Revision as of 03:35, 15 August 2020

Why Software Should Be Free (tl;dr)

Adapted from Why Software Should Be Free by Richard Stallman

By John Elliot V

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.

Introduction

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 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 neighbour 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 neighbour 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 labour 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 demoralising 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 streets.

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:

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, we're talking about Freedom.

We're trying to build a system based on voluntary cooperation and on decentralization.

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 as cannot make meaningful progress.

Conclusion

We like to think that our society encourages helping your neighbour; 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.