理查德·马修·斯托曼(Richard Matthew Stallman, RMS,生于1953年),自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客。在这片文章中他主要讲述自由软件和开源之间的关系,以及为什么开源软件的发展比预想的要差! 要说一个软件是 “自由” 的,这意味着它尊重 用户的基本自由:运行这个软件,学习和修改它,以及重新发布它的原版或修改版。这是个关于自由权利的问题,而非价格高低。我们讨论的自由是如同自由言论般的权利,不是免费赠饮一样的大派送。 这几样自由是至关重要的。之所以说它们重要,不仅仅因为它们可以讨好哪个用户,更是由于它们维系着整个社会的凝聚力— 具体说来,就是分享与协作的精神。随着我们的生活与文化日渐数字化,这样的自由精神也随之越来越可贵。在一个充斥着数字化音像与文字的世界中,自由软件日益重要,它本身已经成为关乎着我们基本自由的因素之一。 当今世界中,成百上千万的用户正在使用着自由软件;在印度和西班牙某些地区的公立学校里,全体学生都学习如何使用自由的 GNU/Linux 操作系统。然而,这些用户之中,大多数人却并不了解我们为何开发这个自由系统,又为何建立起整个自由软件社区,以及背后驱动这一切的道义上的逻辑。因为如今这个自由系统,乃至整个社区都被以“ 开源” 一词以蔽之。顺着这个词,一切都被引入了一个完全不同的思维之中。在那里,自由这东西,甚少提及。 从 1983 年起,我们以维护计算机用户自由之名兴起了自由软件运动。在 1984 年,我们发起了开发自由操作系统的计划,并将此系统命名为GNU。借此系统,我们就不必倚赖非自由的操作系统,不再坐视它们肆意剥夺用户的自由。在二十世纪八十年代,我们开发了系统的绝大多数组件。为了保护用户的自由,我们设计了 GNU 通用公共许可证 (GNU GPL),并以该许可证发行大部分组件。 并非全部的自由软件用户和开发者都赞同自由软件运动的目标。1998年,自由软件阵营中的部分成员分裂出来,并以“开源”为名继续开展活动。一开始,由于“自由软件”(free software)一词可能引起歧义,这才提出开源这个说法。但是很快开源这词便开始异化,使得其背后的逻辑与自由软件运动的初衷相去甚远。 一些开源的支持者会认为,所谓开源,无非是用来“为自由软件做市场营销”的。具体说来,就是向那些商界人士展现自由软件的实际好处。同时避免谈及什么对错正误,因为商业大佬们普遍不太喜欢这调调。还有一些开源的支持者干脆就抛弃自由软件道义上的价值观。无论他们持哪种观点,一旦他们开始为开源营销的时候,自由软件运动所珍视的那些价值观就被抛诸脑后。于是,“开源”一词很快就单纯地和各种实用主义的价值观联系起来。比如说怎么能创造一个强大,稳定的软件。很多开源支持者从一开始就把这些价值观推崇至极,也难怪局外人会有如此联系了。 开源软件和自由软件这两个词在很大程度上描述的是同一类软件,但是它们所基于的价值观却有着本质上的区别。开源是指一套开发方法;而自由软件则是一场社会运动。对于自由软件运动而言,自由软件是一个道德底线。因为只有自由软件才真正尊重用户的自由。开源软件则与此不同,开源的哲学是考虑怎么做把软件做得“ 更好 ” — 仅仅从实用的角度考虑好坏。开源的哲学里,非自由软件之所以不好,是因为他们采用了一种劣等的开发方式。而自由软件运动则以为,非自由软件本身就是一个社会问题。解决的方案则只能是抛弃非自由软件,转投自由软件。 “自由软件”,“开源软件”,既然都指的是同类软件,那何必在名字上这么较真呢?恐怕还是有这个必要的。因为不同的词汇传递着不同的思维。尽管现在看来,用另一个名字称呼自由软件可以给你同等的自由,但若要长期维护用户的自由,则必须让人们意识到自由的价值。倘若你想帮助人们做到这点,那么使用“自由软件”这一称呼则尤为重要。 作为自由软件运动的成员,我们并不将开源阵营视为敌人。我们的敌人是专有(非自由)软件。但我们希望人们至少应该知道,我们所捍卫的是用户的自由。所以我们不愿被开源支持者们贴错标签。 实践中,开源与自由软件的区别在实践中,开源的要求比自由软件宽松一些。据我们所知,几乎所有的自由软件都是开源软件。尽管大多数开源软件也同样是自由软件,但会有一些例外。首先,有些开源许可证对用户过于苛刻,它们就没有被列为自由软件。幸运的是,只有很少的软件会使用这些许可证。 另外,还有更重要的一点。很多产品会具备计算机的功能,上面会运行着自由软件。然而,如果你把这些自由软件做了修改,再安装回那些设备上,这行为则在很多设备上无法完成。换言之,这些设备制造商会禁止用户安装或运行修改后的自由软件(这包括许多Android设备),而只允许制造商授权的人或单位修改用户设备上的软件。我们把这种设备称作“tyrants”,即“专制暴君”;把这种行为称为“tivoization”。这个词源自TiVo公司生产的机顶盒。它们的机顶盒基于GNU/Linux系统,使用了很多自由软件。用户可以使用该产品,通过互联网观看视频节目。虽然TiVo公司按照许可证,发布了源代码,但是却禁止用户在机顶盒上运行自己的程序,或重新安装系统。这是我们见到的第一个“tyrant”。在这样的产品上运行的软件,哪怕是以自由软件许可证发布了代码,但是运行的二进制版本却不能被认为是自由软件。因为它们同样限制了用户的自由。而它们却符合开源软件的定义,因为开源软件仅仅通过软件许可证来界定开源和非开源。 |