by LiangShuJiao


如果一个软件不是自由软件,那么它只是一款,非免费软件,以用户为目标的软件。 非免费软件分离了用户,让用户觉得无助。分离了用户,因为它禁止用户共享软件;说它让用户觉得无助,是因为用户没有源代码,就不能改变软件, 他们甚至不知道这个软件究竟会对他们做些什么。而且非免费软件通常都有恶意特征,他们有监视用户的恶意特征,有限制用户的恶意特征,以及 以及像后门程序一样的恶意特征,它都可以攻击用户。

如果一个软件可以给你以上4种自由,那么它就是一款自由软件。它意味着分发和使用这个软件的社会体系是一个道德体系。它尊重了用户的自由以及社会地位。 如果某个软件缺失了以上4个自由的任何一个,那么它就是一款专利软件。它将不道德的社会体系强加于用户。

那么你很可能会陷入道德困境。如果你的朋友对你说“这款软件很不错,我也能使用它吗?”这时你陷入了一个道德困境,你面临了一个必须 在2个罪恶之间选择的难题。

第一个罪恶,你拷贝了一份你的软件给你的朋友,这样你就违反了这个软件的许可协议;

第二个罪恶,你拒绝给你的朋友一份拷贝,而遵守了许可协议。如果你陷入这样的困境,你会选择选择较轻的罪恶,那就是给你的朋友一份拷贝,这样就违反了该软件的许可协议。

是什么使得“较轻的罪恶”产生的呢?如果你无可避免的要危害到某人,或者对某人做错事,那么你不会选择你觉得值得得为他做牺牲的人。设想一下,你的朋友是一个很好的伙伴,是你的团体中很好的成员,但是软件开发者却在做着分离你们这个团体的事情。很自然的, 你会选择对开发者做坏事。

但是选择一个“较轻的罪恶”,不意味你做了一件好事。制定了一个协议,再破坏它,不是一件争取的事。但我们的协议从一开始就是“罪恶的”。遵守这个协议比打破这个协议,更加糟糕。如果你给你的朋友一份软件,你的朋友得到的是什么呢?一份没有授权的专利软件,这和拥有一个盗版软件一样糟糕。

07:25
  • 只有当你完全了解了这种困境,你才能完全避免自己陷入这种困境。怎么避免呢?我知道2个办法:一,不要有任何朋友;二,不要用这样的收费软件。这也是我自己的方法。
  • 如果有人拿了一个这样的软件给我,我不能和你们共享,那么我会跟他说“我的意识告诉我,我不会用这样的软件,请把它拿走。”
  • 我拒绝使用缺少了“自由2”的软件,你们也应该这样做。我还对一些开发者经常说的词汇很抗拒,例如“pirate”.当他们将一份软件的拷贝称作“pirate”(盗版的意思)的时候,

    也就是说帮助你的邻居是一件坏事,在道德上来说,这种行为无异于攻击一条船一样糟糕。但我不这么认为,帮助你的邻居是好事,而攻击船只是坏事。所以,我很抗拒叫这些软件“pirate”。当有人问好对于“piracy”这个词是怎么看的时候,我会跟他说“攻击一只船是不对的行为”。

    换句话说,我不会掉进他们的陷阱中。我拒绝将帮助你的邻居和piracy画上等号。当有人问我对于音乐盗版和软件盗版怎么看的时候,我会说“据我了解,真正的盗版软件不会通过

    运行你的程序来攻击你,尽管这样或许可以实现。但据我所知,他们使用了武器。所以,真正意义上的盗版软件不是音乐盗版或者软件盗版”。所以,千万不要陷入他们的文字陷阱中。

    所以,这也是“自由2”存在的意义--有帮助你的邻居的自由,可以注册你想使用的软件的自由。

    而对于“自由0”--按照你自己的意愿来运行软件的自由,也非常的重要,因为你可以控制自己的computing(运算)。有些专利软件,它的许可协议即使对于拥有授权的用户也做限制。

    很显然,这种情况下你根本无法控制你的运算。有一个帮助你发布网站的软件,它在许可协力中明确限制了用户发布任何批评开发者的言论。这种限制多么的疯狂啊!但是许可协议根本就不 应该限制你的使用。这就是“自由0”为什么这么重要。但仅满足自由0还不够,它只是给了你选择可不可以运行程序的自由,但是程序的代码早都设定好了如何运行这个程序。

    在业内鼎鼎有名的软件商中,我们发现了这样的软件,完全具备了以上3个恶意特征。你们可能听过这个软件,叫做Microsoft Windows。人们在Windows系统发现了监视程序,

    很显然它限制用户来修改它的系统文件,而其Windows中有后门程序,它可以不经过使用者的允许而公然修改你的文件。如果你笨到让Mircosoft Windows控制你的电脑的话,

    你以为你拥有一份Windows操作系统,但实际上是Microsoft拥有了你的电脑。任何在Windows上还没有的恶意特征,Microsoft早晚会强行加在你电脑上的。

    Microsoft不是唯一一家这样做的软件公司,还有一个典型的恶意软件,叫做amazon swindon,这款软件完全具备了以上3个恶意特征。他们自己叫kindon,我们叫它swindon。

    但当他们自己叫kindon的时候,也反映出这款软件的设计初衷就是要烧掉你的书,kindon的意思是“点火”。所以,它是一款可以烧掉你的书的软件。

    这个软件监视用户,因为你在网上可以买书的地方是amazon,而在amazon买书需要身份识别,因此amazon知道你买了些什么书。没有人应该知道这些。

    它还有数字限制管理,这是一个限制你使用你买的书。阻止用户借书给你的朋友,它没有提供与朋友共享书籍的功能,swindon不希望用户借书给他们的朋友,或者在公共环境中

    共享自己的书籍。而且,这个软件还有后门。我们也是在几个月前才发现这个后门的。amazon使用这个后门远程删除了某本书的所以拷贝,这本书叫做《1984》,作者是。。。

    这是一本很重要的书,大家都应该读一下。这样,以前拥有这本书的用户某天突然发现,他们不再拥有这本书了。amazon只是发了一个命令,所有的swindon就把所有的《1984》都删掉了。这表明了使用一款收费的软件是多么的危险,因为你无法知晓它会对你做出什么事。当然,不是所有的收费软件都有恶意特征,有些有,有些没有。但是你如果没有软件的源代码的话,你永远也不知道这款软件到底有没有恶意特征,这也是我们所说的“自由1”。我们成为开发者的牺牲品。

    有些开发者会滥用自己的权利,当然也有些开发者不会滥用权利。但问题是我们不知道他们会不会滥用权利,而实际上他们根本就不应该拥有这个权利。没有人应该有这个权利。

    17:15
    • 我们可以把没有自由1的所有软件分为2类:一类是我们知道有恶意特征的软件;另一类是我们认为没有恶意特征的软件。但问题是,我们不知道怎么识别这2类软件。 即使这样,我可以总结这些没有自由1的软件,是因为软件的开发者是人,人一定会犯错误,他们代码会有bug。而用户面对随时都有可能崩溃的bug的软件和面对具有恶意特征的软件一样的无助。如果你在使用一款没有“自由1”的软件,你会沦为这款软件的囚徒。

    我们这些自由软件的开发者也是人,也会犯错误,我们的软件也有bug。但是如果你使用自由软件的过程中遇到了bug,你可以通过修改代码来修复这个bug,你完全有修改代码的自由, 我们不会让你沦为软件的囚徒。

    因为就一般用户而言,很多人根本不懂如何编程,他们不会修改程序的代码,他们无法使用自由1。而且,就算我作为一个自由软件的开发者,“自由1”也还是不够,因为世界上有太多太的软件,我们不可能学习所有软件的代码,对所有的软件进行修改,实际上这不是一个人就可以完成的事情。

    的团体做贡献的自由,这是指可以将自己修改的软件,贡献给同一社区的人的自由。 这样的话,大家都希望该软件所做的修改只需由一个人来完成就好了,然后将他修改后的版本发布出去,我们所有人都可以使用这个版本了。我们不需要每个人都一遍一遍的重复修改。

    继续做修改,然后发布出去,大家又有了新的版本的软件了。这就是自由3,大家可以协同合作,可以发布和分享大家的成果。因此,自由3也很重要。

    对你来说,找一个程序员帮你实现这样的改变是一件值得的投资。假设你不懂得编码,你可以找一个程序员,他可以帮你修改程序的代码,让这个软件更好得为你服务。

    他实现了自己的“自由1”。你付钱给这个程序员,他做好了修改,把他修改好的程序给你一份,这样他为你实现了他自己的“自由3”。这是我讲的一个非常普通的自由软件的商业案例。 这样的例子,在专利软件中是不可能的。只有开发者才有程序的代码,你想要修改这个程序,只有祈求开发者或者向开发者祈祷“亲爱的开发者,请为我修改一下这个程序吧”。

    你的要求,我们又把那些新的问题带给了你”。

    (掌声)

    但是有了自由软件,任何人都可以进入这个市场,任何有能力为用户修改软件的人都可以提供服务,这是一个自由的市场。因此,所有使用软件的组织希望得到技术支持,他们应该 坚持使用自由软件,这样的话他们可以从自由市场中得到服务,他们可以花更少的钱得到更好的服务。这样,所有的用户都可以享受自由0和自由2,因为即使你不懂编程,你还是可以

    自由的运行你的软件,并且可以将软件共享给你的朋友。自由1和自由3,需要有编程的能力作为基础,因此不是每个人都可以直接的享用这2项自由。但是,懂得编程的人或者程序员,

    可以通过共享自己的成果来让每个人都受益,每个人都享受到自由软件的好处。这样的话,我们都活在一个自由的社会,用户拥有这4种自由。 将这4个自由的结果结合起来,就是“民主”。一款自由软件应该在民主的气氛下开发,给用户完全的控制权,因为每个用户都可以参与软件的开发,按照自己的意愿来设计软件。 社会对于一款软件的未来所做的决定,实际上是每个用户的决定的综合,来决定他们究竟希望这个软件可以为他们做些什么。因此,一方面我们有个人的自由、社会团结和民主; 另一方面,我们有独裁。开发者通过软件拥有了凌驾于用户的权利,来控制用户。这个社会变成了一个给开发者提供这种权利的工具,有了这种权利开发者会滥用这样的权利。 因此,我们的社会应该选择自由软件,摒弃专利软件。所以,自由软件运动的目标是解放信息世界。

    28:18
    • 我在1983年做过一个结论:“软件应该是自由的,我希望我在使用软件的时候可以处于一个自由的环境”。为什么我会得出一个这样的结论呢?这个结论不是天才的灵光一现,而是我多年的经验之谈。
  • 我在70年代参加了一个自由软件社区(组织),这个组织的一部分有点儿像MIT,也是我工作的地方。我工作的实验室使用的全部都是自由软件,我们甚至有自己的操作系统。这些软件大部分是由我们实验室研发的。当时他们雇佣我,是希望我可以优化这个操作系统。我们实验室中使用的软件有一些是由其他机构开发的,我们也会把我们的软件共享给其他组织。我们使用其他组织或者
  • 人开发的软件时,会相应做些修改,然后大家再互相分享。我经历过共享知识的生活,我觉得这种生活很好。

    通常这个打印机卡纸要很久之后才会被发现,比如有人打印了一些东西,不会马上到打印机那里,可能一个小时后才发现打印机卡纸了。打印机修好后,别人再打印,可能又一个小时之后 才发现。这样非常的浪费时间,使用的感觉很糟糕。但我知道如何修复这个问题,因为我曾经修好过上一个打印机。我只需写一些代码,然后修改打印机的软件,就可以修复卡纸的问题。

    这样我们就可以马上修好打印机。但是,我在进行操作的时候被禁止了。以前那台打印机,我就是通过添加这2个功能的方法,改善了打印机,但这台新打印机却不允许我这样做。 因为以前的打印机是由自由软件控制的,而新的打印机由专利软件控制。现在我不能修改打印机软件了,我将和实验室里的所有人一起忍住这台有缺陷的打印机。后来,我得知 康涅狄洛大学的一个人有Xerox打印机的软件源代码,于是我找到了他的办公室。“Hi,我来自MIT,你能不能把Xerox打印机的源代码给我?”我得到的回答是“不行,我承诺过不能将源代码泄露给别人。”

    我当时很震惊,非常震惊。

    在座的各位大部分当时还没有出生,所以不包括在内,你们没有被他辜负,但当时已经出生的人,都被他辜负了。

    结论是这个前景是丑陋的,这种生活方式很可怕。我对它说“不”,我拒绝过那样的生活。我将自己贡献于赢取自由,创建一个新的自由软件共享社区。

    所以,为了有一个自由软件社区,为了自由地使用我们的电脑,第一件是就是有一个自由软件的操作系统,因为没有操作系统电脑根本无法运行。

    因此,我不仅是自由软件开发者,我也是一个操作系统开发者。我正是那个适合开创一个开发操作系统工程的人选,我也决定做这件事情。这个工程一定要做,

    我有所需的技能,似乎如果我不做这件事就没有别人可以做了。因此,我被当时的环境所选择,我认为我有责任做这件事。这就像你看到一个人溺水,而你会游泳,

    旁边没有其他人,此时你有道德责任去救这个人。可能我的比喻过激了,但这个例子对我来说不重要,因为我不会游泳。但这个例子,想表达的不是游泳, 而是开发一个操作系统,而我知道怎么做。因此,我决定我要开发一个自由软件操作系统。

    我决定遵照Unix的设计,这样我们就可以做一个可移动的操作系统,而且未来的5年或十年、二十年内都可以在电脑上运行。而且我还决定让这个系统兼容UNIX,使用同样的命令,这样UNIX的用户会发现这个系统很好用。

    更是将工作和兴趣以及智慧结合起来的乐趣,而这正是一个骇客的全部。这种将工作、兴趣以及才智结合起来的事情,不仅仅存在于程序领域,实际上生活中的很多领域 都可以做到。不过,电脑确实很适合将他们结合在一起,它给了我们很多机会。 在70年代,系统级别的编程通常不是可移动的。每个程序都是为某种电脑特别编写的,它只能在那种电脑上运行。所以,当你想用某个程序却发现你不能运行它是很常发生 的事,因为这个程序是为某个其他电脑编写的。唯一的解决方法是再写一个程序,这样你就可以写一个程序运行在自己的电脑上。因此,每个人都要这样做。

    证明的方式。比如说,有很多非常相似的Tego文本编辑器,有个人写了一个这样的程序命名为“TNT”,因为TNT不是Tego。这是第一个循环命名。后来,我写了一个Emacs 文本编辑器,后来有了近30个模仿我的程序的文本编辑器。每个编辑器都运行在不同类型的电脑上。而且,他们都叫做“Emacs-XX”,这种命名真的没啥意思。但也有Fine, 因为Fine不是Emacs,还有Sine,因为Sine不是Emacs;甚至Eine,因为Eine不是Emacs。还有交Mince的,因为Mince是“Mince Is Not Complete Emacs” 的缩写,表明它和Emacs不同,而Eine的第二个版本叫做Zwei,因为Zwei在德语里是“二”的意思。 所以,我们可以在循环命名中得到很多的乐趣。

    当我们用GNU做系统的名字时,没有遵照字典的释义。因为,如果你把它作为一个新生操作系统的名字,大家都会觉得很困惑。我们到现在已经为它工作了25年, 使用这个系统也有17年了,它不再新了,但它还是GNU。而且永远是GNU,尽管有人讽刺地叫它Linux。

    这个困惑始于1991-92. 在80年代,我们的任务是为一个类似Unix系统的软件开发上百个组件,到了90年代,我们几乎都有这些组件了,但最关键的一个却没有,那就是内核。内核是为所有运行的程序 分配电脑资源的系统组件。所以,在90年代自由软件基金会雇佣了一些人来写GNU内核,于是我们决定使用高级的设计,底层部分是micro内核,在底层的上部我们开发了一些模块服务器, 这些服务器通过发送消息来通信,每个服务器都会做某项工作。因此,这是我们认为的一个高级设计,会让系统更加强大。由于种种原因,我们认为引导它会更加容易,这样我们会更快完成这个 系统。但,我们都错了。因为我们花了6年时间来让一个测试版本运行起来,但它还是不能运行地很好,所以大家不会用它的。 不过庆幸的是,我们不必等。因为在1991年,Torvalds先生,一位大学生开始写他自己的内核,而且他在不到一年的时间内让他的内核在最小的层运行。他的内核叫做Linux,而且一开始它 不是自由软件,因为一开始它的授权限制太严格了。

    (47:15.8)
    • 所以,事实上它不允许商业再分配,这就意味着很多的用户,个人用户在他们的商业活动中享受不到自由2和自由3.因此,它不是自由软件。但在1992年,Torvalds先生重新在GNU GPL下

    发布了Linux,它变成了自由软件。因为,GNU GPL是很多自由软件许可中的一个。

    (48:00.4)
    • 你可能会问什么是自由软件许可?为什么一个自由软件还需要许可呢?对现今的版权法而言,任何写的东西都自动涉及到版权。默认情况下,版权法禁止修改、复制和分销。在很多国家,甚至禁止

    运行许可保护的程序,因此默认情况下,这个程序不是自由的。所以,我们要怎么让一个程序变得自由呢?我们通过版权所有者的一份正式声明,给用户四个自由。这些正式的声明,我们叫做 自由软件许可,或者更正确的说,这样的声明是一个许可协议。如果一个许可给了你四个自由,那它就是自由软件协议。 因此,必须要恰当地编写协议。有很多自由软件许可。大概有50或60个许可, 或许还有许多其他的许可,因为任何人理论上都可以写一个自由软件许可,只要你是用正确的方法来做这件事。当然,如果你想要这样做,你应该得到律师的帮助,否则你可能会犯错。

    (49:38.7)
    • 因此,GNU公共使用权证书或者GNU GPL是一个特别的自由软件许可协议,是由我编写的,使用与我们为GNU开发的软件,GNU GPL是最通用的自由软件许可协议,大约2/3的自由软件工程都使用这个证书。而GNU GPL的特殊之处在于,它是一个“copyleft”协议。“copyleft”的意思是,一个程序的所有版本的所有副本都必须是自由的。一些自由软件许可,像2个不同BSD许可,

    他们都有很多不足。他们将程序变成了授权软件。如果我写了一个程序然后在一个不足的许可下发行了这个软件,有人可以从我这里得到一份副本,然后编译它,而只给你二进制文件,设置一个 客户端许可协议来限制你。然后,你的副本就不是自由软件了,他可以改变源代码然后编译,而只给你提供二进制文件。而要得到二进制文件的源代码几乎是不可能的,因为只有他有源代码。现在, 如果我的目标成功了,我会说这很好,更多的人会使用我的软件,但这仅仅是我的自我而已。我的目标不是让更多的人使用我的软件,而是给用户自由。

    (51:45.7)
    为了实现这个目标,我必须要确认有一个中间人,在你得到你的副本之前他不能剥夺你的自由。所以,我发明了这个技术词汇“copyleft”。copyleft是这样起作用的,GNU GPL说道“你可以

    自由地分发你的副本以及更改过的版本,但你必须确保源代码是可以获取到的,你必须永远在同一个协议下分发软件,你不能修改协议一更不能添加限制,而且你不能剥夺保护。”所以,当你将 软件分发给另一个人时,你必须尊重他的自由,就像我尊重你的自由一样。因此,自由和自由软件是同性的,代码流传到哪里,自由也走到哪里,这就是copyleft的理念。

    [掌声]

    (52:51.0)
    • 我发现有人错误地认为自由软件只是基于GNU GPL下的软件,这不是正确的,也有许多其他的自由软件许可。有copyleft自由许可,也有非-copyleft自由许可。不论是什么许可,都是尊重用户的自由的,只不过是copyleft许可想的更远,他们主动地捍卫每位

    用户的自由。

    [RMS drinking water]

    (53:36.1)
    • 所以,当Torvalds在GNU GPL下重新发布Linux时,它变成了自由软件你。GNU系统以及Linux内核的结合构成了一个完全自由的操作系统。用户第一次使用,只需买一台电脑,然后安装

    一个自由操作系统,就可以自由地使用了。因此,将Linux解放为自由软件是对自由软件团体一个重要的贡献。 但同事,困惑也开始了。将Linux与GNU系统结合在一起的人困惑了,他们在Linux 上关注过多,他们开始将这个结合称作“Linux系统”。这对我们来说是不公平的,因为在Torvalds之前我们花费了几乎10年的时间,我们所做是更加大的一部分的工作,我们是拥有将整个 工程做完的目标的人。因此,请给我们分享一下这个荣誉,请不要将这个系统叫做Linux。请叫它“GNU/Linux”,因此我计划搭建一个GNU/Linux服务器,我是一位GNU/Linux用户,我打算 创建一个GNU/Linux用户群。请各位给我们这个荣誉的一份。

    [掌声]

    (55:21.2)
    • 现在,我们这样做的一个理由是我们为这个系统付出过,大家应该给我们一份肯定。但这真的不是最重要的事。信任真的不是生活中最重要的道德问题。这里有更重要的事情要说,就是你们的自由。

    你称呼某个东西的名称,你选择称呼它的名称,并不直接改变任何事情。但你使用的名字决定了你向别人传达的信息,而这影响了他们的想法,从而会影响他们的行为。 所以,你怎么称呼它是有区别的。在20年钱,当我宣布了GNU项目时,GNU这个名字联系的是自由的想法。相反,Linux不是,因为Linux与Torvalds先生和他的想法有关。

    但他为了散播他的观点说我们是错的,并得到了我们所做的努力的用户的信任,这是不公平的,也对你们的自由不好。因为,如果大家相信这个系统是Linux,跟随他的想法,这就表明他们不重视 自己的自由,他们不会加入我们的战营为自由而抗争。加入我们的人数很也少,我们有比较小的机会取得胜利,我们的自由会受到威胁。25年前,我们需要做的只是写自由软件。今天我们有强大的 敌人,有很多钱的公司,以及支持采购的政府,像美国政府以及其他政府。所以,我们要做的比写一个自由软件多得多,我们很擅长做这个,我们已经写了很多的软件。但现在我们也必须有组织, 我们必须团结起来为自由奋战,因为我们的敌人正在确保使用自由软件变得很困难,他们在试图阻止我们。他们也在努力得到各级政府和学校的支持。我们必须努力,我们要确保我们的政府和学校 不支持我们的敌人。我们要让我们的政府和学校支持自由。

    [掌声]

    (58:51.1)
    • 自由总是收到威胁。要拥有自由,我们必须保卫它。但为了保卫我们的自由,我们必须重视我们的自由。为了重视我们的自由,我们要知道它是什么。在我们的团体里,我很难过的告诉大家,大多数

    的用户从来没有听过这个观点。我们在努力吸引大家的注意力,这些观念和社会团结与自由软件同行,我们必须要克服2个大障碍。一个是GNU系统的用户几乎不知道它是GNU系统,他们认为这是 Linux,这个障碍由Torvalds先生开启于1991年。第二个障碍是,用户不认为软件和自由有什么关系。所以,我们写了这些谈论自由的文章,当他们看到这些文章的时候会说“哦,这和我没什么关系, 因为这是关于GNU的,我是一个Linux的用户。我为什么应该关心GNU?”现在情况变得多么的讽刺。如果他们知道他们叫做Linux的系统其实是一个GNU系统。这是我们工作的结果,我们做这项工作、 是因为我们关心我们的自由。他们可能会更关注自由,会听我们说的,我们也可能说服他们来要求自己的自由。那么,他们就会加入我们的阵营为自由而战,那么我们可能会赢得胜利。我们需要他们 帮助, 这意味这我们需要你们来告诉其他人,这是一个GNU系统,它给用户自由。

    [掌声]

    ZeuuxSummitRms/LiangShuJiao (last edited 2009-12-25 07:18:09 by localhost)