我从1999年开始了解并使用自由软件。在后来的工作中,生活里,都是围绕自由软件展开。随着自己的身体力行,已经深刻理解了自由软件,并体会到自由软件对于人类的巨大价值。所以,在自己使用自由软件的同时,会利用各种机会向大家宣传自由软件的哲学,倡导大家使用自由软件,是坚定的自由软件运动倡导者。多年来,一直与洪峰探讨哲学、自由软件相关的问题,发现洪峰创立的黑客道教学法对于自由软件运动、对于中国的计算机科学教育实际情况,具有巨大的理论意义和现实意义。所以我想利用Richard再次访华的机会,以自由软件和黑客道为主题搞一次在线的演讲,以进一步推动自由软件在中国的影响力。
2005年9月,Richard Stallman再次访华。在北京的3天时间里,我和洪峰、宫敏陪同Richard Stallman进行了一系列的演讲活动。其中的最重量级的一场演讲安排在新浪网。经过和Richard、洪峰的讨论,确立了演讲的主题和时间。后来与新浪集团副总裁、CTO,李嵩波交流了此事,期望能够得到他的支持。李嵩波对此访谈非常感兴趣,并给于大力支持,亲自安排了访谈的相关事宜。使得这次访谈得以顺利进行。在此,我要感谢李嵩波给予自由软件社团的帮助!
除了在新浪网的在线访谈,还和Richard一起参加了一系列其他的活动,并和Richard、洪峰、宫敏就自由软件相关的一系列话题进行了深入的探讨和交流,并开始筹划一个中国的自由软件组织。我在《Richard Stallman和自由软件运动》一文中,对于Richard的此次北京执行进行了简要的记述,也包括一些Richard本人生活上的细节,供大家参考。
和许多网站一样,新浪网也采用微软的专有软件系统来实现在线视频直播,发布的视频格式也是专有格式,这对于自由软件社团来说是不能接受的。现在我们有自由的、完整的、优秀的多媒体解决方案,那就是ogg theora/vorbis。所以,我们一定要以ogg theora/vorbis格式来发布此次演讲的视频。考虑到新浪网的商业目标和用户对于ogg theora/vorbis的了解,决定在一个第三方的地方发布此视频可能会合适一些,所以就在我的个人网站上发布并开始传播此视频。Richrad Stallman、洪峰、新浪网、徐继哲保留此视频的版权,秉持自由软件社团的对称版权(copyleft)思想,欢迎任何人下载、传播此视频。关于我们对于视频共享的观点,请参与我和Richard Stallman的对话:《我们动了凯歌的馒头》。
在此处下载此次活动的视频(154M,40分钟)。自由软件用户可以使用totem观看,使用MS Windows专有软件的用户可以使用storm player等观看。

从左到右依次为:洪峰、Richard Stallman、徐继哲
Richard Stallman简介:
美国国家工程院院士, GNU工程以及自由软件基金会的创立者、著名黑客,自由软件运动的精神领袖。他于1984年发起了GNU工程,并为自由软件竖立了法律规范。如今自由软件已经在世界范围内产生了深远的影响,在计算机工业、科学研究、教育等领域,显示出了极大的生命力和价值。
洪峰简介:
自由软件运动倡导者,2001 年开创了“一、百、万”工程。“明”操作系统的设计师、职业技术作家、泛系“黑客道”教学法的创始人。擅长教授关于哲学、数学、计算机科学、经济学、语言学等多方面的课程。他因长期一贯地推广自由软件,在全球自由软件社团里拥有众多的伙伴和支持者。
2005年9月16日下午4时30分,美国国家工程院院士Richard Stallman与自由软件运动倡导者洪峰做客新浪嘉宾聊天,就自由软件的发展、黑客道培训与广大网友交流,以下为聊天实录:
主持人:
各位新浪网友大家下午好!非常抱歉我们今天的嘉宾聊天有点推迟,首先欢迎两位嘉宾,第一位是美国工程院院士Richard
Stallman先生,他是GNU项目、自由软件基金的创始人,自由软件运动的精神领袖,陪同他的是洪峰先生,国内著名自由软件的倡导者。今天的聊天中,我们将把时间交给他们,请他们用自己的理念、想法和自由软件在国内、国际的发展,以及自由软件在计算机教育领域的应用和理念阐述一下,我们请二位大家打个招呼。
Richard Stallman:
大家好,我是Richard
Stallman。在1983年,为了让大家能够自由的使用计算机,我发起了自由软件运动,启动了GNU项目。现在大约有1亿多台计算机在运行这个系统,大部分用户觉得这套系统非常棒。
洪峰:
大家好,我是洪峰,这是我第二次来新浪作客,非常高兴与大家再次见面,来谈一谈自由软件在教育中应用这个话题。
主持人:
现在把时间交给Richard Stallman先生,让他给大家讲讲在计算机科学教育领域中采用自由软件的话题。
Richard Stallman:
free
software中的free指的是自由,而不是价格,所以应该翻译成自由软件,而不是免费软件。通常用户在使用计算机软件的时候需要拥有如下四种自由度:
0 运行软件的自由;
1 学习、修改软件源代码的自由;
2 拷贝软件给其他人的自由;
3 为帮助社团,将你修改后的软件再次发布的自由。
同时满足这四个自由度的软件就是自由软件,再发布这些软件,能够让每个人都拥有自由。而自由软件运动就是让每一个软件使用者都拥有这些自由,没有人有权剥夺你的这个自由。
在1983年,我做出一个决定:我要自由地使用计算机。也就是说,我想用完全的自由软件来使用计算机,而不用其他任何非自由软件。但是说来容易,做来难。但是在1983年,完全使用自由软件来控制计算机是不可能的。大家都知道,计算机如果没有操作系统,根本没法使用,可是在1983年,所有的操作系统都是专有软件,不是自由软件。
所以,在那个时候如果没有非自由软件,根本无法使用计算机,我们使用计算机的自由被剥夺了。那么对此我能够做些什么呢?我并不是很擅长政治,无法说服政府来改变他们的法律,或者是说服公司改变他们的政策,但是我非常善于写软件,特别是写操作系统,我有这个天赋。因此我意识到可以通过技术手段来改变这种状况,而不是通过政治手段。我决定开发一个全新的、自由的操作系统,这样就可以用自由软件来操作计算机了,因此我在1984年,放弃了在麻省理工学院的工作,发起了GNU项目。GNU是类UNIX操作系统,它和UNIX是兼容的,因此UNIX用户很容易使用GNU操作系统。而操作系统都很庞大,由很多部件组成,我们必须重新开发所有的部件,这个工作花费了我们很长的时间。
在90年代早期的时候,我们几乎做完了所有的工作,但是GNU操作系统还缺乏一个非常关键的部件:内核。1991年,Linus Torvalds写了一个内核,称之为
Linux。刚开始Linux并不是一个自由软件,但是在1992年,Linus改变了Linux的许可证,变成了GPL版权的,因此Linux就成了一个自由软件。Linux补充了
GNU系统。于是,GNU和Linux结合就变成了一个完整的、自由的操作系统:GNU/Linux。因此大家第一次有机会来自由地使用计算机,而这个计算机没有任何专有软件,也就是说全部都是自由软件。你拥有了使用计算机的自由。
GNU/Linux变得越来越流行,很多人用它,他们发现它不光尊重你的自由,而且功能非常强大,系统非常稳定可靠,在很多方面都优于专有软件,而且非常的便宜。为了运行它,你不需要花钱去购买许可证,而且还可以进行自由的修改。因此很多组织和企业开始用GNU/Linux。就在此时此刻,大部分人却忘记了一个最重要的事情,就是使用计算机的自由(笔者注:而是更多地从实用的角度去审视计算机软件了)。
因此我现在的主要工作就是让人们了解自由的含义,让人们了解什么是自由软件,如果人们忘记了“自由”的重要性的话,他们可能就会失去这个自由。那么就会使一切都变得非常糟糕。因此我想谈一谈自由软件与计算机科学教育的关系。学校对社会的未来产生重要影响,正因为如此重要,学校应该选择自由软件,拒绝专有软件。主要有如下四个原因。
首先讲一个较肤浅的理由,最后讲一个较深入的理由。最浮浅的理由就是省钱,即使在富有的国家,学校的资金也是不充足的,因此学校不应浪费金钱来购买专有软件的许可证,这是显而易见的,也是很浮浅的,因为它只是跟钱有关。
许多公司生产了大量的专有软件,他们通过向学校免费提供专有软件的手段来消除上述问题。这就让我来解释第二个原因:为什么这些公司把专有软件捐献给学校呢?并不是因为他们关心教育,试图建立一个美好世界;也并不是因为他们理解如果孩子们用上专有软件,在他们毕业之后,他们就只知道如何使用专有软件了,因此在他们的一生中只用专有软件,除非他们主动做出一些改变。这些公司正在试图利用学校来让每个人成为他们的客户,试图使学生患有专有软件成瘾症,就像通过把毒品分发给学生们,让他们吸食一样。可以确定,一旦学生毕业,这些公司再也不给这些人提供同样的、免费的专有软件。只有在学校使用的专有软件才是免费的,一旦你使用成瘾之后,就必须付费了。因此这些公司利用学校来引导社会,使大家将来依赖这个公司。学校应该认识到这样的做法是错误的。学校的使命是培训未来的一代人,使他们能够成长,而且具备一定的能力,具有独立性,而不是依赖这种虚弱的、靠不住的东西。因此当这些公司试图提供免费的专有软件时,学校应该说“不”。告诉那些专有软件公司,我们不会给学生提供毒品,我们当然也不会给学生提供专有软件。
第三个原因更加深奥一些。当学生到了十四五岁的时候,他们什么都想学,他们想成为伟大的程序员,因为他们是天生的程序员。如果他们正在使用专有软件,当学生想请教老师这个软件是如何设计的时候,老师会说:“对不起,我不知道,而且你也不许知道,因为这个是秘密,整个学校都不准知道这个。”。这样就无法展开教育工作。但是如果学生使用的是自由软件的话,老师就可以说,我可以给你解释一下,如果你想了解更多,这是源代码,你可以读这些源代码。如果在源代码中有一些地方你不明白的话,可以来找我,我会给你们解释。这些孩子是天生的程序员,因为不需要人们去告诉他,但是他们必须学习如何来写一个好的程序,必须学习如何写一个简洁的一个程序,因为人不是天生就知道这个的。学习写好代码的方式就是大量阅读代码,大量写代码。当你给一个大的程序写代码的时候,就要阅读现有的大的程序,然后做一些小的改进,比如增加一个特性、修改一些bug等等。作为初学者,你也可以自己写一些大的程序,但同时,你也可以修改一个现有的大程序,对其改进,这看是一个很小的工作,但同时你可以对许多其他的大程序做出类似的工作,你多年重复这样的工作后,然后你就会知道如何写大的程序了。我有机会这样做,过去我工作在MIT的人工智能实验室,这里面的软件是自由的,我们的工作就是改善这个系统,这个一个独一无二的机会。那是1971年了,但是在今天,所有的学校都能提供这样的机会,提供一个电脑,运行GNU/Linux系统,这样的话学校给学生提供很多机会,条件是只能用自由软件。
第四个原因更为深奥。为了教育,学校必须教授学生技能,但是更重要的是应该教授他如何成为一个和谐社会的一员,如何助人为乐,因为你能够做到这一点的。因此,学校就应当有这个规定,就是如果你把这个软件带到学校的话,不能一个人用它,必须跟其他人共同分享。其他任何人只要想要就应该能够用这个软件。如果你拒绝的话,就不要把它带来,在学校中是不允许这样做的。但是为了制定这个规则,学校必须树立一个好的榜样,学校遵守自己的规定。这就意味着学校只能给学生提供自由软件,而且这样会要求学生也是在使用自由软件,如果不是自由软件就不应该带到学校或者是教室里来。我已经讲了我想说的了,稍候我会回答网友的问题。下面请我的朋友洪峰先生来演讲。谢谢大家!
洪峰:
刚才Stallman先生谈了很多关于自由软件的意义、自由软件的重要性,以及自由软件在计算机科学教育里应用的一些话题。为什么计算机科学教育要全面的、大量的采用自由软件,彻底抛弃专有软件?我接他的话题来谈一谈我在计算机科学教育领域的实践情况。
我第一次跟Stallman院士深入谈自由软件是在2000年5月,那个时候,我们去了四川九寨沟,我们在那儿谈了一些非常深入的一些话题,包括他刚才谈到的他是如何学习编程序,成为一个伟大的程序设计大师的,当时我有很多感想。能不能把他当年采用的方法以一种可以重复的方式,应用到中国大陆的计算机教学革命当中来?我当时在琢磨这个问题,当时我没有系统的考虑。他走了之后,我开始系统的思考这个问题。
因为在以前,我受过一些数学训练,我的老师,吴学谋研究员,在数学和哲学方面给了我深入的指导。因此我试图从这个角度,把吴老师的泛系理论和自由软件结合起来,找到一个可以兼顾哲理、数理、计理三个方面的方式来做计算机科学的教学,过去三年中我做了大量的尝试,特别是去年3月份开始,我开始教授一些学员学习计算机编程的方法和技巧。在过去一年半,我一共培养了十几个程序员,而且从目前的情况来看,我觉得应该是取得了一定的成功。我借这个机会把培训的方法给大家做一个介绍,希望大家能够提出批评的意见。
这个教学的方法叫“黑客道”,或者叫泛系“黑客道”。“黑客道”是从Hackerdom衍生出来的。黑客并不是指那些搞破坏、盗窃计算机里面隐私、数据的人,这类人是cracker。真正的hacker是会写程序,使自己变聪明的人,这样的程序员我们称之为黑客。现在每年毕业生中学习计算机的人非常多,我听朋友介绍,每年大学计算机本科的学生是十万名左右,当然这个数字是非常大的,那么这样学生走向社会,走向不同的工作岗位,他们将为不同的公司,不同的组织进行从事他们的编程工作。那么我在开始“黑客道”实践的时候,把重点放在了系统程序员这么一个很窄的一个层面上,为什么这么讲呢?因为说一千道一万,系统程序是关键。没有系统程序,其他的应用程序没有一个运行的平台。现在非常幸运的是,自由软件运动经过20多年的发展已经取得了巨大的进展,有了真正的自由软件平台,比如:GNU/Linux、FreeBSD等。这样的系统可以给我们提供非常好的平台,在这个平台上,像Stallman先生讲的,看看他们的系统是怎么设计的,最大限度的发挥系统的作用,从而为开发优秀的应用软件提供一个非常好的技术支撑。
所以我集中训练的对象是系统程序员,而不是应用程序员,这可能让很多的网友们有一些失望或者是意外,但是没关系,因为我觉得这个意义比培养一个应用程序员要大一些,系统程序员出来之后,可以非常好的理解计算机的本质,我从事“黑客道”的主要任务就是要把计算机的本质告诉给学员。那么在从事“黑客道”教学的时候,我采用了什么方法呢?我采用了孔子的办法:因材施教,当然这个因材施教说起来简单,做起来难,因为每个人的情况不大一样。我在招收学员的时候,会对学员的内心进行一下甄别,有两种类型的学员招收的时候非常的谨慎,一类是非常聪明的学员,刚才Stallman先生也讲过,他们并不需要非常多的指导,只要给他们一点点提示,他们就会自动的一步一步的编程,如果他勤奋的话会编出非常优秀的程序,这样的程序员不是我教授的重点。另外一类学员就是智力上不太适合做系统程序员的学员,他们可能做其他的工作比较合适,但是不适合做系统程序员。为什么这么讲呢?因为要做系统程序员需要“三心二意”的心理素质,这个是加引号的,不是说做事马马虎虎,心不在焉的。我给大家解释一下,“三心”指的是好奇心、恒心、细心;“二意”指的是共享学习体会的意愿、贡献社会和服务社会的意愿。这个是培养程序员非常关键的素质。
显然在我所接触的大学生中并不是每一个人都具有这样的心理素质。先说好奇心,并不是每一个人对程序有浓烈的兴趣,因此在教学里面,我主要的任务是把编程全面、系统、详细地展现给学员,让学员觉得写程序是非常美的享受,从而把他内心的兴趣诱发出来,让兴趣成为他们最好的老师,伴随他一生的职业生涯。这是好奇心。
第二点就是耐心。没有耐心,做任何事情都浅尝辄止的话,无法成为优秀的程序员,写程序需要大量的时间编辑代码,修改代码,再写文档,是非常耗费时间的,需要程序员有巨大的耐心做好这件事情。当然有些程序员认为懒惰的程序员才是好的程序员,那是指在开发的时候,如果程序效率不高的话,他会采取高效的算法来解决。
第三点是细心。因为编写程序需要更有细心,关注更多的问题,因此不细心的学员,马马虎虎的学员不会成为优秀的程序员。显然并不是所有的学员都具备这样的心理素质。但是我们从另外一个角度来看这个问题,因为中国的学生数量非常多,我刚才说过,每年毕业的本科计算机人才就有十万左右。因此即使千分之一的人具有这些素质,那也是非常可观的数字。可以大大增强我们自由软件队伍的规模和质量,从而可以和国际上欧美程序员展开合作与竞争。所以我要讲清楚这一点。
“二意”我想是非常重要的,如果你写程序不和别人交流,可能会失去很多帮助,如果你不想贡献社会、只为改善自己的生活而工作,那么这种程序员不是我想培养的程序员。我培养的大部分都是在大学刚刚毕业的。他们在大学的学习中还没有理解计算机的本质。
在教学过程中,我探索了一些行之有效的方法,归纳起来有如下几点:
第一,内化成瘾,把学员的兴趣诱导出来,成为他最好的老师。
第二,在我们教学的实践中,学员自己动手的时间是在70%以上,老师指导学员的时间是在30%左右,当然这个比例不是绝对的,某个时间可能教学的时间多一些,另外一个时间动手时间多一些,但是总体上说,动手时间与理论学习的时间,是7:3。
第三,就是我非常强调“才学基砖少而精”的学习。通过讲清楚编程序所必备的基本工具,以及基本的技能使学员具备基本的编程能力。在这里面涉及到一个问题,哪些属于基本功,哪些是基本的编程工具,那么我们在“黑客道”教学中做了非常细致的工作。从编程角度来讲,很多学校是从C或者是C++开始教学,还有一些从JAVA语言开始。而在“黑客道”我们不是这样,我们是从Scheme语言来传授计算机的本质。Scheme是LISP的变种,LISP诞生在Stallman院士工作的大学。这个语言非常小,特性不多,但是你不要小看这种小的语言,它的功能是非常强大的,而且计算机科学几乎所有的特性都在这门语言中得到了充分的体现。解释语言一个好的地方就是可以把你的思想、算法输入计算机,马上就会得到验证。这样你和计算机进行了非常好的交互,通过这个语言我们可以教授计算机非常本质的一些东西。理解这种特性之后,学习新的语言的时候,不会感到很多难以克服的困难,而这门语言是学习数据结构、编译原理等计算机核心课程的最佳工具。
学了Scheme语言之后,作为一名程序员,你可以利用这个语言来表达一个问题的算法,去构造解决问题的模型,而且可以非常容易地从数学模型转化成计算模型。这是我们采用的第一种编程语言,当学员熟悉了这个语言之后,我们会让学员学习C语言,用C语言去构造一些基本的砖块,因为你有基本的砖块之后,可以构建其他的程序。基本的砖块怎么构造呢?应用C语言来构造形形色色的数据结构,构造形形色色的编译模块。第三阶段,我们会讲汇编语言,作为一个新程序员只有理解了计算机硬件的工作原理,才能说这个程序员是真正理解了计算机工作的本质。所以我们在第三阶段,我们深入到硬件的层次。
当然在这个教学过程中,我们使用了很多材料,试图向学员传授一个三兼顾的一个模式。三兼顾是指兼顾哲理、数理和技理。没有哲理的指导你很快就陷入了非常多的细节当中,找不到头绪。对于初学者,学习哲学方面的知识是尤其重要的。当然哲学是朴实的,从很大的领域迅速缩小到一个较小的领域来看这个问题,可以帮助大家思考问题。有了哲学的指导之后,我们还鼓励学员学习基本的数学的理论,在我看来计算机科学是数学的一个分支,早期的计算机科学就是从计算的角度思考问题,逐渐从数学计算发展到符号计算,一直发展到现在这个样子。因此在这个领域,我们讲解数学家是怎么思考问题的,而不是教你如何解道数学题。光做数学题的话,不能对数学本质有很好的了解。因此我们大量讲解的是数学知识,伟大的数学家前辈们的数学理论,研究他们是如何思考的,他们思考问题的方法是什么,我认为这些方法对于解决编程实践中的建模问题是非常重要的。
因为在解决编程问题的时候,首先是一个数学模型,然后把这个数学模型翻译成计算模型,这是非常重要的。很遗憾,在传统的计算机教学当中,往往数学的重要性强调的还不够,所以在“黑客道”的教学当中,我们非常重视数学基本功的培养,而且不是为数学而数学,而是为了建立一个解决实际问题的模型,所以才学数学,有了这个数学模型之后,我们可以找到一个非常合适的方法,把数学模型翻译成计算模型。在“黑客道”的教学中,不光讲哲学、数学,还把这些和其他的程序设计结合起来,我们可以分析源代码,来看一看自由软件的代码是如何实现的,对哲理的思考和数理的思考。
经过了这样的训练之后,学员会对计算机本质有一个非常清晰的、系统的认识和掌握。在将来的应用当中,他们会做出优秀的程序来。“黑客道”的教学大致情况是这样子。因此到现在为止“黑客道”是一个符号,或者是一个品牌,而这个品牌代表着他完整的教学思想、教学方法、教学内容,而且这个数学内容是完全基于自由软件开发的,完全可操作的,这个没有秘密可言,只要一步一步按照教员的指导来进行系统的训练,每个学员都可以成为优秀的系统程序员,具体成才时间,因人而异,和你学习的努力程度、投入程度、原来的基本功等因素密切相关。能否把心态沉下来,在我看来是非常艰难的一步。一旦沉下来,按照流程来走,成为一个系统程序员并非高不可攀或者难于上青天。
今天Stallman先生和我一起把所知道的情况向广大的网友做一个简单的介绍。关于更多的“黑客道”信息,可以浏览我的网站:http://www.rons.net.cn。谢谢大家!
主持人:
我们要谢谢两位嘉宾,刚才两位嘉宾的话让我们印象非常的深刻,Stallman先生在解释自由软件定义的时候说,我们可以自由地去研究它的源代码,可以自由地改动源代码,可以自由地将这些源代码修改后再发布出来,让其他人也也能够受益,让每个人都拥有这种自由。洪峰先生也提到作为自由软件的参与者,要有好奇心、耐心和细心,必须要贡献于这个社会,我们也希望越来越多的网友关注自由软件。下面我们回答一下网友的提问。
网友:
Stallman先生为什么会在当初启动GNU项目,发起自由软件运动?我们想听听您当时做这件事情的想法。
Richard Stallman:
在70年代的时候,我在MIT工作,我是程序员社团的一份子,我们共同分享软件,这是生活的一部分。如果谁写了程序,都会和其他人分享这个程序,只要对方对这个软件感兴趣,这是非常好的方式,因为我们在共同努力来推进人类知识的增长。但是在70年代末,情况有所变化,有人开始开发专有软件。我觉得这很丑陋,这是一种非常丑陋的生活方式,我觉得这很恶心,这阻碍了人们去分享。后来,MIT又买了一台激光打印机,这个打印机是由专有软件控制的。出于我们工作的需要,我想修改一下它的驱动程序,但是我无法做到,因为我并没有它的源代码。在当时,这是MIT仅有的、没有源代码的软件。
后来我去了卡内基.梅隆大学(他们有打印机的源代码),我就到办公室去跟他们说,我是MIT的朋友,能不能把打印机的源代码给我一份?我认为我们都属于计算机社团,他肯定会给我,但是他们拒绝了。他们签署了一份合同,合同里面要求他们不能向别人拷贝源代码。那时,我感到有人背叛了我们,非常生气。我一句话没有说就回去了,我认识到根本没有必要跟他争论什么,他背叛了MIT所有的同事,不光如此,他背叛了整个世界,他签署了这个合同,承诺说不会和其他人分享源代码,这是一个保密合同,他们背叛了整个世界。我想到了曹操,但是事实上,他们比曹操还坏,因为曹操只是谈到了要背叛整个世界,但是他们的确是背叛了整个世界。
在80年代初,外面的公司把所有的黑客都雇走了,我也成为MIT人工智能实验室的最后一名黑客,我们的这个社团已经不再存在了。一个黑客是不可能让整个社区运行的,因此我周围的一切都已经不再存在了,这让我非常的伤心。然后我认为我想做一些工作来建立另外一个社区,在这里面人们能够再次合作,如何做这个工作呢?我想到了一个办法,这就是GNU项目,一个完整的、自由的操作系统,虽然在做的过程中,碰到了很多困难,但到目前为止,还是非常不错的。
网友:
在经历了20多年的发展,自由软件运动已经非常成功,那么在你看来有没有里程碑的事件来和大家一起分享一下,或者是受到过哪些重大的挫折,让你还记忆犹新的?
Richard Stallman:
我无法清楚记得有什么里程碑,可能有,但是我已经忘记了。但是我记得有一些重大的挫折。比如说微软想收买有社会影响力的机构,比如说学校,还有大学,以及地方政府,甚至是国家政府。微软收买了他们,将整个社会推向这种依赖微软的情况,因此我们现在有些政府就像是殖民政府一样,而不是具有独立主权政府,因为专有软件实际上是一种新的殖民方式:电子殖民,就像是过去的殖民主义一样。在殖民地,那些大型的公司招收地方的精英来帮助他们保持他们的这种影响力,因此地方的这些精英就是从中可以获得报酬,而这就是在微软员工的状况,他们在给殖民地工作。因此你不应当成为这其中的一员。
网友:
未来自由软件运动的目标是什么?能不能讲一讲将来的发展计划呢?
Richard Stallman:
我们并不做具体的计划,有的时候,我们做一些具体的技术项目。比如说现在有人正在努力开发一个自由的JAVA平台,这是非常重要的,因为许多的程序员用JAVA来写程序,但是SUN的JAVA平台不是自由的,大部分的程序只能在不自由的平台上运行,这是非常糟糕的,这就意味着任何人想用这个程序的话就有一个道德的限制。因此我们正在努力开发一个自由的JAVA平台,因此可以说这是我们的目标之一。
另外一个非常重要的目标,就是开发一个自由的FLASH播放器,现在只有专有软件能运行flash,因此现在不能用FLASH来出版东西,这个也能够被改变,只要我们有足够多的播放器,但是在这此之前不要用FLASH。
另外我们要做的就是要说服人们不要使用专有软件。比如说,现在有很多人用MS
Word来写文件,这是微软专有的格式,它不允许自由软件来打开它。我们必须倡导大家拒绝读这个WORD文件。如果有人发给我一个WORD文件,我会告诉他读不了这个文件,我不会跟他多说什么,因为它有带有病毒,或者说把你个人的信息给公布出来,虽然你以为这些信息不在,而且因为你用WORD的话,也逼迫其他人也用微软的程序,这是非常糟糕的。
现在有很多网站只能用微软的浏览器才能正常访问,我们要声讨这些网站。我们要求阅读的人告诉那些网站说,如果他们只为微软的浏览器开发的话是非常糟糕的。前一段时间,美国版权局的网站就有这个问题,我们收集了许多专家用户的看法和意见,并反馈给了美国版权局。因此这就是我们现在有的目标。
徐继哲:
还有几个问题是来自新浪副总裁、CTO,李嵩波先生的。
李嵩波:
我有一些资源用来回馈我们的自由软件社团,你对我有什么看法和建议?
Richard Stallman:
我认为最重要的就是加入到反对专有软件的活动当中,今天非常高兴的是可以用Ogg/theora来作为视频格式,这是自由软件。目前大多数播放器都是专有软件,里面充满了秘密,希望大家都不要采用这些视频格式。顺便告诉大家,Ogg/theora格式是高质量的编码方式。
李嵩波:
我的大部分同事并不了解自由软件和开源软件的差别,可否给解释一下?
Richard Stallman:
自由软件和开源软件都是计算机软件,但是,从哲学角度看自由软件和开源软件是非常不同的。它们基于不同的价值观。自由软件关注自由和社团,是一场道德运动,要求我们尊重每个人使用计算机的自由,不能让人们成为被殖民者,因此自由软件涉及到对/错的问题。而开源软件的哲学并不涉及到对与错,它仅仅是一个实用的价值观,这种哲学认为,他们有一个开发的模式,如果你按照这个开发模式来工作的话,就会得到一个高质量的软件。
因此,一个自由软件基本上是开源的,但是自由软件不光如此,它还可以保证大家能够改进软件,这一点是非常重要。从使用的角度来看的话,这些研究是可以非常有用的,我也喜欢技术含量更高的软件。因此开源软件的哲学,忽视了一个非常重要的问题,也就是如果让其他人成为被殖民者是错误的,我们必须阻止。有一些部分开源软件是自由软件,但是几乎所有的自由软件都是开源的。
主持人:
还有两个问题来问一下洪峰先生。我们想了解一下TUG 2005会议的情况?
洪峰:
TeX User
Group每年有一个年会,今年的年会是在武汉开的。TeX是一个自由软件,有巨大的用户群体,而且作为一个创作工具,是学术界和出版界事实上的标准。在排版数学和科学论文的时候,可以产生非常高质量的输出效果,可以满足印刷工业的需要。而今年的年会是8月23号到25号在武汉召开的,一共有30多个来自不同国家的朋友参加了此次会议。
主持人:
在自由软件社区里,用自由软件进行创业的情况很多吗?
洪峰:
自由软件的特点是你可以深入的了解软件的各个细节,当你理解了原作者的创作思路的时候,这个时候你可以对软件进行改写,这个时你获得了一种权利,可以利用这种权利来创造某种更多的服务。
主持人:
由于时间的关系,直播到此结束,谢谢Richard Stallman和洪峰,谢谢网友!