091017哲思峰会珠海站RMS讲演听译

参考

叶富华 版本

1:06:33-1:17:15

今天,我们要做的事情就不再仅仅是开发软件这么简单了。因为我们的敌人在某些工作领域禁止使用自由软件。这一行动从美国开始,但正在蔓延至世界各地。举个例子说。你想用电脑来播放DVD,而DVD里面的文件信息是加密的,这种文件格式一开始的时候是一种商业秘密。之所以为之加密,是因为生产商想限制你对DVD的使用权。后来,人们发现了个中的秘密,并且开发出了播放DVD的自由软件。但那些财力雄厚的电影企业则去到法院,他们贿赂法官,使之通过一个法案,让用以播放DVD的自由软件成为非法。这就是发生在美国的对软件的审查制度,实质上也是对软件用户的审查。所以说,我们需要一场全世界的行动,来抵制这一类的法案。与此同时,他们也开发出了别的加密方法,企图以此限制用户对DVD的使用。他们是通过私有软件来达至这一目的的。但我们的社区里有不少聪明的程序员,他们可以写出具有同样功能的软件,但这样的做法却被法院判为非法。因此,我们必须组织起来,共同对抗这样的禁锢。

另外一个威胁到自由软件开发的就是版权法。有些国家允许版权法的存在,那些国家的自由软件程序员就面临着被控告的危险。因为要写出一个程序的话,必然需要应用到上千个不同的设计方案。假如你所在的国家允许软件版权法的存在,那就意味着,你所使用的其中几百个方案可能已经受到版权保护了。对于程序员而言,就意味着要面对数百宗的法庭纠纷。假如你认为因为编写自由软件而需要应对上百宗的法庭纠纷是好事,那就支持软件版权法吧。假如你不喜欢这么做,那么你就应当说,我们国家不需要软件版权法,这是一个非常愚蠢的做法。这样做只会对大公司有利。因为他们往往掌控着几乎任一领域半数以上的版权。他们往往相互授权,并且强迫别的公司给他们开放授权。结果是,大公司往往可以避免软件版权法引来的大部分纷争。软件版权法所带来的伤害则往往由其他的软件开发者来承受。在软件开发这一领域,我们可以将多个不同的成分结合到同一个产品当中,这一现象相比于其他领域,其出现的频率更高。因为软件往往比工程来得简单,因为其实质就是数学。假如别人想将新的东西加入到现有的产品当中,他们往往需要做大量的研究以及经历漫长的工艺过程。而程序员只需要修改代码即可。

因此,程序员可以将很多不同的东西融合到同一个程序里面,而相比之下,一个化学过程,或一个集成电路或任何其他的实物。因此,软件之版权就引出更大的一个问题。因此,我们必须要保证,软件开发可以在不受限制的环境下进行,这就是我们所需的主要内容。只要他们不约束我们编写自由软件,我们就会非常乐意的去写自由软件。我们需要组织起来,去阻止他们对于自由软件程序员的限制。还有一点,我们需要向社会机构发出倡导,让他们不再继续支持私有软件。例如,我们应当要求政府拒绝使用私有软件,这些机构应当是只能使用自由软件。因为政府部门使用计算机不是服务自身的,它是为社会公共利益服务的。当然,作为个人,你可以按照自己的喜好来使用电脑,没有人可以管你。但假如是政府部门使用电脑,那就是在为公众提供服务的,政府有义务去做出正确的选择。因此,每一个政府部门都应当对其所使用的电脑享有充分的控制。假如你在家里因为使用私有软件,使得你失去了对自己那台电脑的控制,那是不幸。而假如政府因为使用私有软件而失去对其电脑的控制,这就不仅仅是不幸了。这是一种失职,没有实现其对公众的义务。因此,所有的政府部门都应当使用自由软件,唯有如此,才能保证事情是可控制的。

更为重要的是,中小学校也应当迁移到自由软件的平台上。所有的学校的电脑课堂都应当只教授自由软件,理由有四:

最浅层的理由是为了省钱。全世界的中小学校都很缺钱,因此他们受到很多的限制。所以说,他们不应当用有限的资金来购买私有软件的使用授权。这一理由对于那些不大懂得自由软件之理念的人都是很显然的。尽管他们也许不清楚自己在谈论的到底是什么东西。不过,这仅仅是表层的原因。但是,有些私有软件的开发商则试图通过向学校捐赠私有软件的方式来抹除这一理由。他们为何要这么做?他们是想将学校变成奴役学生的工具,他们希望从学校里出来的孩子将来也会使用那个私有软件。具体而言,就是他们会把软件捐给学校,学校就在课堂上教怎么使用那个软件,到最后,孩子就会成为该产品的奴隶了。到孩子毕业的时候,他们走向工作岗位。但是,软件公司不会给企业赠送软件的使用授权。于是,孩子对软件的依赖程度越来越高。他们还将社会其他人群拉进他们的私有软件圈子里。私有软件程序员希望整个社会都落入这一圈套。这一做法与当年烟草公司派发免费卷烟的做法如出一辙。吸第一口是免费的,但是一旦你上瘾了,就要付钱去购买。我确信,学校不会让孩子发放毒品,即使他们不需要为此支付任何成本。同样的道理,学校也应当拒绝教授非自由软件的课程。因为学校是有其社会承担的。学校的责任是教育下一代,使之成为有力的、能干的、独立的、合作的、自由的公民。具体到计算机这一块,就是教会他们用自由软件。

但事实上还有一个更深层次的问题,即教育下一代程序员的问题。

冯喜刚 原文听记

RMS 珠海演讲听译

Free software means software that respects the user's freedom. It's a matter of

freedom, not price, so you should translate it as "自由" not "免费". If a

program is not free, then it's proprietary software, non-free software,

user-subjugating software.

Non-free software keeps users divided and helpless. Divided, because they're

forbidden to share copies, and helpless, because they don't get the source code,

so they can't change it, they can't even study what it's really doing to them.

And often the non-free software has malicious features. There are malicious

features to spy on the user. There are malicious features to restrict what the

user can do. And there are malicious features which are backdoors, that can be

used to attack the user. But fundamentally, non-free software gives the

developer power over the users, and nobody should have that power. Software must be free.

But my definition, so far, is very general. To say it,

respect your freedom, what's that means?

There are four essential freedoms that the user of a software deserves. Freedom

zero is the freedom to run the program as you wish. Freedom one is the freedom

to study the source code of the program and change it to make the program do

what you wish. Freedom two is the freedom to help your neighbor, that's the

freedom to redistribute exact copy of the program when you wish. And Freedom

three is the freedom to contribute to your community. That's the freedom to

distribute copies of your modified versions when you wish.

If the program gives you this four freedom then it is free software, which means

that the social system of the distribution and use of this program is an ethical

system. One has to respect the user's freedom and social fidelity of the user's

community.

But if one of this freedom is missing, or insufficient, then the program is

proprietary software, which means that it imposes an unethical social system on

the users.

So to develop a free program. Oh actually, first I should explain that whether a

program is free or proprietary is not a question of the technical details of the

code, it's a question of how the users get the code, what condition they can use

it.

So to develop a free program is, in general, a contribution to society, more or

less, depending on the details. But develop a proprietary program is not a

contribution, it's a power grant. The use of a non-free software is social

problem.

And so,the goal of free software movement is that all software be free, so that

all users can be free. But why this four freedom is essential, why define free

software based on these four freedoms.

Each freedom has a reason. Freedom two, the freedom to help your neighbor, the

freedom to redistribute that copy of the program is essential on fundamental

moral grounds, so that your can live an upright live as a good member of your

community. If you use a program without freedom no.2 then you are in danger at

any moment of falling into a moral dilemma. Whenever your friend says this

program is nice, could I have a copy. In that moment you will be in a dilemma,

you'll face the choice of two evils. One evil is to give your friend a copy and

violate the license of the program, the other evil is to refuse your friend a

copy and comply with the license of the program.

If you were in this dilemma, _you what_ choose a lesser evil, which is to give

your friend a copy and violate the license of the program. What makes this

_be_ lesser evil, well if you can't avoid doing wrong to somebody or other,

it's better to do wrong to somebody who deserves it, because he has acted wrong.

We can assume that your friend is a good friend, a good member of your

community, and normally deserves your cooperation. By contrast, the developer of

proprietary program has acted to separate you and your community, has tried to

divine your community. So if you have to wrong to one or the other, do it to the

developer.

But being a lesser evil does not mean that it's good. It's never good to make

an agreement and then break it. Not even in a case like this one where the

agreement is inherently evil, and keeping it is worse than breaking it. Still

breaking it is not good. And if you give your friend a copy, what will she

have, she will have an unauthorized copy of a proprietary program, and that's a

bad thing, almost as bad as an authorized copy of a proprietary program. Nobody

is laughing except one person just smiled. Now I'm a bit surprised, and I'm

worried , may be what I'm saying is not clear.

So once you have fully understood this dilemma, what you really do. You should

make sure, you are never in the dilemma. How? I know of two ways, one way is

don't have any friends. The other way, my way is, don't use that software. If

you don't have this non-free software, then there is no danger that you'll fall

into that dilemma. So when someone offers me a program on the condition I'll

not share with you, I say, my conscience does not allow me to accept that

condition, so take you program away. I won't use it.

So I reject software without freedom too on moral grounds, and you should too. And we

should also reject the proper_ terms the the developer use to demonize the

practice of cooperation. Terms like "pirate", when they call the people who

share copies "pirates", what they really saying, they want us to assume that

helping your neighbor is morally equivalent of attacking a ship. Well, I don't

think that's true. Ethical speaking, it's as false as anything could be, because

attacking ships is very bad, but helping your neighbor is good. So I refuse to

call them pirates. When somebody asking me about piracy, I say attacking

ships is very bad. In other words, I refuse to fall into their trap, I refuse to

accept the use of a term "piracy" to refer to helping your neighbor. And when

people asking me what I think of music piracy or software piracy, I say, from

what I have read pirates don't attack by running computers, or by playing

instruments very badly, although that might work with enough time. Form what I

read they use arms, so their piracy is not software or music piracy. So now

you get the point, don't fall into the trap. Well that's the reason to have

freedom reason two, the freedom to help your neighbor, the freedom to

redistribute that copy of the program when you wish.

Essential on fundamental moral grounds, freedom zero, the freedom to run the

program as you wish is essential for a different reason, so you can control your

computing. There are proprietary programs whose licenses are restrict even the

use of authorized copies. And obviously, that's not having control of your

computing. There's one program for publishing web sites, whose license says you

are not allowed to publishing anything that criticizing the developer, imaging

how outrageous that is. So there no limits how nasty they can be, but the

license shouldn't restrict your use of the program at all, that's freedom zero.

And it's essential, but it's not enough. Because that just means you could

either do or not do, whatever the code of the program is already set up to do, so

the developer continue to deciding for you, and imposing his decision on you,

not through the license but through the code of the program. So in order to have

control of your computing, you need freedom one, which is the freedom to study the

source code and then change it to make the program do what you wish, this way

you decide, instead of let the developer decide it for you.

If you don't have freedom one, you can't even tell what the program is doing.

And as I have mentioned, often they have malicious features to spy on the user,

restrict the user, and backdoors to attack the user. And not just obscure, very

little know programs, small companies you never heard of. One proprietary program

in which we have found all three of this malicious feature types that you may

have heard of, it's called "Microsoft Windows". People have found spy feature in

"Microsoft Windows". People have found, of course this is obvious, features

design specifically to restrict what the user does with her own files in her own

machine. And there's backdoor, a backdoor that allows Microsoft to _forceable_

change the software with asking permission of the noumenal user of the machine.

So if you're foolish enough to allow "Microsoft Windows" to run in you computer,

you may think you own it, but really Microsoft has owned your computer.

Any malicious feature that is not in Windows today, Microsoft could forcibly

install tomorrow. Now Microsoft is not the only company that does this, another

malicious product which has all three of these kinds of malicious features is

the "Amazon's Window", well they call it "the kindo", we call it "the swindow". But

when they call it "the kindo", that is meant to explain the purpose of the

product is meant to burn your books. "Kindo" means to start a fire. So it's

design to burn your books. That products spy on the user, because the only

place you could buy a book is from Amazon, and if you buy from Amazon, you are

forced to identify yourself, so Amazon knows exactly what books you have read,

nobody should know that. And it also has digital restriction's management,

features designed to restrict you use of the book you bought to stop people from

doing things like lending book to their friends. They want to put an end to the

practice of lending book to your friends, an end to public libraries. They don't

want sell book or use book stores. And it has a backdoor, we found out about the

backdoor a few month ago. Amazon use it to remotely erase all copies of a

particular book, and this book is 1984, by George Orwell, the book that give us

the word "Orwellian", the book that's very important for everyone to read. So

the people have bought copies from Amazon discovered one day that they don't

have their copies any more they have been erased. Amazon just send the command

to all of these swindows and erase these books. So this shows how dangerous

non-free software can be, because you can't check what it does.

Now, not all of the developers of proprietary software put in malicious

features. Some do it, some don't. The point is we can't check, since we don't have

the source code. Without freedom one, we don't have the source code, we can't

check for malicious features. So we are totally at the mercy of developer. Some

developer will abuse this power, and some won't. The point is they have power,

and they shouldn't have power. Nobody have that power.

So we can divide all the programs without freedom one into two classes. There is

this class of programs we know of malicious features, and then there is programs

which we don't know of them. And some of these program has malicious features

that the public had not found out about it and other don't, and we can't tell

which is which. We can't identify the ones with malicious features.

But even so, I can make a statement about all of them, which is their developers

are human, so they make mistakes, the code of these programs has bugs, and the

user of that program with freedom one is just as helpless, facing a accidental

bug as facing a deliberate features. If you use a program without freedom one,

you are a prisoner of the software you use.

We, the developers of free software are human too, we also make mistakes, the

code of our free programs also has bugs. But if you run into a bug in our free

software code or anything in the code you don't like, you are free to change it.

Because we don't make you a prisoner. We can't be perfect, we can, we respect

you freedom.

So freedom one is essential, but it's not enough. Because that's the freedom to

personally study and change the source code, that's not enough, because

there are millions of users that don't know how to program, they don't know how

to exercise this freedom. They can't exercise it directly. But even for

programmer like me, freedom one is not enough, because there are so many

softwares

in the world. In fact, there are so many free softwares already in the world

that no one person who uses computers can possibly study the source code of

all the programs that she uses and master them all, and personally write all

the changes that she wants, because that's more work than any one person can do.

So the only way we can fully have control of our computing is to working

together, cooperating. And for that, we need freedom three, the freedom to

contribute to your community, the freedom to redistribute your modified

versions. This way, the change that many people want only has to be written once

by somebody whose willing to release his modified version and then we can all

have it. We don't have to write it each one of us, over and over again. for

ourselves. One can write write it and distribute the modified version to all of

us, and we just get it without any additional work.

Suppose a few people release a free program, and we like it, we use it. But we

want some additional features. Well somebody can start with this version and

implement part of this features and release his modified version, and someone

else can start with that implements some more and release her modified version,

and other people can start with that, and implement the rest, and release that,

and then we all switch to that, and we thank them for collaborating to make this

improvements. So freedom three makes it possible for us to collaborate in making

a program do what we really want. So freedom three is also essential.

[21:xx.x]

Now only a programmer, only someone with the skill that's necessary can directly

exercise freedom three, but other users can indirectly take advantage of freedom

one and three. For instance, suppose you use a program in your business, _you

part of how you make money is part of your operations, _you run this program.

Suppose you know this, if a program did something different, it would work

better for you, and you business would run more smoothly, and more efficiently,

and you'll make more money, then it would be worse for you to pay a programmer

to write that change for you, we're assuming you don't know how to program, you

business is probably not a software business, most of the business in the world

don't do software, but they use software, so this is the common case that I'm

talk about. So you know this you would like a certain change, with free

software, you can look for any programmer who wants to do the job for you,

because it's a free market. So you can pick a programmer who acts for a good

price, and who also has experience working on the software, and you could pick

whoever you like. Once you make a deal with that person, then you'll give him a

copy of the version you're using, exercising you freedom no.2, then he'll study

the source code, and implement your changes, exercising his freedom no.1 for

you. In this scenario, you're not a programmer, you don't know how to exercise

freedom no.1, but he does, and you're going to pay him to do it for you. Then

when his changes are working, he gives you a copy of his modified version,

exercising his freedom no.3 for you, then if it works, you pay him. And an

important part of free software business works this way.

Now this is impossible with proprietary software, because you generally don't have

the source code. In fact, only the developer has the source code, so the only

way you can get a change is to beg the developer, or pray to the developer,

"Oh, oh, mighty developer, please make this change for me". Some developers say,

"pay us, and we'll listen to your problem". And if you pay, the developer says,

"Thank you. in six months, there won't be an upgrade, by the upgrade, you'll see

if we have fixed your problem, and you'll see what new problems we have not solved for

you".

(24:55.1)

But with free software, anybody can go into this field, this business. Anyone

with the skill necessary can offer to make change for people. And therefore all

this organizations that use software say they need good support, they should

insist on free software, so that they can get their support from a free market,

which means in general they'll get better support with lesser money. And thus

all the users get the benefit of the four freedoms.

(25:43.1)

Every users can exercise freedom no.0 and 2, the freedom to run the program as

you wish, the freedom to redistribute exact copies. Because these don't require

programming, if you can use a program at all, you can take advantage of these

freedoms. Freedom one and three, the freedom to study and change the source code,

and then optional distribute copies of your modified version. These involve

programming, so any given person can exercise these more or less, depending on

how much he know to program. And there are many people who don't know how to

program, they can't directly exercise these freedoms. But when others,

programmers who exercise versions, and when they release their modified version,

all of us can install them or not, so we all get the benefit of living in a free

society where users have these four freedoms. And the combined result of these

freedoms is democracy. A free program develop democratically under the control

of its users. Because every users can participate however much he wishes. In

society's decisions about the future of this program which is simply the sum

total the decisions of various users make about what to do with this program. So

on one side we have individual freedom, social solidarity and democracy, on the

other we have dictatorship. The developer uses this program to gain power over

users, to subjugate them. The program is the instrument of the programmer's

power, and with this power the developer can bully them, exploit them and

mistreat them. Society must choose free software, and escape from proprietary

software. And so the goal of the free software movement is the liberation of

cyberspace and all of it's habitants.

(28:20.5)

I reach the conclusion around 1983, that software should free and I want to live

in freedom while using computers. How did I reach this conclusion? It was not a

stroke of genius. It was the result of my experience. During the 1970s, I

participated in a free software community, part of this community was IMIT where

I worked. In the lab I worked, the artificial intelligence lab, essentially all the

software we use was free software. We had our own operating system, the

incomparable time-sharing system, or ITS had been developed mostly by the people

in the lab. And when they hired me, my job was to make the system better, and

some programs had been developed in other places, and shared with us, we

improved them and shared them back. We shared our software with anybody who

wanted it. So I got to learn this way of live, when people share knowledge. We

developed software, we shared it. And we expected others to share. So I learned

this is a good way of life.

(30:01.1)

But then, I had a experience with proprietary software. Xerox gave IMIT a laser

printer. This was the first generation laser printer. It was actually a office

copier, a very fast, heavy duty office copier, that have been modified by adding

a laser to it. And it frequently got paper jam, and it was installed in a place

not near everyone's office, so the machine could stay jam for a long time, and

nobody would know this, And as we learn to expect, our reaction to this jam was

we wouldn't go to the printer so soon, we would wait an hour, so if a bunch of people

printed something, and they all waited an hour, that meant it would stay jam

for an hour, and then somebody would fix it, and it would print a few jobs and

then jam again, and it might wait another hour. So things got really bad.

(31:05.2)

Well I knew how to fix that, because I have fix the problem for a previous

printer. I added features to the software, one feature displayed a message on

your screen when your job was finished, so you can go immediately to pick it up,

another displayed a message on your screen when the printer got into trouble.

So you'll go immediately to fix it. Well I want to add these features, but I was

blocked. You see, for the old printer, the reason I could add these features was

it was controlled by a free software. But the new printer was controlled by

proprietary software on the special kind of computer that Xerox gave us. And I

couldn't change it, I couldn't add these features, all I can do is suffer,

along with everybody else in the lab who were suffering the same way.

(32:04.6)

And then I heard that somebody at CMU[Carnegie Mellon University] had a copy of

that source code. So eventually I was there, so I went to his office, and I say,

"Hi, I am a friend of IMIT, could I have a copy of the printer software source

code", and he says, "No, I promised not to give you a copy". And I was shocked,

I was so shocked by this refusal to cooperate in a usual way. Then I couldn't

express my anger, and do justice to it. All I can do is walk out of his office.

But because it rankle so much, I keep thinking about it. I thought about what

he's done and how his betrayal of the rest of community had hurt us. And I

thought the morality of what he's done. Because he didn't just promise not to

share with me, it wasn't personal. It was even worse. Because he has promised to

refuse his cooperation to everyone in the world. He had not just betrayed my lab

IMIT, he had betrayed the whole world. And when I realized that, I thought of "曹

操". But "曹操" only spoke of the idea of betraying the whole world, this person

had actually done it. And this is what crystallized my understanding of the evil

of proprietary software. Specifically in this case the evil of a non-disclosure

agreement, because that's what he had signed. He signed a agreement, so that he

got the source code, and the price of his getting it was to betray all the rest

of us. Well except most of you weren't born yes, so you weren't included, that

was around 1980s. But those of you were already born, you were included, you

were betrayed.

(34:37.6)

Anyway, a couple of years later, my community collapsed, it died. And the PDP10

computer which the incompatible time-sharing system was written for became

obsolete. And so I faced a prospect of spending the rest of my life using and

developing proprietary software. And I thought about that, and I concluded this

is ugly, this is a horrible way to live. I said no. I refuse to live that life.

I'm going to dedicate myself to winning freedom, to creating a new free software

share community.

(35:44.9)

So, in order to have a free software community, in order to use our computers in

freedom, the first thing we need is an operating system that's free software,

because computer won't run at all without a operating system. So, not only that,

I was an operating system developer. I was the exact right person to start a

project to develop an operating system. And that's what I decided to do. The job

had to be done, I had the necessary skills, and it looked like nobody would do

it, if I did not. So I concluded that it was my duty to do this, I was elected

by circumstance. As if you see somebody drowning, you know how to swim, there is

no one else around, and it's not Bush. Then you have a moral duty to save that

person. Well I've made too strong statements, perhaps there are other people

in other governments about whom I should not make the claim that you have a moral

duty to save them. But in any case, that's not important for me, because I

don't know how to swim. But in this case, the job to be done was not swimming,

was to developing an operating system, and that I knew how to do it. So I

decided I would develop a free software operating system, or die trying.

(37:59.0)

A old age that is, because at that time the free software movement I started had

no active enemies. Lots of people disagreed, but they just laughed and then pay

no more attention to us. They were sure we would never develop a free operating

system anyway. They didn't think they had to bother to try to stop us. And I

didn't know if we'll succeed. How could I be sure, what I knew was, that if we

didn't try, we were certain to fail. Freedom demanded this job. So I just do it,

I decided I'll develop a free operating system. I decided to recruit other

people to join in and help, so we can finish sooner. I decided to follow the

design of UNIX, so that could be a portable operating system, and it'll be able

to run on a computer five or ten or twenty years in the future. And I decided to

make it compatible with UNIX, that's using the same commands, so that the users

of UNIX would find it easy to switch.

(39:17.2)

And then I gave the name GNU as a joke. Because even though it was clear that if

I succeeded, this would be the most thing I would do in my life. No matter how

serious something is, you can still make a joke. And that's part of the hacker

spirit.

(39:42.7)

You see, in our community, in the 1970s, we called ourselves hackers. And what's

that meant and means, because we still call ourselves hackers, what it means was

we are programming because it's fascinating to use our intelligence, it's not

just a job, for us, programming is a way to be playfully clever. And playful

cleverness is what being a hacker is all about. And it doesn't have to be with

computers, if you enjoy playful cleverness, you can be playful clever in any

area of life. But it's true computers are very suitable for engaging in playful

cleverness. That gives you a lot of opportunities to do it.

(40:37.0)

Anyway, in the 1970s, system level programming is usually not portable. Every

program was written for a specific kind of computer and that's all it could run

on. So it was very common that you would want to use an existing program, but

you could run it, because it was written for some other kind of computer. And

the only solutions write another, so you would write you own program to do the

same job that you could run it on your computer. So everybody had to do this.

(41:16.2)

But in our community, we had a humorous tradition for this cases. You could give

you program a name which was a recursive acronym saying that your program is not

the other one, a humorous way of giving credit. So, for instance, there were many

fairly similar Tego text editors. And someone write one and called his program

TNT for "TNT is not Tego". That was the first recursive acronym. And then I

wrote the Emacs text editor, and there were thirty imitation Emacs afterwards.

Each one of it run it on a different kind of computer. And most of them were

called something-Emacs, which is obvious not fun. But there was also Fine, for

Fine Is Not Emacs, and Sine, for Sine Is Not Emacs, and Eine, for Eine Is Not

Emacs. And Mince, for Mince Is Not Complete Emacs, and version two of Eine was

called Zwei, for Zwei Was Eine Initially. Zwei is German for Two. So you could

have a lot of fun in recursive acronym.

(42:57.1)

And I decided to use a recursive acronym for something is not UNIX. And then

pondering for a name to use for a suitable recursive acronym, I discovered the

word GNU would work. GNU stands for GNU is Not UNIX.

[laughter]

(43:17.4)

And not only that, the world GNU is the most humor charged word in the English

language. Use for countless wordplays, because according to the dictionaries the

G is silent, and the word is pronounced [nju:]. So every time you want to write a

word NU, you could spell it GNU, and you have a joke. Perhaps not a very good

joke, but there are lots other. So that's the reason why I chose the name GNU,

it happens to the name of animal that lives in Africa. You can see drawing of

this animal on a lot of our things. Here, over here. So this is a picture of

GNU. But the reason that I chose it is not because I love this animal, it's

because it stands for GNU Is Not UNIX.

(44:28.0)

So when it is the name of our system, don't follow the dictionary. Because if

you talk about the new operating system, you'll get people confused. You see

we've worked on it for 25 years now, and we've been using it for 17 years, so

it's new any more, but it still is GNU. And it'll always be GNU, despite the

people who _ironically_ call it Linux. But how did that error get started, how it

was happened that millions of people who use the GNU system, and they think the

system is Linux. It's the confusion that started in 1991-92.

(45:15.9)

Here is what happened. During 80s, our task was to develop hundreds of

components that we need for a UNIX-like system. And in 1990s we had almost all of

the system, but one essential part is still missing. And that was the kernel.

The kernel was the system component that allocates computer's resources to all the

other programs you run. So in 1990s, the free software foundation hired somebody

to write the GNU kernel, and we decided to use advanced design, the bottom part

was micro-kernel, and on top of that we would develop a bunch of module servers

that will communicate by message-dispatching, and each server will do one

particular job. So this was an advance elegant design that we thought would make

the system more powerful. And for various reasons we thought it would be easier to

bootstrap it, and that we would get it done sooner. Well, we were wrong. Because

it took 6 years to get even a test version running, and it's still doesn't work

very well, so people don't use it.

(46:40.1)

But fortunately, we didn't have to wait for that. Because in 1991, Mr Torvalds,

a college student started to write his own kernel. And he got it to work at a

minimum level in less than a year. His kernel was called Linux, and initially

it was not free software, because initially its license was too restrictive.

(47:15.8)

So, in fact it did not allow commercial redistribution, therefore that meant a

large class of users, namely business, and individuals in their business

activities didn't have freedom two and three. So that's not free software. But

in 1992, Torvalds re-released Linux under the GNU GPL, making it free

software, because the GNU GPL is the one of the many free software licenses.

(48:00.4)

But you might ask what is a free software license? Why does a free program need

a license anyway? Well, under today's copyright law, anything that is written is

automatically copyright. And copyright law by default forbides modification,

coping, distribution. And in many counties even forbade running the program, so

by default, the program is not free. So how can we make a program free? We do it

through an explicit formal statement by copyright holders, giving the users the

four freedoms. These formal statement we call it the free software licenses, or

putting it more precisely, any such statement would be a license. If a license

give you the four freedoms, then it's a free software license. So the license

has to be written properly to give you the four freedoms. So there are many free

software licenses. There are something like fifty or sixty we know of, and may

be there may others, because anybody could theoretical write a free software

license as long as you does it right. Of course, if you going to do it, you

should get help from a lawyer, because otherwise you could make a mistake.

(49:38.7)

So the GNU General Public License or GNU GPL is a particular free software

license that I wrote to use it on the programs that we would develop for GNU,

and the GNU GPL is the most commonly used free software license, about two third

of all free software projects use the GNU GPL. And what special about GNU GPL is

that it's a copyleft license. Copyleft means that all copies of all versions of

the program must be free. You see, some free software licenses, for instance,

the _exerleven_ license, and the two different BSD licenses, they are very

lack. They let people turn the program into proprietary software. If I wrote a

program and release it under a lack license, somebody could get a copy from me, and

compile it, and gives you just the binary, putting on an end-user license

agreement that restricts you. And then you copy will not free software, he could

change the source code, and compile it, and provide you just the binary. And it

would be just impossible to get source code that correspond to that binary,

because only he would have it. Now if my goal have been success, I might say

it's good, more people would use my software, but that's just ego. My goal

wasn't to have more people to use my software, my goal was to give people

freedom.

(51:45.7)

And to achieve that goal, I had to make sure that a middle man could

not remove the freedom of your copy before you get it. So I developed this

technic of copyleft. Here is how copyleft works, the GNU GPL says, "You are free

to distribute that copies and modified versions, but you must make the source

code available, and you must distribute always under the same license, you can't

change the license, you can't add restrictions, and you can't take away

protections. So when you distribute the copy to someone else, you have to

respect his freedom, just as I respect your freedom. And so the freedom this way

goes with the free software, everywhere the code goes, the freedom goes also.

That's the idea of copyleft.

[applause]

(52:51.0)

So I noticed people who mistakenly believe that the free software is only the

software under GNU GPL, that's not true, there are other free licenses also.

There are copyleft free licenses, and there are non-copyleft free licenses. All

of them respect your freedom. But the copyleft license go even further, and they

actively defend freedom for every user.

[RMS drinking water]

(53:36.1)

So, when Torvalds re-release Linux under the GNU GPL, it became free software.

And the combination of the almost complete GNU system and the kernel Linux made

a complete free operating system. For the first time, it was possible to buy a

PC, and install a free operating system. And use it in freedom. So liberation of

Linux as free software was an important contribution for free software

community. But at the same time, the confusion started, and the people who put

Linux together with the bulk of the system got confused, they were focused so

much on Linux, they treated everything else as a minor _eron_. And they started

to call this combination a Linux system, talking _this_piece_ and ignoring most of

it. And that's not fair to us, because we started this work almost a decade

before Torvalds, we did a much bigger part of job, and we were the ones who had the goal

of doing the whole job, which is why it got done. So please give us a share of

the credit, please don't call the system Linux. Please call it GNU/Linux, so say

I'm going to set up a GNU/Linux server, I'm a GNU/Linux user, I'm going to start

a GNU/Linux user group. Please take this extra second to give us a share of the

credit.

[applause]

(55:21.2)

Now, one reason to do that is because we did this work, and you should give us

credit. But that's not really the most important thing. Credit is not the really

most important ethical issue in life. There are something much more important to

say here. And that is your freedom. You see, the name you call something, your

choice of the name doesn't directly change anything. But the name you use

determines what message you convey to other people, and that has influence on

their thought which can have an influence on their actions. So in this way, what

you say makes difference. Ever since twenty years ago, when I announced the GNU

project, the name GNU are associated with these ideas of freedom. By contrast,

the name Linux is not, because Linux is associated to Mr. Torvalds and with his

ideas, and he doesn't agree with our idea of freedom, he rejects them, he

doesn't think that we should give every user freedom, he just wants powerful

reliable software. Well, he has the rights to express his views, of course

people should be free to express his views, even if we disagree with them. But it's

not fair for him to get the benefit of the erroneous credit for our work in

order to spreed his views saying

we are wrong. That's not fair, and it's not good for your freedom either.

Because if people believe the system is Linux, they tend to follow his ideas, and that

means they don't value their own freedom, they won't join us in fighting for

freedom. And if there are few of us, we has less chance of victory, our freedom

is threatened these days. Twenty-five years ago, the only work we had to do was write

free software. Today we have powerful enemies, companies with a lot of money,

and the governments who support the purchase, like the US government and many

others. So we are going to do more than just write free software, we are pretty good at

that, we've written a lot of software. But now we also have to organize, we have

to get together to champion freedom, because our enemies are trying to make sure

that it's hard to use free software, they're trying to hold us back. And they

are trying to get the support of governments at all levels, of schools. And we

have to work, we have to make sure our governments and schools don't support

them. We have to make sure our governments and schools support freedom.

[applause]

(58:51.1)

So freedom is frequently threatened. And to keep it, we have to defend it. But

in order to defend our freedom, we have to value our freedom. And in order to

value our freedom, we have to know what it is. In our community, I'm sad to say

most of the uses have never even heard the idea. As we trying to bring people's

attention, these ideas and social solidarity that go with free software, we have

to overcome two big obstacles. One is the users of the GNU system mostly don't

know it's the GNU

system, they think it's Linux and that was started by Mr Torvalds in 1991, and they don't

think it has anything to do freedom. So we write these articles talking about

freedom, and when they see the articles they say, "Oh, that has nothing to do

with me, because that's about GNU, and I'm a Linux user, why should I care about

GNU. Now how ironic this is, if only they knew the system they call Linux if

mainly a GNU system. And that's the result of work, and we did it because we

care about our freedom, they might pay more attention, they might listen what we

were saying, and we might convince them to demand freedom for themselves. And

then they would be _join_ together_ with us to champion for freedom, and then we might

win. We need their help, and that means we need you to inform other people that this is

a GNU system, and it gives people freedom.

[applause]

( 1:00:52.6)

But the other obstacle is most of the users have never heard the term free

software, most of them hear and use a different term which stands for different

philosophy, different ideas entirely. And that term is "open source". Now I am

sure you'll be aware that I have not mention that term until this moment.

Because I support "free software" "自由软件", I don't support open source.

Because there are different ideas. What's the difference? Well, during the 1990s

as the GNU/Linux operating system gains popularity, the community had two

different camps, two different views, two different philosophies. There are

those of us who want freedom, say this software is good because it respects our

freedom. And when we say good, we mean good vs. evil. And there were the other camp

who says this software is good because it's reliable and efficient and powerful

and flexible and cheep, and when they say good, they mean good quality. And they

were looking at practical convenience values, and we were looking at ethical values.

Total different philosophies with different basic values _they_rest on. In

1998, the other camp chose the name "open source". So that's the big difference

between free software and "open source".

( 1:02:47.6)

The free software movement says, "We want freedom, we want social fidelity". The

"open source" camp says, "We want powerful reliable software". We say, "If a

program doesn't respect your freedom, that's wrong". They say, "If a program

does let you participate in the development, we were surprised if it was a good

job." They won't criticize anything on ethical level. The most they'll say is

they think that certain development model will lead to more powerful reliable

software. Well, may be they're right. If that's right, it's a nice bonus. If

freedom also gives us powerful and reliable, that's nice. I prefer powerful and

reliable software. But that's not the most important thing, there is something

more important than that, namely are freedom. So if you give me a choose between

in less powerful less reliable program that respects my freedom, and an totally

convenient proprietary program. I'm going to choose the free program. Because my

freedom is not negotiable.

[applause]

( 1:04:16.8)

Of course, what I really like to have is a program gives both advantages

together. I would like a powerful, reliable, convenient free software package.

And how are we going get that? If we start from the proprietary program, let's

propose the proprietary is already powerful, reliable and convenient, how are we

going to make it free? We can't. There is nothing we can do to make it free,

unless we would collect millions of dollars buy it from the company which I'm

sure we couldn't do. We can't make it free, There is nothing we do to make that

program free. But suppose we start from a free program which is not powerful,

reliable and convenient, all we need to do is technical work to make it

powerful, reliable and convenient, and we'll have everything we want. So the

result is this powerful, reliable proprietary program is a trap, if we make a

mistake of using that, we'll never get what we want the most, but if we start

with the free program, such as it is. And we put our work to make it better,

we'll get what we really want most. It's a matter of long-term thinking vs.

short-term thinking. And you'll find most of the time people who use proprietary

software is because of short-term thinking.

( 1:05:58.8)

Our society is full of messages from proprietary software developers that

encourage short-term thinking. They ask about where you want to go today and not

how you want to live in five years, ten years and twenty years.

[applause]

[RMS drinking]

( 1:06:25.1)

So these days we have to do more than just develop software. Because there are

enemies who are trying to ban free software for certain jobs. And they started

in US, but they are trying to do it in the whole world. For instance, one thing

you might want to with your computer is play a DVD. Well, DVDs have the video

encrypted and that format was originally secret. The reason they made it secret

was so they can design the DVD player to restrict you. And people figured out

the secret. And they released free software which decrypt the video from the

DVD. So then the video company, they got a lot of money, and they went to

congress, they pay the legislator to pass a law censoring that software, the US

practice of censorship of software, and censorship is of course discussing. So

we have to fight against a worldwide campaign to impose those laws on countries

around the world. And meanwhile they have developed another secret encryption

formats with the same purpose. They are trying to impose restrictions on how we

use our own copies of congruous works. And they are doing through proprietary

software that implements the restrictions. And because our communities are full

of clever people who could write free software to do the same job. The next

thing is they make it illegal. So we need to organize to fight this.

( 1:08:52.6)

Another thing that threaten our freedom to write free software is patent law. In

countries that allow software ideas to be patented. Any software developer is in

danger of being sued. Because when you write a program, you combine thousands of

different ideas together. Well if your country has a law that allow software

ideas to be patented, that means out of the thousands of ideas you combined, may

be hundreds of them are patented, which means hundreds of lawsuits. If you like

the idea that when you write a large program, you face a potential of hundreds of

lawsuits. Then you should support software patents. But if you don't like that

idea, then you should say that your country should not have software patents.

It's a foolish policy. It's only good for the mega corporations.

( 1:10:00.2)

You see, in many field a mega corporation typically own half of the patents. And

they cross-license each other. And they can force other companies to

cross-license with them. And the result is the mega corporations escape from

most of the problem. They've escape most of the harm done by the patents, and

that harm falls on anybody else who trying to get in the field. But in software

we can combine more different ideas into one product than any other field. The

reason is software is fundamentally easier than physical engineering because

it's just math. So whereas other people, if they want to put an additional idea

into a product, they may have to do a lot of testing, a lot of research and so

on. We just have to write the code.

( 1:11:01.5)

So given a easier field we can combine more ideas into one program, than

somebody else could put one chemical process, or one circuit, or one phiscal

structure. And as a result, patents cause a bigger problem in our field than the

any other fields. So we need to make sure that software development is not

obstructed by prohibitions. That's what we mainly need. As long as they don't

prohibit us from writing free software, we'll. But these days we have to

organize to make sure they don't prohibit it. In addition, we have to convince

social institutions to stop promoting proprietary software. For instance, we

need to convince our governments to move to free software. Government agencies

must use exclusive free software, because a government agency does its computing

for the public, it's not doing computing for its own pleasure. You know you

could do computing for your own pleasure, you don't have to justify it to anyone

else, but when a government agency does computing, that's being done for the

public. Therefore the government agency has a responsibility to do it right for

the public, so every government agency must maintain _solvering_ control over the

computing it does. If you use a proprietary program, and therefore you lose your

control of you computing, that's unfortunate for you. But if a government agency

uses a proprietary program and loses its computing, that's worse than

unfortunate, that's a failure to carry out its duty as part of the state. So all

government agency must move to free software. They must maintain control of

their computing, so they can assure it's been done right.

( 1:13:32.2)

But even more important, the schools must move to free software. Every school

must teach exclusively free software, and there are four reasons for this. The

most superficial reason is to save money. Schools don't have enough money. In

any country, the schools are limited by lack of money, so they must not waste

some of the limited money paying for permission to run proprietary software. Now

this motivation is obvious, even to people who don't understand free software,

even if they think it's "免费", they'll still understand this reason. Even

though they really don't know what there are talking about. But this is

superficial reason, and there are some proprietary software developers have a

habit of eliminating this reason by donating gratis copies of their non-free

software to schools. And why they are do that? They are trying to turn the

schools into instruments of subjugation. They want the schools to make society

depend on that developers products. Here is how it works. They provide these

gratis copies to the school, the school teaches the students to use them, and

the students become depended on these companies product. And then, they graduate

with the dependence, and after they graduated, this developer does not offer

them gratis copies, and they go to work for companies, the developer does not

offer this companies gratis copies. So in a fact, the school imposing the direct

students on the path of dependence, and then they impose with them the rest of

the society, imposing dependence on all of the society. And the developer hopes

the society will never escape from the dependence. It's just like what the

tobacco company used to, when handed out gratis packages of cigarettes.

[applause]

( 1:16:11.3)

The first dose is gratis, once you were depended, then you have to pay. Now I'm

sure the schools would refuse to hand out addictive drugs, even if the school

didn't have to pay for them. And in the same way, the school should refuse to

teach non-free software, because the school has a social mission. The mission of

the schools is to educate the next generation as good citizens of a strong,

capable, independent, cooperating and free society. And in computing, this means

teaching them to use free software.

( 1:17:03.4)

But there is a deeper reason. And that is for the education of the best

programmers. You see, some people are natural-born programmers, at the age of

ten to thirteen, they become fascinating with computers, and they want to learn

all about the computer and software. How does it do this? But when a student ask a

teacher, "How does the program do this?", if it is proprietary, the teacher can

only say, "I'm sorry, it's a secret, and we can find out". So education can't

begin. Proprietary software is the enemy of the spirit of education, and it

should not be tolerated in a school.

( 1:18:12.0)

But if a program is free, the teacher can explain as much as he knows, and then

say, "Here is the source code of the program, read it and you'll understand

everything". And our kid will read it all, because he is fascinating and yearn

to understand it, and the teacher can say, "If you come across any point, you

can't figure out, show it to me, and we'll figure it together". And in this way,

our natural-born programmers have an opportunities to learn something very

important, that is not clear, don't write it that way. You see, for a

natural-born programmer, how to program is obvious, how to program is different.

The way you learn good clear code, is by reading a lots of code and writing a

lots of code, only free software gives you the chance to read a lots of code

from really program people really use. In that way, you'll see what's clear and

what's not clear. And you can learn what good code is.

[applause]

( 1:19:28.2)

Furthermore, to write code for a large program, you have to start small. But

that doesn't mean small program. Because in a small program, you don't even see

the beginning of difficulties of a large program. So you have to start by

writing small changes in a existing large program. Only free software gives you

the chance to do that. To write a small change to improve an existing large

program. This is how I learned, I went to work at a lab where we have a free

software operating system, my job was to make it better, and my job was a system

hacker, it means somebody who works on a system. So I would read these various

programs and make a change to make it better, either fixing a bug or adding a

new feature. And then I would debug until people were happy, and then I would do

another change on another program, And I did it hundreds of times, and

eventually I learned to do it well. Today any school can offer the same

opportunity, but only if it is a free software school.

( 1:20:46.4)

But there is a even deeper reason for education in citizen ship, every school

must teach not just facts, not just skills, but above all how to be a good

citizen, how to help your neighbor, and that habit of helping your neighbor.

[applause]

( 1:21:12.2)

So every class must have this rule, "Students, if you bring software to class,

you can't keep it to yourself, you must share it with the rest of the students

and the teacher. Because a class is a place where we share our knowledge and

useful information. So if you bring some, you got to share it, and you got to

show the source code, so that people can learn how it works." But the school has

to set a good example, because people follow the example of the teacher, they

do more than listen to the words, so the teacher also must share software and

show the source code. The school must bring only free software to class. So how

is that going to happened? You are going to have to campaign for this to

happened.

( 1:22:20.8)

The biggest obstacle is social _inner_. So social _inner_ means society tends

to going to same direction it's already going. There are so many institutions

that use Windows and they don't want to change. And they keep pressure other

people to use Windows. Schools are teaching people Windows. Banks tell their

customers you have to use Windows. And in all around, you can find example of

this, so society is going down the path of dependence, it is subject to digital

colonization, this is a colonial system in which companies that develop

proprietary gain power over more users. So how do we reverse this? We have to

get together and say, "Escape from their power, don't be colonized". We have to

convince the institutions that surround us to support a society which is not a

_colonity_ of society. And how to do that is up to you.

( 1:24:38.5)

So I like to mention a couple of websites. For more information about the GNU

system and the free software movement and its philosophy, look at gnu.org.

For information about the free software foundation, look at fsf.org. In fsf.org

you can buy something, you can donate, you can find resources, our free software

directory lists 16000 useful free softwares, and you can find lists of hardware

that works well with free software. One of the problem we face today is that

there are many devices that require non-free software in order to function at

all. And the manufacture would tell us the specifications, and that stop us from

writing the free software that we need.

( 1:25:57.7)

And you can also look at the zeuux.org, which is the organization that put on

this event, and is the main Chinese organization for free software. So I'm going

to introduce to my another identity.

( 1:26:32.4)

[RMS putting on the dresses]

[la

I'm a saint of a _GNUers_ of the church of Emacs, I bless your computer, my

child. Emacs started out as a text editor, which became a way of life for many

users. Because it was an extensible text editor, and still is, and it was

extended so much that they could do all of their computing without leaving Emacs.

And then it became a church which belongs to GNU group.

which you might be amused to visit it.

Today in the church of Emacs, we have

So thank you.

( 1:30:27.9)


反馈

创建 by -- ZoomQuiet [2009-10-26 14:56:28]

Name Password4deL ;) :( X-( B-)
B-) ZoomQuiet   FW 冯喜刚 的说明:
- 其中大约有十几处,我听的不是很清楚,需要高耳协助。
- 这些词,我都用下划线(_)标记开始和结束.
2009-10-30 13:07:47

PageCommentData