GNU 对自由软件的定义:与免费无关

原创
08/20 18:59
阅读数 1.7W

近年来,很多开源项目在商业化的过程中遇到了困难,抗议开源商业化的声音也一直存在。在很多对自由与开源软件不太了解的人眼中,开源软件 = 免费软件 —— 这其实是一个错误的观念。 

自由软件运动之父 Richard Stallman (RMS)曾在 GNU 章程中明确表示,自由软件是可以被售卖的。 

也就是说,自由与开源软件的商业化其实是一件非常合理的事情。

 

下文来自 GNU 官网,文中的“我们”指代以自由软件运动之父 Richard Stallman 为代表的自由软件基金会(FSF)。

销售自由软件

很多人以为 GNU 工程的精神是不收取任何发行软件的费用,或是尽量少收取费用(只收成本价)。这其实是一个误解。

事实上,自由软件基金会鼓励自由软件的发行者按自己的意愿收取费用,能收多高就收多高。如果某个许可证不允许用户复制拷贝并销售,那么它就是一个非自由的许可证。如果你觉得很惊讶,请继续读下去。 

“free”这个字基本上有两个意思:一是(言论)自由,二是(价格)免费。当我们在讨论 “free software” 时,我们讨论的是自由,而不是价格。(请考虑一下“言论自由”,而不是“免费啤酒”。)更确切地说,这意味着自由软件用户有自由运行、学习、修改以及再发行原版或是修订版软件的权利。 

自由软件有时候是免费发行的,有时候却得支付可观的费用。同样的一款自由软件在不同地区可能会有以上两种不同的发行方式。但是,无论价格如何,它都是自由的,赋予用户自由使用的权利。 

非自由软件通常以高价出售,虽然有的厂商同样会送你免费拷贝,但这并不代表该软件就是自由软件。不论有价或无价,因为其用户被剥夺了软件自由,所以这些软件不是自由软件。

既然自由软件无关价格,比较低的价格不会使软件成为自由软件,甚至也不能使之变得更接近自由。所以,当你再发行自由软件拷贝的时候,当然可以收取可观的费用并赚到钱。二次发行自由软件是一件好事也是合法的行为,借此赚钱也无可厚非。 

自由软件是一个社区工程,每个受益者都应该尽力贡献让这个社区发展壮大。自由软件的发行者可以贡献一部份利润给自由软件项目或自由软件基金会。这样将可以让自由软件的世界更加进步。 

发行自由软件正是为未来发展筹资募款的良机,千万不要浪费这个机会! 

为了支持自由软件的开发维护,你必须有一些盈余。如果你收取的费用太低,你将不会有任何盈余可以支持开发。

较高的发行价格会不会伤害到某些用户呢?

人们有时候会担心收取较高的发行费用会让没钱的人无法用到自由软件。对专有软件来说,其高昂的价格正是这个作用 —— 但是自由软件不同。

不同的地方在于:自由软件基本上会自然地散布出去,而且有很多不同的方法可以得到它。 

软件封闭者会想尽办法来阻止那些没有支付标准价格的用户运行其专有软件。如果价格太高,当然一些用户就不太会去用这些专有软件。 

对自由软件来说,用户不必支付发行费就可以使用。用户也可以从朋友处复制自由软件,或是透过朋友的帮助从网络上下载自由软件,或是几个用户可以合买一个 CD-ROM,再各自安装该软件。如果是自由软件的话,较高的 CD-ROM 价格并不会是主要障碍。

较高的发行价格会不会阻碍自由软件的推广 ?

另一个常见的担心是关于自由软件的普及度。人们通常以为,高发行价格会减少用户的人数,或是较低的发行价格会让用户人数增加。 

专有软件确实如此 —— 但是自由软件不同。由于有许多种方法可以得到自由软件的拷贝,所以事实上发行价对自由软件的普及度影响非常小。 

长期而言,自由软件的用户数量主要取决于自由软件能够做多少事以及自由软件有多好用。许多用户并不把自由放在首位;如果自由软件不能提供给人们所需的全部功能,他们会继续用专有软件。因此,长期而言,如果我们想增加用户数量,我们的当务之急是开发更多更好的自由软件。 

达成此目的最直接的方法是亲自编写人们需要的自由软件或者是撰写手册。但如果你并不是自由软件编写者而是发行这些软件的人,那么最好的方法是为编写自由软件的人募集资金。

“销售软件”一词也可能令人困惑

严格地说,“销售”一词的涵义是以物换钱。贩售自由软件的拷贝是合法的,我们也鼓励这项销售行为。 

但是,当提到“销售软件”时,人们通常会想到的是大多数公司销售软件的方式:使之成为专有软件,而不是自由软件。 

所以,除非你像这篇文章这样,很小心地划清界线,我们建议你最好避免使用“销售软件”这个词汇,而选用其他词汇来表达。例如,你可以说,“收费发行自由软件” —— 这样就不会模棱两可。

收费高低和 GNU GPL 协议

除了一个特例,GNU 通用公共许可证(GNU GPL)并未限制你可以从发行自由软件这项行为中收取多少费用。你可以不收费,你也可以只收一块钱、十块钱、甚至一百万。随便你!但是,这是市场经济,如果没有人愿意付一百万买你的版本,不要来怪我们。 

这个唯一的特例是,发行二进制码,却没有提供完整的源代码。GNU 通用公众许可证就会规定发行者在被要求时提供源代码。如果此时没有源代码的价格限制,某些发行者就会索取非常高的费用—— 比如一百万美元 —— 这样的销售手段是假装发行源代码,实际则是为不提供源码找借口。在这种情况之下,我们不得不限制源码价格以保障用户的自由。然而,一般而言并没有这种情形让我们限制发行费用,所以我们也不限制发行价格。

有时候,一些不遵守 GNU GPL 的厂商会请求 FSF 给予例外,说他们“不会对 GNU 软件收费”之类的话。他们和我们不是一路人。自由软件关乎自由,GPL 就是为保护自由而生。当我们保障这些自由的时候,我们不会因为价格问题而分散注意力。自由是问题所在,自由是整个问题,更是唯一的问题。

本文遵循 Creative Commons Attribution-NoDerivatives 4.0 International 协议
展开阅读全文
打赏
4
15 收藏
分享
加载中
自由软件 一直都不是免费的,何为免费?就是你可以占为己有,任意修改,然而这是不道德的,为什么有开源许可证?正是防止这些小人,你只有使用的权利,但没有霸占的权利,著作权还是别人的,这样才能良性循环,促进社区正常发展,当然你也可以贡献代码回馈社区。开源 != 免费 我5年前就说过了,现在还是有人不懂
08/24 18:05
回复
举报
那不就是喝鸡汤不给勺么😒
08/24 11:09
回复
举报
中国的老板认为软件都是不用钱的,严重不尊重程序员,同意的点赞
08/22 20:38
回复
举报
“对自由软件来说,用户不必支付发行费就可以使用。用户也可以从朋友处复制自由软件,或是透过朋友的帮助从网络上下载自由软件,或是几个用户可以合买一个 CD-ROM,再各自安装该软件。”那么只要有一个人免费发布出来,其他人就都不用买了,那开发者收费不就成了空谈?
08/22 12:28
回复
举报
收费?那你干嘛开源?
08/22 10:32
回复
举报
你好,长长头发大胡子
08/21 14:36
回复
举报
开源软件要收费先得讲清楚,对参与者的分配,不然就是剥削参与者。自由软件这个说法本身就有问题,明明有个许可证在哪里,假装什么自由。
08/21 14:00
回复
举报
这样的话,开源作者很有可能间接使用了自己的开源软件,而且还是被打包收费了的,这事情真是呵呵!!
08/21 12:05
回复
举报
为什么这些大佬都是长头发大胡子
08/21 11:05
回复
举报
说来说去还是一句话:没说自由软件不可以收费,但具体发生什么事我不管,只要你遵守我的规定。

假定某个自由软件发行费是100万,那么有如下几种可能:

1. 源代码100万——这是不行的,是为闭源找借口。
2. 源代码免费,二进制100万——这相当于说编译过程值100万。
3. 源代码免费,二进制网络下载免费,但光盘版100万——这相当于说每张光盘100万。

2、3两点GPL固然不管,但你觉得可能么?

其实第1种情况才是最接近实际的。软件的成本主要就出在开发上,源代码作为开发劳动的成果,为什么不能有价值,比如100万呢?所以所谓“源代码限价”才是毫无意义的举动。要说按GPL办事,你给我100万,我把二进制连同源代码一起给你,或者单给你源代码同时告诉你编译方法,至于你拿到源代码后拿去做什么,比如免费再分发,那是你的事,起码我这边没有违反GPL吧。
08/21 10:27
回复
举报
“然而,一般而言并没有这种情形让我们限制发行费用,所以我们也不限制发行价格。”第一种情况不是说了,没有发生过吗? 实际上如果源代码真的值一百万,真有公司可能去买的。不值,也没人买。
08/21 11:27
回复
举报
是的,我是不理解他们老整这乱七八糟的干什么
08/21 12:23
回复
举报
更多评论
打赏
15 评论
15 收藏
4
分享
返回顶部
顶部