|From: Richard Stallman
Date: Mon, Sep 11, 2000 5:36 AM
Subject: Comment for High Tech Warranty Project
Response to "High Tech Warranty Project -- Comment, P994413" -- Richard Stallman, Free Software Foundation
What is free software
1. I am writing to you as the founder of the Free Software Movement. In this movement, we develop free software for the public to use.
2. The "free" in "free software" refers to freedom, not price, so to understand it you should think of "free speech", not "free beer". Free software means that users are free to modify the software, and to redistribute it, either verbatim or with changes. This, in turn, entails access to the source code for the users. See http://www.gnu.org/philosophy/free-sw.html for more information.
3. Free software is often distributed gratis, but copies are also sold; tens of
thousands of CD-ROMs of free software are sold each month.
4. In 1984, when I started the movement, it was called lunacy. I announced we would develop a complete operating system, to be called GNU; programmers responded we could never finish the job. But the last essential piece of the system, the kernel called Linux, was written in 1991.
5. Today, the GNU/Linux combination is used by an estimated 20 million people, many of whom know it as "Linux". (See http://www.gnu.org/gnu/linux-and-gnu.html.) Estimates are that 1/3 of the web servers in the world use the free software web server program Apache on the GNU/Linux operating system. Companies such as Sun, HP, AOL and IBM are now contributing by developing free software and encourage its use. (Today they often they do so under the name of "open source", which is the name of a similar movement.)
6. Free software is becoming widespread, and cases like these are no longer unusual; one free software development site, Sourceforge, now has over 20,000 registered developers. Free software is even becoming important to the economy. A committee is now considering whether to recommend that government departments should use free software by preference; see http://www.ccic.gov/ac/pitac-18may00/oss/index.html.
7. It is therefore very important to adjust liability law to do the right thing for free software.
How free software is developed and distributed
8. A proprietary (non-free) program is typically released by one company (or less often by one individual) as a product. That happens sometimes for free software also, but more often a free program has many contributors, sometimes hundreds. Usually most of them are individuals who contribute from good will and get no specific remuneration for this work. For many programs, all of the developers worked as volunteers. In effect, the community is the program's developer.
9. Because free software permits redistribution by everyone, many users have received their copies indirectly, not from the developers; usually they have had no direct contact with any developers.
10. Free software is not antagonistic to commercial activity. Anyone is permitted to sell copies of a free program (that is part of the freedom that defines free software). As a result, many companies including Red Hat and Corel now sell copies of the GNU/Linux system on CD-ROM. These copies lawfully include hundreds of free software packages written by many different development groups.
11. Distribution enterprises such as Red Hat, as well as other companies such as Sun, IBM and HP, also publish free software, which then is redistributed by the distribution enterprises as well as by Internet sites and thousands of volunteers.
12. Most free software developers get no money for their work. In 1987/88 I developed the GNU C compiler, a free software compiler for the C language. Around 1992, an official of MITI in Japan estimated the value to the world of the use of GNU C Compiler as one billion dollars. (He may have inflated the figure to be nice to me, but he would not have inflated it too far lest it seem implausible.) I was not paid for writing this compiler, and users generally did not pay me for using it. I could legitimately have sold copies to some users, but I had other things to do and other ways of getting income.
13. Today the companies that develop new computer chips typically pay someone to adapt GNU C to support those chips; these people are paid to write the changes, but get no subsequent pay from users of the adapted compiler. The first two times this was done, I was the one paid to adapt the compiler to new computers--once by Intel for the i860 processor, and once by the University of California for a research computer. But anyone using the compiler on the Intel 860 had no direct relationship with me and I got no income from them. (The UC research computer had no users outside the research project that commissioned my work.) Intel sold copies of the modified compiler to some users, and they had a direct commercial relationship with Intel.
But they users were free to redistribute copies to others, and those others had no direct commercial relationship with Intel or with me.
The logic of warranties for software
14. Programmers are human, and even at our best, we all make mistakes.No programmer is capable of writing bug-free software; all we can do is correct bugs when users report them. I used to be called "the world's best programmer" by the media a few years ago, probably somewhat of an exaggeration; anyway, I make mistakes constantly when programming. My software was reliable, by usual standards, because I fixed the bugs that were reported. It is a truism in computer science that any program over a hundred lines surely has a bug.
15. We have to wait for users to report the bugs, because exhaustively testing a nontrivial software package is unreasonable. There are too many alternative situations that would have to be tested.
16. Given these circumstances, an absence of bugs is an unreasonable thing to expect for software. Problems are inevitable.
17. For proprietary software products--if you are willing to entertain using them--it makes sense to insist that a company purveying one in large volume, and potentially making a lot of money, must take some risk off the customer's shoulders by warrantying the product in certain ways. The company that owns a proprietary program normally denies the users access to the source code, so they cannot even try to fix a problem; thus, that company is the only one in a position to fix any error. Meanwhile, unless the product is atrocious, the company's profits cover the cost of correcting the problems that are found.
18. Free software is a very different case, and rules that would be right and proper for proprietary software make no sense for free software.
Free software and warranties
19. I hope you will agree with the principle that people who obtain a program lawfully without paying a developer for it should not be entitled to blame the developer if it was a less than perfect job.
20. The first consequence of this principle is that people who develop software and contribute it to the public without compensation should not be held liable for failures.
21. When a programmer (or company) is hired to develop or improve free software, normally the pay is a lump sum, or an hourly wage for the time worked. Either way, once the programmer has finished doing the work and received the agreed-upon fee, he (or it) will not be paid any more based on the usage of the work. And the users of this work will in general never pay anything to him (or it). So the programmer (or company) who does this job should not be held liable to them.
22. Those who redistribute free software to the public noncommercially or gratis should also not be held liable to those who obtain copies through their help. And when a company releases free software, it should not be held liable to users who receive the software via others by redistribution (lawful, with free software) and do not pay the company.
23. If free software developers are held liable in these situations, the danger may make them fear to release free software for the public to use. I believe this is called "dead weight loss", when a valuable contribution to society is discouraged by imposing extra burdens on the contributors.
24. However, there is a case where it could be reasonable to require liability for failures in free software: in cases of commercial sale of copies of free software. These cases are sufficiently similar to the familiar case of selling consumer products that similar reasoning can apply.
A possible problem and a solution
25. Nowadays, many consumer products from watches to cars contain computers and software. People have raised the possibility that sellers of these products could evade liability for failures of this software by releasing it separately from the product, and asking the user to get it and install it.
26. The best way to prevent this problem is to address it directly. If a product (or service) is sold that recommends the use of specific separately distributed free (or non-free) software in order to make the product function, perhaps the seller of the product should be held liable for problems in that software just as for problems in the product "itself", even if the free software is obtained separately from another source.
27. But that should not apply to the sale of the service of software support, because in this case the service supports the software rather than vice versa.
Summary of recommendations
28. If a user pays or compensates a business, either directly or indirectly (through agents or resellers), for his copy of a software package or to obtain his copy of it, then standards requiring some kinds of warranty could apply to that business and that user.Otherwise, a developer or distributor of a software package should in general not be held liable to a user of the package for its improper functioning.
29. If a consumer product or service requires or recommends the use of a specific program (or a list of specific alternative programs) in order to make the product or service function as advertised, or in order to be able to make use of it as advertised, the seller of the product or service must cover use of that program or programs in conjunction with the product or service as part of its warranty for the product or service, even if the software was obtained other than through that seller, as long as it was obtained as recommended by that seller.
One other issue
30. Question 12c asks about shrinkwrap and clickwrap licenses and their effects on consumers.
31. The common provision that causes the most long-term harm for consumers is one that prohibits reverse-engineering. This is intended to block the development of interoperable software, and that denies the consumer practical choice.
32. For example, data is often distributed in secret formats, accessible only through one particular software product. And widely used products such as Microsoft Word store the user's own data in secret formats, making it difficult to offer the user other programs that can access the same data.
33. Reverse engineering offers a workable, though extremely hard, way to solve this problem--of figuring out the format, so that it is possible to write other programs to access the format. Therefore, public policy should positively affirm the right to do reverse engineering and block any strategem including contracts that might try to prohibit it.
34. Other harmful license provisions that have been used or proposed include (1) a requirement not to use a certain program to write anything that disparages the developer, and (2) a ban on disclosing any problems encountered in using the software.
55. For an example of (1), I am told that the clickwrap license of Microsoft Agent has a clause that prohibits anyone working with the product from using "the Character Animation Data and Image Files to disparage Microsoft, its products or services." (2) has been proposed under UCITA; see www.badsoftware.com for more information.
Copyright 2000 Richard Stallman