RMS 在哲思峰会上的讲演--Free Software

    自由软件是尊重用户自由的软件。这是一个关于自由而不是价格的概念,请大家将“Free software”翻译成自由软件,而不是免费软件。
    如果一个软件不是自由软件,那么它只是一款,非免费软件,以用户为目标的软件。 非免费软件分离了用户,让用户觉得无助。分离了用户,因为它禁止用户共享软件;说它让用户觉得无助,是因为用户没有源代码,就不能改变软件, 他们甚至不知道这个软件究竟会对他们做些什么。而且非免费软件通常都有恶意特征,他们有监视用户的恶意特征,有限制用户的恶意特征,以及 以及像后门程序一样的恶意特征,它都可以攻击用户。
根本上来说,非免费软件给了开发者超越用户的权利,但实际上没有人应该有这种权利,软件并须是自由的。
但目前为止,我对于“自由软件”的定义都太宽泛了--尊重用户自由的软件。这到底是什么意思?
    有4个重要的自由,我们使用软件的用户应该得到的自由。
     自由0--按照你的意愿来运行软件的自由;
     自由1--学习软件的源代码,并按照自己的意愿来修改软件的自由;
     自由2--有帮助你的邻居的自由,这是可以注册你想使用的软件的自由;
     而自由3--为自己的团体做贡献的自由,这是指可以将自己修改的软件,贡献给同一社区的人的自由。
    如果一个软件可以给你以上4种自由,那么它就是一款自由软件。它意味着分发和使用这个软件的社会体系是一个道德体系。它尊重了用户的自由以及社会地位。 如果某个软件缺失了以上4个自由的任何一个,那么它就是一款专利软件。它将不道德的社会体系强加于用户。我要先解释一下,一个软件是自由的还是专利的,不是一个有关代码的技术细节问题,而是用户如何得到代码的问题以及他们在什么情况下可以使用这些代码。所以,开发一款自由软件是对社会做贡献,或多或少取决于细节。但是,开发一款非免费软件,不是对社会做贡献,而是powerpragm.使用非免费软件是一个社会问题。因此,自由软件运动的目的是让所有的软件都自由,这样所有的用户才能得到自由。但为什么自由软件需要具备以上4个自由,为什么自由软件要基于以上4个自由。每个自由都有原因的。
    自由2--有帮助你的邻居的自由,这是可以注册你想使用的软件的自由,是一个重要的、基本的道德基础。如果你使用的软件缺少了“自由2”,
那么你很可能会陷入道德困境。如果你的朋友对你说“这款软件很不错,我也能使用它吗?”这时你陷入了一个道德困境,你面临了一个必须 在2个罪恶之间选择的难题。
    第一个罪恶,你拷贝了一份你的软件给你的朋友,这样你就违反了这个软件的许可协议;
    第二个罪恶,你拒绝给你的朋友一份拷贝,而遵守了许可协议。如果你陷入这样的困境,你会选择选择较轻的罪恶,那就是给你的朋友一份拷贝,这样就违反了该软件的许可协议。
    是什么使得“较轻的罪恶”产生的呢?如果你无可避免的要危害到某人,或者对某人做错事,那么你不会选择你觉得值得得为他做牺牲的人。设想一下,你的朋友是一个很好的伙伴,是你的团体中很好的成员,但是软件开发者却在做着分离你们这个团体的事情。很自然的, 你会选择对开发者做坏事。
    但是选择一个“较轻的罪恶”,不意味你做了一件好事。制定了一个协议,再破坏它,不是一件争取的事。但我们的协议从一开始就是“罪恶的”。遵守这个协议比打破这个协议,更加糟糕。如果你给你的朋友一份软件,你的朋友得到的是什么呢?一份没有授权的专利软件,这和拥有一个盗版软件一样糟糕。只有当你完全了解了这种困境,你才能完全避免自己陷入这种困境。怎么避免呢?我知道2个办法:一,不要有任何朋友;二,不要用这样的收费软件。这也是我自己的方法。
    如果有人拿了一个这样的软件给我,我不能和你们共享,那么我会跟他说“我的意识告诉我,我不会用这样的软件,请把它拿走。”
我拒绝使用缺少了“自由2”的软件,你们也应该这样做。我还对一些开发者经常说的词汇很抗拒,例如“pirate”.当他们将一份软件的拷贝称作“pirate”(盗版的意思)的时候,也就是说帮助你的邻居是一件坏事,在道德上来说,这种行为无异于攻击一条船一样糟糕。但我不这么认为,帮助你的邻居是好事,而攻击船只是坏事。所以,我很抗拒叫这些软件“pirate”。当有人问好对于“piracy”这个词是怎么看的时候,我会跟他说“攻击一只船是不对的行为”。换句话说,我不会掉进他们的陷阱中。我拒绝将帮助你的邻居和piracy画上等号。当有人问我对于音乐盗版和软件盗版怎么看的时候,我会说“据我了解,真正的盗版软件不会通过运行你的程序来攻击你,尽管这样或许可以实现。但据我所知,他们使用了武器。所以,真正意义上的盗版软件不是音乐盗版或者软件盗版”。所以,千万不要陷入他们的文字陷阱中。所以,这也是“自由2”存在的意义--有帮助你的邻居的自由,可以注册你想使用的软件的自由。
    而对于“自由0”--按照你自己的意愿来运行软件的自由,也非常的重要,因为你可以控制自己的computing(运算)。有些专利软件,它的许可协议即使对于拥有授权的用户也做限制。
    很显然,这种情况下你根本无法控制你的运算。有一个帮助你发布网站的软件,它在许可协力中明确限制了用户发布任何批评开发者的言论。这种限制多么的疯狂啊!但是许可协议根本就不 应该限制你的使用。这就是“自由0”为什么这么重要。但仅满足自由0还不够,它只是给了你选择可不可以运行程序的自由,但是程序的代码早都设定好了如何运行这个程序。
    所以,开发者还是在控制着你的程序,虽然不是通过许可协议来控制,但是通过程序的代码来控制你。因此,一款自由软件还需要实现“自由1”--学习软件的源代码,并按照自己的意愿来修改软件的自由。这样你就可以决定你的程序,而不是让开发者来为你来决定。
    如果你没有自由1,你甚至都不知道这款软件会对你做些什么。我提过的,它可能会含有一些恶意特征,例如监视用户,限制用户,设置后门来攻击用户的电脑。
    在业内鼎鼎有名的软件商中,我们发现了这样的软件,完全具备了以上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”。我们成为开发者的牺牲品。有些开发者会滥用自己的权利,当然也有些开发者不会滥用权利。但问题是我们不知道他们会不会滥用权利,而实际上他们根本就不应该拥有这个权利。没有人应该有这个权利。
    我们可以把没有自由1的所有软件分为2类:一类是我们知道有恶意特征的软件;另一类是我们认为没有恶意特征的软件。但问题是,我们不知道怎么识别这2类软件。 即使这样,我可以总结这些没有自由1的软件,是因为软件的开发者是人,人一定会犯错误,他们代码会有bug。而用户面对随时都有可能崩溃的bug的软件和面对具有恶意特征的软件一样的无助。如果你在使用一款没有“自由1”的软件,你会沦为这款软件的囚徒。
我们这些自由软件的开发者也是人,也会犯错误,我们的软件也有bug。但是如果你使用自由软件的过程中遇到了bug,你可以通过修改代码来修复这个bug,你完全有修改代码的自由, 我们不会让你沦为软件的囚徒。
    因此,“自由1”是非常重要的。但仅仅有自由1,还是远远不够的。因为就一般用户而言,很多人根本不懂如何编程,他们不会修改程序的代码,他们无法使用自由1。而且,就算我作为一个自由软件的开发者,“自由1”也还是不够,因为世界上有太多太的软件,我们不可能学习所有软件的代码,对所有的软件进行修改,实际上这不是一个人就可以完成的事情。
    我们需要一起工作,我们需要合作。这也就是为什么我们还需要“自由3”--为自己的团体做贡献的自由,这是指可以将自己修改的软件,贡献给同一社区的人的自由。 这样的话,大家都希望该软件所做的修改只需由一个人来完成就好了,然后将他修改后的版本发布出去,我们所有人都可以使用这个版本了。我们不需要每个人都一遍一遍的重复修改。设想如果一个人发布了一款不错的软件,大家觉得不错但希望能做点儿小的修改。只要有一个人开始研究这个软件的代码,然后做些修改实现大家的期望,然后再有个人从这个版本开始,继续做修改,然后发布出去,大家又有了新的版本的软件了。这就是自由3,大家可以协同合作,可以发布和分享大家的成果。因此,自由3也很重要。
    但是只有懂得代码和编程的程序员才能直接享受“自由3”,普通的用户无法直接使用这样的自由,但是他们还是可以间接地享受到自由1和自由3给他们带来的好处,他们可以利用自由软件的优势来为自己谋福利。比如说,你是一个商人,你使用一款软件来运营你的生意。如果你的软件可以有一些不同,例如让你的生意运行的更加顺利,更加高效,能帮你赚更多的钱。那么,对你来说,找一个程序员帮你实现这样的改变是一件值得的投资。假设你不懂得编码,你可以找一个程序员,他可以帮你修改程序的代码,让这个软件更好得为你服务。
    你和程序员之间达成了协议,你给了他满意的价格,而他按照你的意愿修改代码。在这个过程汇中,你给了程序员软件的一份拷贝,实现了你的“自由2”;而这个程序员帮助你研究程序的源代码,他实现了自己的“自由1”。你付钱给这个程序员,他做好了修改,把他修改好的程序给你一份,这样他为你实现了他自己的“自由3”。这是我讲的一个非常普通的自由软件的商业案例。 这样的例子,在专利软件中是不可能的。只有开发者才有程序的代码,你想要修改这个程序,只有祈求开发者或者向开发者祈祷“亲爱的开发者,请为我修改一下这个程序吧”。
    一些开发者会回答你“嘿,我们在聆听你的问题”;如果你为此付费了,开发者会告诉你“谢谢!我们开发了更新程序,6个月后你会得到更新程序。到时你就可以知道我们是否修改了你的要求,我们又把那些新的问题带给了你”。
    但是有了自由软件,任何人都可以进入这个市场,任何有能力为用户修改软件的人都可以提供服务,这是一个自由的市场。因此,所有使用软件的组织希望得到技术支持,他们应该 坚持使用自由软件,这样的话他们可以从自由市场中得到服务,他们可以花更少的钱得到更好的服务。这样,所有的用户都可以享受自由0和自由2,因为即使你不懂编程,你还是可以自由的运行你的软件,并且可以将软件共享给你的朋友。自由1和自由3,需要有编程的能力作为基础,因此不是每个人都可以直接的享用这2项自由。但是,懂得编程的人或者程序员,可以通过共享自己的成果来让每个人都受益,每个人都享受到自由软件的好处。这样的话,我们都活在一个自由的社会,用户拥有这4种自由。 将这4个自由的结果结合起来,就是“民主”。一款自由软件应该在民主的气氛下开发,给用户完全的控制权,因为每个用户都可以参与软件的开发,按照自己的意愿来设计软件。 社会对于一款软件的未来所做的决定,实际上是每个用户的决定的综合,来决定他们究竟希望这个软件可以为他们做些什么。因此,一方面我们有个人的自由、社会团结和民主; 另一方面,我们有独裁。开发者通过软件拥有了凌驾于用户的权利,来控制用户。这个社会变成了一个给开发者提供这种权利的工具,有了这种权利开发者会滥用这样的权利。因此,我们的社会应该选择自由软件,摒弃专利软件。所以,自由软件运动的目标是解放信息世界。
    我在1983年做过一个结论:“软件应该是自由的,我希望我在使用软件的时候可以处于一个自由的环境”。为什么我会得出一个这样的结论呢?这个结论不是天才的灵光一现,而是我多年的经验之谈。我在70年代参加了一个自由软件社区(组织),这个组织的一部分有点儿像MIT,也是我工作的地方。我工作的实验室使用的全部都是自由软件,我们甚至有自己的操作系统。这些软件大部分是由我们实验室研发的。当时他们雇佣我,是希望我可以优化这个操作系统。我们实验室中使用的软件有一些是由其他机构开发的,我们也会把我们的软件共享给其他组织。我们使用其他组织或者人开发的软件时,会相应做些修改,然后大家再互相分享。我经历过共享知识的生活,我觉得这种生活很好。然后,我又经历过专利软件。施乐(Xerox)给了MIT一台激光打印机,那是世界上第一代的激光打印机。这个打印机非常容易卡纸,而且机器安装的地点离每个人的办公室都很远。通常这个打印机卡纸要很久之后才会被发现,比如有人打印了一些东西,不会马上到打印机那里,可能一个小时后才发现打印机卡纸了。打印机修好后,别人再打印,可能又一个小时之后 才发现。这样非常的浪费时间,使用的感觉很糟糕。但我知道如何修复这个问题,因为我曾经修好过上一个打印机。我只需写一些代码,然后修改打印机的软件,就可以修复卡纸的问题。
    我在软件中增加2个功能,一个是你的打印任务完成后会提示你已经打印成功,这样你就可以马上到打印机那里拿走你的打印成果;另一个是提示你打印机出现故障的提示对话框,这样我们就可以马上修好打印机。但是,我在进行操作的时候被禁止了。以前那台打印机,我就是通过添加这2个功能的方法,改善了打印机,但这台新打印机却不允许我这样做。 因为以前的打印机是由自由软件控制的,而新的打印机由专利软件控制。现在我不能修改打印机软件了,我将和实验室里的所有人一起忍住这台有缺陷的打印机。后来,我得知 康涅狄洛大学的一个人有Xerox打印机的软件源代码,于是我找到了他的办公室。“Hi,我来自MIT,你能不能把Xerox打印机的源代码给我?”我得到的回答是“不行,我承诺过不能将源代码泄露给别人。”我当时很震惊,非常震惊。他拒绝和别人合作,拒绝将代码共享。我无法压抑我的愤怒,我立即走出他的办公室。由于没有源代码,我很难猜出他到底怎么做的限制,我要怎么将我的2个功能添加进去。我想到他拒绝将代码共享给我,其实不仅仅是不给我共享,这不是针对我个人的,他不会向任何人共享他的软件,这很糟糕,他不仅是辜负了我,辜负了MIT,更是辜负了所有其他的人。这让我想到了曹操。曹操只是说过"宁可我负天下人"的言论,但这个人确是实实在在做到了辜负所有人。
    这件事加深了我对于专利软件的邪恶的认识。尤其在这个例子中,不泄漏协议是邪恶的,因为他签了这个协议,他得到了源代码,他为此付出的代价是辜负了所有的其他人,在座的各位大部分当时还没有出生,所以不包括在内,你们没有被他辜负,但当时已经出生的人,都被他辜负了。不管怎样,几年后我的社区解散了。我们为PDP10电脑编写的分时系统也过时了。此时我面临一个将余生用于开发专利软件的前景。我认真考虑过这个前景,但我最终得到的结论是这个前景是丑陋的,这种生活方式很可怕。我对它说“不”,我拒绝过那样的生活。我将自己贡献于赢取自由,创建一个新的自由软件共享社区。所以,为了有一个自由软件社区,为了自由地使用我们的电脑,第一件是就是有一个自由软件的操作系统,因为没有操作系统电脑根本无法运行。因此,我不仅是自由软件开发者,我也是一个操作系统开发者。我正是那个适合开创一个开发操作系统工程的人选,我也决定做这件事情。这个工程一定要做,我有所需的技能,似乎如果我不做这件事就没有别人可以做了。因此,我被当时的环境所选择,我认为我有责任做这件事。这就像你看到一个人溺水,而你会游泳,旁边没有其他人,此时你有道德责任去救这个人。可能我的比喻过激了,但这个例子对我来说不重要,因为我不会游泳。但这个例子,想表达的不是游泳, 而是开发一个操作系统,而我知道怎么做。因此,我决定我要开发一个自由软件操作系统。
    我发起的自由软件运动的早先阶段的反对者并不多。很多人只是嘲笑我们、无视我们。他们知道反正我们永远都开发不出来一个操作系统。他们不觉得有必要干涉我们或阻止我们。而我自己都不知道我们到底会不会成功。我所知道的是,如果我们不试一下的话,我们一定会失败。为了自由,我们也必须要这样做。所以,我就做了这样的事情,我下定决心一定要开发一款自由操作系统。我决定召集其他人加入我们,这样我们可以更快地完成这项工作。我决定遵照Unix的设计,这样我们就可以做一个可移动的操作系统,而且未来的5年或十年、二十年内都可以在电脑上运行。而且我还决定让这个系统兼容UNIX,使用同样的命令,这样UNIX的用户会发现这个系统很好用。然后,我以开玩笑的心态给这个系统命名为GNU.因为,即使我成功地做成了这件事情,可能会是我人生中最重要的事情,但我还是可以以轻松幽默的态度对待它,这也是骇客精神的一部分。
    在我们这个团体里,70年代的时候我们把自己叫做“骇客”,它的含义是我们享受编程,因为我们可以利用自己的智慧,这是一件很棒的事。编程对于我们不只是工作,更是将工作和兴趣以及智慧结合起来的乐趣,而这正是一个骇客的全部。这种将工作、兴趣以及才智结合起来的事情,不仅仅存在于程序领域,实际上生活中的很多领域 都可以做到。不过,电脑确实很适合将他们结合在一起,它给了我们很多机会。 在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在德语里是“二”的意思。 所以,我们可以在循环命名中得到很多的乐趣。
    我决定使用循环命名来为一个不同与Unix的软件,后来我想到了GNU,因为GNU包含着“GNU is not Unix”的含义。当我们用GNU做系统的名字时,没有遵照字典的释义。因为,如果你把它作为一个新生操作系统的名字,大家都会觉得很困惑。我们到现在已经为它工作了25年, 使用这个系统也有17年了,它不再新了,但它还是GNU。而且永远是GNU,尽管有人讽刺地叫它Linux。但这个错误是怎么开始的,数百万使用GNU系统的用户认为他们用的是Linux。这个困惑始于1991-92. 在80年代,我们的任务是为一个类似Unix系统的软件开发上百个组件,到了90年代,我们几乎都有这些组件了,但最关键的一个却没有,那就是内核。内核是为所有运行的程序 分配电脑资源的系统组件。所以,在90年代自由软件基金会雇佣了一些人来写GNU内核,于是我们决定使用高级的设计,底层部分是micro内核,在底层的上部我们开发了一些模块服务器, 这些服务器通过发送消息来通信,每个服务器都会做某项工作。因此,这是我们认为的一个高级设计,会让系统更加强大。由于种种原因,我们认为引导它会更加容易,这样我们会更快完成这个 系统。但,我们都错了。因为我们花了6年时间来让一个测试版本运行起来,但它还是不能运行地很好,所以大家不会用它的。 不过庆幸的是,我们不必等。因为在1991年,Torvalds先生,一位大学生开始写他自己的内核,而且他在不到一年的时间内让他的内核在最小的层运行。他的内核叫做Linux,而且一开始它 不是自由软件,因为一开始它的授权限制太严格了。
    所以,事实上它不允许商业再分配,这就意味着很多的用户,个人用户在他们的商业活动中享受不到自由2和自由3.因此,它不是自由软件。但在1992年,Torvalds先生重新在GNU GPL下发布了Linux,它变成了自由软件。因为,GNU GPL是很多自由软件许可中的一个。
    你可能会问什么是自由软件许可?为什么一个自由软件还需要许可呢?对现今的版权法而言,任何写的东西都自动涉及到版权。默认情况下,版权法禁止修改、复制和分销。在很多国家,甚至禁止运行许可保护的程序,因此默认情况下,这个程序不是自由的。所以,我们要怎么让一个程序变得自由呢?我们通过版权所有者的一份正式声明,给用户四个自由。这些正式的声明,我们叫做 自由软件许可,或者更正确的说,这样的声明是一个许可协议。如果一个许可给了你四个自由,那它就是自由软件协议。 因此,必须要恰当地编写协议。有很多自由软件许可。大概有50或60个许可, 或许还有许多其他的许可,因为任何人理论上都可以写一个自由软件许可,只要你是用正确的方法来做这件事。当然,如果你想要这样做,你应该得到律师的帮助,否则你可能会犯错。
    因此,GNU公共使用权证书或者GNU GPL是一个特别的自由软件许可协议,是由我编写的,使用与我们为GNU开发的软件,GNU GPL是最通用的自由软件许可协议,大约2/3的自由软件工程都使用这个证书。而GNU GPL的特殊之处在于,它是一个“copyleft”协议。“copyleft”的意思是,一个程序的所有版本的所有副本都必须是自由的。一些自由软件许可,像2个不同BSD许可,他们都有很多不足。他们将程序变成了授权软件。如果我写了一个程序然后在一个不足的许可下发行了这个软件,有人可以从我这里得到一份副本,然后编译它,而只给你二进制文件,设置一个 客户端许可协议来限制你。然后,你的副本就不是自由软件了,他可以改变源代码然后编译,而只给你提供二进制文件。而要得到二进制文件的源代码几乎是不可能的,因为只有他有源代码。现在, 如果我的目标成功了,我会说这很好,更多的人会使用我的软件,但这仅仅是我的自我而已。我的目标不是让更多的人使用我的软件,而是给用户自由。
    为了实现这个目标,我必须要确认有一个中间人,在你得到你的副本之前他不能剥夺你的自由。所以,我发明了这个技术词汇“copyleft” copyleft是这样起作用的,GNU GPL说道“你可以自由地分发你的副本以及更改过的版本,但你必须确保源代码是可以获取到的,你必须永远在同一个协议下分发软件,你不能修改协议一更不能添加限制,而且你不能剥夺保护。”所以,当你将 软件分发给另一个人时,你必须尊重他的自由,就像我尊重你的自由一样。因此,自由和自由软件是同性的,代码流传到哪里,自由也走到哪里,这就是copyleft的理念。
    我发现有人错误地认为自由软件只是基于GNU GPL下的软件,这不是正确的,也有许多其他的自由软件许可。有copyleft自由许可,也有非-copyleft自由许可。不论是什么许可,都是尊重用户的自由的,只不过是copyleft许可想的更远,他们主动地捍卫每位用户的自由。所以,当Torvalds在GNU GPL下重新发布Linux时,它变成了自由软件你。GNU系统以及Linux内核的结合构成了一个完全自由的操作系统。用户第一次使用,只需买一台电脑,然后安装一个自由操作系统,就可以自由地使用了。因此,将Linux解放为自由软件是对自由软件团体一个重要的贡献。 但同事,困惑也开始了。将Linux与GNU系统结合在一起的人困惑了,他们在Linux 上关注过多,他们开始将这个结合称作“Linux系统”。这对我们来说是不公平的,因为在Torvalds之前我们花费了几乎10年的时间,我们所做是更加大的一部分的工作,我们是拥有将整个 工程做完的目标的人。因此,请给我们分享一下这个荣誉,请不要将这个系统叫做Linux。请叫它“GNU/Linux”,因此我计划搭建一个GNU/Linux服务器,我是一位GNU/Linux用户,我打算 创建一个GNU/Linux用户群。请各位给我们这个荣誉的一份。
    现在,我们这样做的一个理由是我们为这个系统付出过,大家应该给我们一份肯定。但这真的不是最重要的事。信任真的不是生活中最重要的道德问题。这里有更重要的事情要说,就是你们的自由。你称呼某个东西的名称,你选择称呼它的名称,并不直接改变任何事情。但你使用的名字决定了你向别人传达的信息,而这影响了他们的想法,从而会影响他们的行为。 所以,你怎么称呼它是有区别的。在20年钱,当我宣布了GNU项目时,GNU这个名字联系的是自由的想法。相反,Linux不是,因为Linux与Torvalds先生和他的想法有关。他不同意我们关于自由的想法,他拒绝他们,他不认为我们应该给每位用户自由,他想要的只是强大、可靠的软件。当然,他有权利表达自己的观点,尽管我们不同意他的想法。但他为了散播他的观点说我们是错的,并得到了我们所做的努力的用户的信任,这是不公平的,也对你们的自由不好。因为,如果大家相信这个系统是Linux,跟随他的想法,这就表明他们不重视 自己的自由,他们不会加入我们的战营为自由而抗争。加入我们的人数很也少,我们有比较小的机会取得胜利,我们的自由会受到威胁。25年前,我们需要做的只是写自由软件。今天我们有强大的 敌人,有很多钱的公司,以及支持采购的政府,像美国政府以及其他政府。所以,我们要做的比写一个自由软件多得多,我们很擅长做这个,我们已经写了很多的软件。但现在我们也必须有组织, 我们必须团结起来为自由奋战,因为我们的敌人正在确保使用自由软件变得很困难,他们在试图阻止我们。他们也在努力得到各级政府和学校的支持。我们必须努力,我们要确保我们的政府和学校 不支持我们的敌人。我们要让我们的政府和学校支持自由。
    自由总是收到威胁。要拥有自由,我们必须保卫它。但为了保卫我们的自由,我们必须重视我们的自由。为了重视我们的自由,我们要知道它是什么。在我们的团体里,我很难过的告诉大家,大多数的用户从来没有听过这个观点。我们在努力吸引大家的注意力,这些观念和社会团结与自由软件同行,我们必须要克服2个大障碍。一个是GNU系统的用户几乎不知道它是GNU系统,他们认为这是 Linux,这个障碍由Torvalds先生开启于1991年。第二个障碍是,用户不认为软件和自由有什么关系。所以,我们写了这些谈论自由的文章,当他们看到这些文章的时候会说“哦,这和我没什么关系, 因为这是关于GNU的,我是一个Linux的用户。我为什么应该关心GNU?”现在情况变得多么的讽刺。如果他们知道他们叫做Linux的系统其实是一个GNU系统。这是我们工作的结果,我们做这项工作、 是因为我们关心我们的自由。他们可能会更关注自由,会听我们说的,我们也可能说服他们来要求自己的自由。那么,他们就会加入我们的阵营为自由而战,那么我们可能会赢得胜利。我们需要他们 帮助, 这意味这我们需要你们来告诉其他人,这是一个GNU系统,它给用户自由。
    今天,我们要做的事情就不再仅仅是开发软件这么简单了。因为我们的敌人在某些工作领域禁止使用自由软件。这一行动从美国开始,但正在蔓延至世界各地。举个例子说。你想用电脑来播放DVD,而DVD里面的文件信息是加密的,这种文件格式一开始的时候是一种商业秘密。之所以为之加密,是因为生产商想限制你对DVD的使用权。后来,人们发现了个中的秘密,并且开发出了播放DVD的自由软件。但那些财力雄厚的电影企业则去到法院,他们贿赂法官,使之通过一个法案,让用以播放DVD的自由软件成为非法。这就是发生在美国的对软件的审查制度,实质上也是对软件用户的审查。所以说,我们需要一场全世界的行动,来抵制这一类的法案。与此同时,他们也开发出了别的加密方法,企图以此限制用户对DVD的使用。他们是通过私有软件来达至这一目的的。但我们的社区里有不少聪明的程序员,他们可以写出具有同样功能的软件,但这样的做法却被法院判为非法。因此,我们必须组织起来,共同对抗这样的禁锢。另外一个威胁到自由软件开发的就是版权法。有些国家允许版权法的存在,那些国家的自由软件程序员就面临着被控告的危险。因为要写出一个程序的话,必然需要应用到上千个不同的设计方案。假如你所在的国家允许软件版权法的存在,那就意味着,你所使用的其中几百个方案可能已经受到版权保护了。对于程序员而言,就意味着要面对数百宗的法庭纠纷。假如你认为因为编写自由软件而需要应对上百宗的法庭纠纷是好事,那就支持软件版权法吧。假如你不喜欢这么做,那么你就应当说,我们国家不需要软件版权法,这是一个非常愚蠢的做法。这样做只会对大公司有利。因为他们往往掌控着几乎任一领域半数以上的版权。他们往往相互授权,并且强迫别的公司给他们开放授权。结果是,大公司往往可以避免软件版权法引来的大部分纷争。软件版权法所带来的伤害则往往由其他的软件开发者来承受。在软件开发这一领域,我们可以将多个不同的成分结合到同一个产品当中,这一现象相比于其他领域,其出现的频率更高。因为软件往往比工程来得简单,因为其实质就是数学。假如别人想将新的东西加入到现有的产品当中,他们往往需要做大量的研究以及经历漫长的工艺过程。而程序员只需要修改代码即可。
    因此,程序员可以将很多不同的东西融合到同一个程序里面,而相比之下,一个化学过程,或一个集成电路或任何其他的实物。因此,软件之版权就引出更大的一个问题。因此,我们必须要保证,软件开发可以在不受限制的环境下进行,这就是我们所需的主要内容。只要他们不约束我们编写自由软件,我们就会非常乐意的去写自由软件。我们需要组织起来,去阻止他们对于自由软件程序员的限制。还有一点,我们需要向社会机构发出倡导,让他们不再继续支持私有软件。例如,我们应当要求政府拒绝使用私有软件,这些机构应当是只能使用自由软件。因为政府部门使用计算机不是服务自身的,它是为社会公共利益服务的。当然,作为个人,你可以按照自己的喜好来使用电脑,没有人可以管你。但假如是政府部门使用电脑,那就是在为公众提供服务的,政府有义务去做出正确的选择。因此,每一个政府部门都应当对其所使用的电脑享有充分的控制。假如你在家里因为使用私有软件,使得你失去了对自己那台电脑的控制,那是不幸。而假如政府因为使用私有软件而失去对其电脑的控制,这就不仅仅是不幸了。这是一种失职,没有实现其对公众的义务。因此,所有的政府部门都应当使用自由软件,唯有如此,才能保证事情是可控制的。
    更为重要的是,中小学校也应当迁移到自由软件的平台上。所有的学校的电脑课堂都应当只教授自由软件,理由有四:
最浅层的理由是为了省钱。全世界的中小学校都很缺钱,因此他们受到很多的限制。所以说,他们不应当用有限的资金来购买私有软件的使用授权。这一理由对于那些不大懂得自由软件之理念的人都是很显然的。尽管他们也许不清楚自己在谈论的到底是什么东西。不过,这仅仅是表层的原因。但是,有些私有软件的开发商则试图通过向学校捐赠私有软件的方式来抹除这一理由。他们为何要这么做?他们是想将学校变成奴役学生的工具,他们希望从学校里出来的孩子将来也会使用那个私有软件。具体而言,就是他们会把软件捐给学校,学校就在课堂上教怎么使用那个软件,到最后,孩子就会成为该产品的奴隶了。到孩子毕业的时候,他们走向工作岗位。但是,软件公司不会给企业赠送软件的使用授权。于是,孩子对软件的依赖程度越来越高。他们还将社会其他人群拉进他们的私有软件圈子里。私有软件程序员希望整个社会都落入这一圈套。这一做法与当年烟草公司派发免费卷烟的做法如出一辙。吸第一口是免费的,但是一旦你上瘾了,就要付钱去购买。我确信,学校不会让孩子发放毒品,即使他们不需要为此支付任何成本。同样的道理,学校也应当拒绝教授非自由软件的课程。因为学校是有其社会承担的。学校的责任是教育下一代,使之成为有力的、能干的、独立的、合作的、自由的公民。具体到计算机这一块,就是教会他们用自由软件。但事实上还有一个更深层次的问题,即教育下一代程序员的问题。


转自 啄木鸟社区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值