自由软件的挑战和机遇

自由软件的挑战和机遇


Richard Stallman 于1984 年开创了GNU Project,1985 年建立了自由软
件基金会。他还创作了很多为人们广泛使用的著名开发工具,包括GNU
Compiler Collection (GCC)、GNU symbolic debugger (GDB)和GNU Emacs。在
同记者谈话中,他非常友好地详细讨论了他与计算机的第一次接触、他
在AI实验室的日子、GNU Hurd 现在的状况、他目前在自由软件基金会中
所扮演的角色以及非自由软件存在的问题等等。下面的文字包含了他的
一些独到见解,包括我们的技术怎样发展到今天的水平以及我们依然面
临哪些挑战等。Jeremy Andrews为采访记者,以下简称JA,Richard Stallman
以下简称RS。

背景
JA : 请说说最初接触计算机时的感受?
RS :大概在1962年左右,我最初阅
读了手册并在纸上编写了一些程序,一
些类似于累加数字向量的东西。1969第
一次真正使用一台计算机的时候,我设
计了一种基于字符串替换的计算机语言,
有些像S N O B O L ,尽管我从未使用过
SNOBOL。之后,当我拥有了一台真正的
计算机的时候,我开始做的第一件事情
是编写代码——我见过PL/I 语言,我激
动于它拥有这么多的特性。但是它缺乏
一项特性:它没有张量分析( t e n s o r
analysis) 中用到的爱因斯坦求和约定
(summation convention)。所以我开始为
PL/I 编写预处理程序来实现爱因斯坦求
和约定。我从未真正完成这项工作,但实
际上其中的一部分已经可以使用了。最
初我是用PL/I 语言写的,稍后我们发现
即使只考虑其中的一个周期,也无法适
应当时的机器(实际上当时我已经在纸
上用PL/I语言写了很多部分了)。之后我
开始用汇编语言重写,但我只用汇编语
言写了其中的几个周期。后来我学习了
一些链表之类的东西和Lisp,并对PL/I
之类的语言失去了兴趣。


在AI 实验室的生活
JA : 20 世纪70 年代期间,您在AI实
验室负责的主要工作有哪些?
RS : 主要是操作系统开发,但是我
与Sussman 教授合作进行了一个AI 研究
项目,我们开发了从属制导回溯技术。我
们发表了一篇论文。后来其他人使用了
这项技术,所以现在它成为AI的一部分。
我也学会了如何更好地理解电路。我们
编写使用这项技术的程序是为了理解电
路。通过模拟程序,我对电路的理解比以
前更深刻了。
GNU Project和自由软件基金会
JA : 在80年代初您遭遇非自由打印
软件的故事非常有名。这个小插曲最终
的结果是您在1984年开创了GNU Project,
在1985年创办了自由软件基金会。从那
时开始在这一运动中,您作为公共发言
人和自由软件的多产作家表现得非常积
极。在过去的二十年中,您众多的成就
里,哪一项是您本人最引以为傲的?
RS : 我引以为傲的是我们建立了一
个社区,在其中人们可以自由使用计算
机协作。
JA : 现在您所面临的最大挑战是什么?
RS : 软件专利、数字千年版权法、
广播标记、加密卡、非自由Java平台。
换句话说,是当权人士为结束我们
的自由而做出的有组织的努力。但是考
虑到法律,在美国没有任何办法。在那些
没有相关法律的国家中,我们可以尽可
能阻止他们。
“自由软件”与“开放源码”
JA : 您通常总是要解释“自由软件”
和“开放源码”之间的区别,然而媒体还
是混淆这些术语。能否给我们解释一下
它们之间的区别?为什么正确理解这两
个概念非常重要?
RS : 自由软件和开放源码是两种拥
有不同哲学的运动的口号。在自由软件
运动中,我们的目标是自由共享与合作。
我们认为非自由软件是反社会的,因为
它践踏了使用者的自由,我们开发自由
软件来摆脱这些束缚。
开放源码运动的目的是推广他们认
为具备高级技术的开发模型,这些模型
通常会带来技术方面的高级成果。其所
带来价值与微软所呼吁的相同:狭窄的
实际价值。
自由软件和开放源码目前都是软件
许可的标准。这些标准编写的方式不同,
但许可效果基本上是相同的。最主要的
区别就是哲学理念上的不同。
为什么哲学理念会对此造成影响?
因为不重视自由的人必将失去自由。如
果您给予人们自由,但并不教会他们如
何理解自由的价值,他们就无法长久地
拥有自由。所以仅是普及自由软件远远
不够。我们必须教会人们去要求自由、去
争取自由。或者这样我们才能解决今天
看来无法解决的问题。
“GNU/Linux”
JA : 另一个经常被混淆的名称是
'GNU/Linux'。为什么GNU Project 的贡献
如此之大,足以使其名字置于操作系统
的名称当中,特别是与其他基于Linux内
核的操作系统的大部分相比,例如
XFree86?
RS : 这并不是巧合,我们为GNU系
统所写的代码是当今GNU/Linux系统中
影响最大的独立贡献。还有许多人和项
目都开发了现在系统中使用的自由程序,
像TeX、BSD 代码、X11、Linux以及Apache
是引人注目的例子。但是,启动G N U
Project 的目的是开发一套完整的自由操
作系统。我们现在使用的综合操作系统
就构建于G N U 之上。我更喜欢称之为
GNU/Linux 或者GNU+Linux。原因是,提
到GNU-Linux 时,可能会引起误解。毕
竟,我们有GNU Emacs, 它是Emacs的一
个版本,为GNU 而开发的。所以如果您
说“GNU Linux”,人们会以为它表示Linux
的一个版本,为GNU 而开发的。但实际
不是这样,它是两者的结合。
JA : 人们使用术语GNU/Linux可以获
得怎样的好处?拒绝使用GNU/Linux 时又
会失去什么?
RS : 人们知道Linus Torvalds编写
他的Linux程序是为了娱乐,他并不认为
阻止用户共享和修改他们所使用的软件
是错误的。如果人们认为我们的系统是
由他创建的、并将系统的存在归功于他,
人们就会遵循他的哲学,这会削弱我们
的社群。
这是一件有趣的事情,整个操作系
统的存在只是因为一个毕业生认为这是
一项有趣的项目。但真实的情况是,之所
以存在这样的操作系统,是因为那些决
定争取自由并希望为获得一种自由的操
作系统而长年工作的人们。对于软件来
说,应关注的惟一事情就是它是否能够
完成您的工作以及它的成本。
而当它被拒绝使用时,失去的是教
育人们的机会。不管一个软件采用怎样
的名称,它都是自由的——如果您所使
用的软件版本确实是自由的。但是据我
了解,惟一自由的GNU/Linux 版本就是
UTUTO。大多数GNU/Linux的版本并非完
全的自由软件。所有商业发布者都添加
了非自由软件。后来Debian将所有非自由
软件清楚地划分开来,但依然发布。
Debian GNU/Linux的供应商通常会加入一
些非自由程序作为“奖励”。他们让您觉
得自由不再完全是您得到的一种奖励。
如果您碰巧运行的是GNU/Linux的
一个没有非自由软件的版本,情况也并
没有因为您为其使用的名称而有实质上
的改变。但我们在五年后将处于怎样的
情况取决于现在我们对彼此的理念进行
怎样的宣传。
GNU/Hurd
JA : GNU Hurd 已历经了十余年的开
发。早在一年前就有1.0发布的消息,但
由于缺乏一些特性而推迟了。这个项目
现在的情况如何?
RS : Hurd 可以运行,缺乏的一些特
性正在逐渐添加。然而,就当今的实际使
用情况而言,您还是应该使用基于Linux
的GNU 版本。不过许多Hurd 的开发者似
乎已决定要重写代码以适应另外一种微
内核(L4)。听到这个消息我很失望,但
现在看来,Hurd 真正可投入使用还需要
几年的时间。至少我们确实拥有可与
GNU 一起工作的自由内核。
JA : 我们要怎么称呼一个基于Hurd
的操作系统,是GNU Hurd 还是 GNU/
Hurd?
RS : GNU 是操作系统,Hurd 是它的
内核。但是人们将基于Linux的GNU版本
用作内核是非常普遍的情况,所以比较
两者是有用的,还有关于GNU/Linux 和
GNU/Hurd 的讨论,这是GNU系统拥有不
同内核的两个不同版本。
JA : 使用GNU/Hurd 系统有什么
优势?
RS : 如果您没有在写一些有趣的程
序的话,也许不会感受到巨大的优势。
Hurd 提供了有趣、强大的功能。例如,您
可以编写自己的文件系统,这样就可以
实现任何您想要的行为并将其封装成一
个文件。它还使实现沙盒(sandboxes)成
为可能,这样您可以运行一个程序,而由
另一个程序管理它所有的I/O,从而确保
它不会对向非目标文件进行写操作。
在没有Hurd 架构的内核中,这些是
有可能实现的,但有了Hurd,这些都是世
界上最平常、最自然的事情。
Non-Free Software
JA : 您对将GCC、GDB和GNU Emacs
这样的工具用于非自由软件开发有怎样
的反应呢?
RS : 任何非自由软件的开发都是有
害的、令人遗憾的,即便它使用的是GNU
工具或者其他工具。从长远角度来说,对
于计算机用户可以自由使用这些工具开
发非自由软件这样的未来,它是好还是
坏依然是一个问题,我也只能猜测而已。
JA : 有观点认为,非自由软件作为
增加可投入全新软件开发中的资金的手
段是合理的,否则就无法获得这些投资,
从而导致创建出的软件永远无法投入开
发,您对这个观点怎么看?
RS : 这一点都不合理。非自由程序
系统拒绝了用户合作的自由,这是主宰
大众的反社会机制的基础。程序仅合法
地提供给屈服于他们、愿意放弃自由的
人们。这不是对社会的贡献,这是社会问
题。不开发任何软件比开发非自由软件
都要好。
所以如果您发现自己面临这样的情
况,请不要遵循他们的路线。请不要编写
非自由程序——去做其他事情。我们可
以一直等到有机会开发自由程序的人来
做相同的工作。
JA : 程序员怎么办?
RS : 编写非自由软件的程序员该怎
么办?他们在做一些反社会的事情,他
们应该找一份其他工作。即使不开发非
自由软件,人们在社会中也有无数工作
可以选择。您甚至还可以做程序员。很多
受聘的程序员都在开发自定义软件,只
有一小部分在开发非自由软件。从事专
利软件开发工作的这一小部分人是不难
处理的。
JA : 区别是什么?
RS : 非自由软件意味着发布给大
众。自定义软件意味着仅由一名客户使
用。只要您尊重客户的自由,自定义软件
不会导致任何道德问题。
另外,程序员只是计算机行业中受
聘的一小部分人。假设有人开发出了一
个AI,那么就不再需要其他任何程序员
了。这会是灾难么?现在从事程序员职
业的那些人今后注定要失业吗?显然不
会,但是人们一直在夸大这个问题。
JA : 您是说如果将所有编程类工作
都外包到国外?
RS : 是的,如果所有编程类工作
都没有了会怎样? 这很有可能发生。
当您开始考虑整个就业层次的时候,
应该考虑所有可能影响它的因素,而
不是指责某一个因素。失业的原因不
是某个人或者社会团体决定软件应当
自由。问题大多是由于仅仅为有利于
富人而设计的经济政策引起的。例如
促使工资降低等等。
您知道,我们将所有这些工作外包
并非巧合。那是精心计划的。国际条约
旨在推动这一切,所以人们的工资会
降低。
JA : 您能举一些具体例子么?
RS : FTAA、世界贸易组织、NAFTA。
这些国际条约旨在简化国家与国家间的
对话,从而降低工资。“谁可以让我们付
给工人最少的工资,我们就去哪儿。”如
果任何一个国家的生活水平开始有些许
提高,那些公司就会说“哦,这里的劳动
力环境真差。没有为企业创造良好的环
境。所有的企业都会撤走。您最好决定付
给人们较少的工资。您正在跟随愚蠢的
政策安排,使贵国的工人得到较高的工
资。您最好确保这里的工人工资在全世
界是最低的,那时我们就会回来。否则我
们都会撤走作为惩罚。”
企业经常会这样做,他们把业务从
某个国家撤离来惩罚这个国家。我最近
得出这样一条结论,无摩擦的国际贸易
天生就是有害的,因为它使公司从一个
国家转移到另一个国家变得非常容易。
我们必须使其变得非常困难,从而使每
个公司都被束缚在某个可以规范它的国
家内。
《No Logo》这本书提到菲律宾有保
护劳动标准的法律,但是这些法律没有
过多的价值。他们决定建立“企业区”—
—这是对“血汗工厂区”的一种委婉称呼
—在这里企业可以在创办的前两年中免
受这些规则的束缚。结果就是,没有一家
公司连续经营到两年以上。当其豁免期
结束后,所有者就关闭公司再创办另外
一家。
JA : 自由软件怎么解决这个问题?
RS : 自由软件没有专门解决这个问
题。自由软件解决的是计算机用户可以
怎样拥有合作的自由和对自己计算机的
控制这方面的问题。当您开始谈论“人
们如何拥有工资合理的工作”时,这是
一个更重要的相关问题。答案是,在低
薪待遇的世界里,他们不会找到这样的
工作。
非自由软件迫使许许多多人失去自
由,从而使社会的一小部分人可以享受
更高的薪水,这样我们就能忽略社会中
所有做着糟糕工作的人们吗?这是矛盾
的,但这显然是可能会出现的未来。
如果您想就此问题做出某些努力的
话,在正确的层次来做,这个层次就是企
业和国家之间权利平衡的层次。企业现
在力量太强大了。我们必须削弱他们。我
不认为应当废除商业甚至废除企业,但
是我们必须确保没有哪个公司强大到足
够与世界中的所有国家这样说:“我会惩
罚任何不服从的国家。”
这就是现在的情况。是像里根, 克
林顿和布什这样的人刻意建立起来的。
新技术
JA : 我曾经读到过自由软件模型会
模仿现有的软件,而不是另辟蹊径或开
发全新的技术。
RS : 自由软件“模型”这样的说法
是一种误导。开放源码运动提到了“开发
模型”,但是我们关心的是用户的自由,
而不是开发程序的方法。
自由软件并非永远在模仿,但经常
会模仿。有一个很好的原因:自由是主要
目标,创新其次。
我们的目标是开发自由软件,这样
就可以使用仅有自由软件的计算机。在
1984 年,我们几乎是从零开始(我们只
有TeX,其他一无所有)。我们有许多要
目标要赶超,所以我们成功了。尽管与
Unix 相比GNU/Linux没有任何技术创新,
但它有着完全的优势,因为它尊重了大
众的自由,而Unix 没有。
JA : 您认为在自由软件赶超了非自
由软件后,我们就会开始看到自由软件
的很多技术创新么?
RS : 大部分自由软件已经赶超了非
自由软件,但不是全部。我们已经有所创
新。我们已经看到了自由软件中的技术
创新。其中很多技术都为万维网的形成
作出了贡献。
互联网
JA : 现在我的计算机是互联网的一
部分。我的计算机全部是由自由软件组
成的。然而互联网上有很多计算机不是
由自由软件组成的。
RS : 我想您的意思是,“并不是完
全运行自由软件”。网上的很多计算机没
有运行自由软件,这意味着拥有和使用
这些计算机所的人失去了他们自由的一
面。这是个问题。
JA : 您认为这样做恰当吗?让尝试
只使用自由软件的人利用??
RS : 连接到一个运行非自由软件的
服务器?
我不认为需要拒绝连接到运行非自
由软件的服务器。所以,我不会拒绝在运
行非自由软件的计算机上打字。如果我
到您家做客,您有一台安装了Windows
的计算机,如果我有很重要的事情要做,
我会使用它的。我不会在自己的计算机
上安装Windows,您机器上也不应该安
装,但我不能通过拒绝接触这样的计算
机来改变一切。
如果您连接到一个运行非自由软件
的服务器,不是您的自由被损害了。而是
服务器的操作者由于运行了有限制的软
件而失去了自由。这很不幸,我希望他改
用自由软件;我们正在努力实现这一切。
但我不认为人们需要联合抵制他的站点
直到他改用自由软件。他没有强迫您使
用非自由软件。
JA : 回到我早先的问题上,作为一
个具体的例子,当您试图定位在线内容
的时候会使用Google 这样的工具么?
RS : 我并不抵触与Google的网络服
务器通信,但是为Google 考虑,我希望
他们有学习、修改和重分发服务器上所
用软件的自由。有这样做的自由不意味
着有这样做的义务。Google 不是必须修
改或者重分发其所运行的软件。但是他
们应该有这样的自由,就像您和我有这
样处理我们计算机上软件的自由一样。
嵌入式应用程序
JA : 嵌入式应用程序在社会中越来
越流行。完全避免使用非自由软件而继
续保持与现有技术的联系是可能的么?
RS : 我不知道这是否可能,但如果
不可能的话,那就是我们需要改变的东
西。一旦嵌入式系统可以与网络对话,或
者用户经常地向其中下载软件,那么它
的软件需要是自由的。比如,如果它使用
了非自由软件与网络对话,您就无法信
任它没有在监视您。
SCO
JA : 关于SCO 最近对Linux 内核的谴
责,您有怎样的反应?
RS : 他们的陈述模糊而谨慎,另外
我已经看到他们举出的惟一具体论据已被
证明失实,这就意味着他们并没有真正的
论据。这些对自由软件不会有太大的影
响,因为我不认为他们有论据。他们在试
图创建FUD,这可能会吓退一些胆小的人。
JA : 您认为这会将GPL 送入法庭吗?
RS : 不知道。我们认为GPL在法庭
里站得住脚,但是聪明人不会急于投入
到战斗中,即便他认为自己武装得足够
好且有可能获胜。
SCO 给出的论点太可笑荒谬,以致
他们表达了这样的观点—— SCO 没有真
正的论据、他们只是对创建FUD有兴趣。
JA : 最后会怎么样呢?
RS : 他们希望有些公司会付给他们
钱,微软已经这样做了。
对于基本不了解版权法的人们,任
何事听起来都是合理的。当他们听到
SCO 的说辞时,他们不了解这有多么荒
谬。所以他们想,“SCO 这样说、IBM 又
那样说,我怎么知道谁是对的?”
参与进来
JA : 您是否还有一些现状想说明?
RS : FCC去年决定要求所有的数字
电视接收者接受数码限制管理。事情还
不仅如此,还希望这样的限制不会被用
户修改。我认为他们还没有决定是否用
软件控制这个装置。如果他们使用软件
控制,那么这将是有史以来政府政策第
一次明确禁止在一项数百万人想要做的
工作中禁止使用自由软件。
JA : 您对这点持乐观态度么?
RS : 我不知道。我天生是悲观主义
者。许多人只会在预期会赢的情况下继
续斗争。我不是那样。我一直都预期会
输。但我依然在斗争,而我往往会赢。
我不是这场特殊战役中的主要领导
者。Electronic Frontier Foundation在斗争、
Public Knowledge也在斗争。人们需要精
明地参与进来。在这一点上,人们可以访
问EFF 网站和Public Knowledge网站,坚
持不断地访问,这样几个星期之后就能
看到他们如何参与这场战役。如果您足
够重视花20分钟在这上面的自由,如果
您可以摆脱这个星期正在做的一些不重
要的事情来做这件事情,下个星期、下下
个星期??如此这样。花一点时间争取
您的自由,我们就可以获胜。
本刊选用稿件旨在传播更多信息,不代表本刊观点。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值