📄 copying.paper
字号:
This is psychosocial harm associated with the material harm ofdiscouraging use of the program. Many users unconsciously recognize the wrong of refusing to share, sothey decide to ignore the licenses and laws, and share programs anyway.But they often feel guilty about doing so. They know that they mustbreak the laws in order to be good neighbors, but they still considerthe laws authoritative, and they conclude that being a good neighbor(which they are) is naughty or shameful. That is also a kind ofpsychosocial harm, but one can escape it by deciding that these licensesand laws have no moral force. Programmers also suffer psychosocial harm knowing that many userswill not be allowed to use their work. This leads to an attitude ofcynicism or denial. A programmer may describe enthusiastically thework that he finds technically exciting; then when asked, "Will I bepermitted to use it?", his face falls, and he admits the answer is no.To avoid feeling discouraged, he either ignores this fact most of thetime or adopts a cynical stance designed to minimize the importance ofit. Since the age of Reagan, the greatest scarcity in the United Statesis not technical innovation, but rather the willingness to work togetherfor the public good. It makes no sense to encourage the former at theexpense of the latter.Obstructing Custom Adaptation of Programs========================================= The second level of material harm is the inability to adapt programs.The ease of modification of software is one of its great advantages overolder technology. But most commercially available software isn'tavailable for modification, even after you buy it. It's available foryou to take it or leave it, as a black box--that is all. A program that you can run consists of a series of numbers whosemeaning is obscure. No one, not even a good programmer, can easilychange the numbers to make the program do something different. Programmers normally work with the "source code" for a program, whichis written in a programming language such as Fortran or C. It usesnames to designate the data being used and the parts of the program, andit represents operations with symbols such as `+' for addition and `-'for subtraction. It is designed to help programmers read and changeprograms. Here is an example; a program to calculate the distancebetween two points in a plane: float distance (p0, p1) struct point p0, p1; { float xdist = p1.x - p0.x; float ydist = p1.y - p0.y; return sqrt (xdist * xdist + ydist * ydist); } Here is the same program in executable form, on the computer Inormally use: 1314258944 -232267772 -231844864 1634862 1411907592 -231844736 2159150 1420296208 -234880989 -234879837 -234879966 -232295424 1644167167 -3214848 1090581031 1962942495 572518958 -803143692 1314803317 Source code is useful (at least potentially) to every user of aprogram. But most users are not allowed to have copies of the sourcecode. Usually the source code for a proprietary program is kept secretby the owner, lest anybody else learn something from it. Users receiveonly the files of incomprehensible numbers that the computer willexecute. This means that only the program's owner can change theprogram. A friend once told me of working as a programmer in a bank for aboutsix months, writing a program similar to something that was commerciallyavailable. She believed that if she could have gotten source code forthat commercially available program, it could easily have been adaptedto their needs. The bank was willing to pay for this, but was notpermitted to--the source code was a secret. So she had to do sixmonths of make-work, work that counts in the GNP but was actually waste. The MIT Artificial Intelligence lab (AI lab) received a graphicsprinter as a gift from Xerox around 1977. It was run by free softwareto which we added many convenient features. For example, the softwarewould notify a user immediately on completion of a print job. Wheneverthe printer had trouble, such as a paper jam or running out of paper,the software would immediately notify all users who had print jobsqueued. These features facilitated smooth operation. Later Xerox gave the AI lab a newer, faster printer, one of the firstlaser printers. It was driven by proprietary software that ran in aseparate dedicated computer, so we couldn't add any of our favoritefeatures. We could arrange to send a notification when a print job wassent to the dedicated computer, but not when the job was actuallyprinted (and the delay was usually considerable). There was no way tofind out when the job was actually printed; you could only guess. Andno one was informed when there was a paper jam, so the printer oftenwent for an hour without being fixed. The system programmers at the AI lab were capable of fixing suchproblems, probably as capable as the original authors of the program.Xerox was uninterested in fixing them, and chose to prevent us, so wewere forced to accept the problems. They were never fixed. Most good programmers have experienced this frustration. The bankcould afford to solve the problem by writing a new program fromscratch, but a typical user, no matter how skilled, can only give up. Giving up causes psychosocial harm--to the spirit of self-reliance.It is demoralizing to live in a house that you cannot rearrange to suityour needs. It leads to resignation and discouragement, which canspread to affect other aspects of one's life. People who feel this wayare unhappy and do not do good work. Imagine what it would be like if recipes were hoarded in the samefashion as software. You might say, "How do I change this recipe totake out the salt?", and the great chef would respond, "How dare youinsult my recipe, the child of my brain and my palate, by trying totamper with it? You don't have the judgment to change my recipe andmake it work right!" "But my doctor says I'm not supposed to eat salt! What can I do?Will you take out the salt for me?" "I would be glad to do that; my fee is only $50,000." Since theowner has a monopoly on changes, the fee tends to be large. "However,right now I don't have time. I am busy with a commission to design anew recipe for ship's biscuit for the Navy Department. I might getaround to you in about two years."Obstructing Software Development================================ The third level of material harm affects software development.Software development used to be an evolutionary process, where a personwould take an existing program and rewrite parts of it for one newfeature, and then another person would rewrite parts to add anotherfeature; in some cases, this continued over a period of twenty years.Meanwhile, parts of the program would be "cannibalized" to form thebeginnings of other programs. The existence of owners prevents this kind of evolution, making itnecessary to start from scratch when developing a program. It alsoprevents new practitioners from studying existing programs to learnuseful techniques or even how large programs can be structured. Owners also obstruct education. I have met bright students incomputer science who have never seen the source code of a largeprogram. They may be good at writing small programs, but they can'tbegin to learn the different skills of writing large ones if they can'tsee how others have done it. In any intellectual field, one can reach greater heights by standingon the shoulders of others. But that is no longer generally allowed inthe software field--you can only stand on the shoulders of the otherpeople *in your own company*. The associated psychosocial harm affects the spirit of scientificcooperation, which used to be so strong that scientists would cooperateeven when their countries were at war. In this spirit, Japaneseoceanographers abandoning their lab on an island in the Pacificcarefully preserved their work for the invading U.S. Marines, and left anote asking them to take good care of it. Conflict for profit has destroyed what international conflict spared.Nowadays scientists in many fields don't publish enough in their papersto enable others to replicate the experiment. They publish only enoughto let readers marvel at how much they were able to do. This iscertainly true in computer science, where the source code for theprograms reported on is usually secret.It Does Not Matter How Sharing Is Restricted============================================ I have been discussing the effects of preventing people from copying,changing and building on a program. I have not specified how thisobstruction is carried out, because that doesn't affect the conclusion.Whether it is done by copy protection, or copyright, or licenses, orencryption, or ROM cards, or hardware serial numbers, if it *succeeds*in preventing use, it does harm. Users do consider some of these methods more obnoxious than others.I suggest that the methods most hated are those that accomplish theirobjective.Software Should be Free======================= I have shown how ownership of a program--the power to restrictchanging or copying it--is obstructive. Its negative effects arewidespread and important. It follows that society shouldn't haveowners for programs. Another way to understand this is that what society needs is freesoftware, and proprietary software is a poor substitute. Encouragingthe substitute is not a rational way to get what we need. Vaclav Havel has advised us to "Work for something because it isgood, not just because it stands a chance to succeed." A businessmaking proprietary software stands a chance of success in its own narrowterms, but it is not what is good for society.Why People Will Develop Software******************************** If we eliminate intellectual property as a means of encouragingpeople to develop software, at first less software will be developed,but that software will be more useful. It is not clear whether theoverall delivered user satisfaction will be less; but if it is, or ifwe wish to increase it anyway, there are other ways to encouragedevelopment, just as there are ways besides toll booths to raise moneyfor streets. Before I talk about how that can be done, first I want toquestion how much artificial encouragement is truly necessary.Programming is Fun================== There are some lines of work that few will enter except for money;road construction, for example. There are other fields of study andart in which there is little chance to become rich, which people enterfor their fascination or their perceived value to society. Examplesinclude mathematical logic, classical music, and archaeology; andpolitical organizing among working people. People compete, more sadlythan bitterly, for the few funded positions available, none of which isfunded very well. They may even pay for the chance to work in thefield, if they can afford to. Such a field can transform itself overnight if it begins to offer thepossibility of getting rich. When one worker gets rich, others demandthe same opportunity. Soon all may demand large sums of money for doingwhat they used to do for pleasure. When another couple of years go by,everyone connected with the field will deride the idea that work wouldbe done in the field without large financial returns. They will advisesocial planners to ensure that these returns are possible, prescribingspecial privileges, powers and monopolies as necessary to do so. This change happened in the field of computer programming in the pastdecade. Fifteen years ago, there were articles on "computeraddiction": users were "onlining" and had hundred-dollar-a-week habits.It was generally understood that people frequently loved programmingenough to break up their marriages. Today, it is generally understoodthat no one would program except for a high rate of pay. People haveforgotten what they knew fifteen years ago. When it is true at a given time that most people will work in acertain field only for high pay, it need not remain true. The dynamicof change can run in reverse, if society provides an impetus. If wetake away the possibility of great wealth, then after a while, when thepeople have readjusted their attitudes, they will once again be eagerto work in the field for the joy of accomplishment. The question, "How can we pay programmers?", becomes an easierquestion when we realize that it's not a matter of paying them afortune. A mere living is easier to raise.Funding Free Software===================== Institutions that pay programmers do not have to be software houses.Many other institutions already exist which can do this. Hardware manufacturers find it essential to support softwaredevelopment even if they cannot control the use of the software. In1970, much of their software was free because they did not considerrestricting it. Today, their increasing willingness to joinconsortiums shows their realization that owning the software is notwhat is really important for them. Universities conduct many programming projects. Today, they oftensell the results, but in the 1970s, they did not. Is there any doubtthat universities would develop free software if they were not allowedto sell software? These projects could be supported by the samegovernment contracts and grants which now support proprietary softwaredevelopment.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -