今天要写一篇谈论性质的post了,虽然手头有100+个关于开源的话题可以写。

老实说,这个问题我确一直在困惑,到底什么才算是自由软件,自由软件这种提法与通常的开源软件有何分别?有说自由与开源两者是哲学上的分别,仔细想了想也不尽然,应该说是角度上的不同,两者也不尽相同。比如说,目前的MySQL企业版,我们还可以称之为开源软件,但我确不愿意称它为自由软件。

自由软件,英文译文为Free Software,以与免费软件(Freeware)相区别。所谓自由,我在GNU站点上找到了比较满意的解释,官方(GNU)的说法是需满足4个要求,从自由0到自由3,我试着翻译一下:

  1. 自由0:可以以任何目的运行该软件的自由;
  2. 自由1: 理解软件工作原理的自由,以及对其进行修改以便更好的使用的自由。(开放源代码是保证这一自由的前提条件);
  3. 自由2:分发该软件拷贝的自由;
  4. 自由3:有改进程序并再次分发的自由,以利于整个社区都能分享你的成果。

这个应该是作为判断自由软件的一个好的方法,我不同意一些观点认为开源+GPL是自由软件的模式,诚然,这可以去除一些伪自由软件,但还是有些狭隘了。GPL的存在,从某种角度上是认可版权是一种强大的存在,虽然它是copyleft,因为它的授权协议是如此霸道以至于让人对GPL协议下的软件的版权充满敬畏。想比而言,我比较喜欢BSD的协议。Berkeley真是一个极其神奇的地方,一直听说Berkeley是自由主义的大本营,其实Berkeley的自由不仅仅是集中在Berkeley新闻学院,而是整个学校的文化。

tags:

相关文章: