[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Two? ways people could use your code




People have brought up the argument of the two classes of possible
users of a library: those who want to write a free program, and those
who want to write a proprietary program.

This is a valid approach, but we must consider all the terms in the
equation.  There are actually three classes of possible projects that
might use code you have written:

* Those who want to make a free program.
* Those who want to make a proprietary program.
* Those who don't have strong views about the matter.

So let's look at each of these three cases, considering two available
choices (copylefting, or not copylefting), and how the decision
affects the goals of encouraging use of encryption, discouraging back
doors, and encouraging users' freedom.

* Some people believe in free software and will make their additions
  free no matter what.  Whether you use copyleft makes no difference
  in this kind of case.

* Often at companies, and sometimes at universities, people are dead
  set on making a proprietary program.  This program may be capable of
  doing a job, but its users will not have freedom, and they will have
  to take it on faith that there are no backdoors.

  Copylefting your code says this project cannot use it.  Most likely,
  the project will spend some extra money to write their own code, and
  the outcome for the public will be much the same.  They might do a
  worse job, or a better job.  There's some chance they would not do
  the project; whether that is a loss for the public is not clear.  It
  could mean less use of encryption; but if you also care about
  avoiding secret back doors, and about users' freedom, you won't see
  this as an unambiguous loss.

* Often at universities, and sometimes at companies, people decide to
  write a program but don't think about whether to make it free
  software.  They may not care, they may dislike thinking about the
  issue, they may simply not understand that there is an issue.

  In these cases, they will probably judge your code by its features,
  not by its distribution terms.  If they want to use your code, and
  your terms say that's permitted only if their program is free,
  they'll say, "Ok, I'll make it free, and use your code."

  In this kind of case, using copyleft will produce a benefit: more
  freedom for the end user, who can check, rather than trust, that
  there are no back doors in the program.

Conclusion: if you care *only* about more use of encryption, and
*absolutely not* about secret back doors or users' freedom, then you
would find it a better strategy not to copyleft.

But if you care about encouraging use of encryption, about
discouraging back doors, and about freedom for software users,
copyleft (such as the GNU GPL) is a good way of promoting all of these
goals together.