我们赶上了自由软件运动的尾巴

15 Aug 2010

个人观点,仅供参考。

自由软件运动: 其实目的已经达成

自由软件运动最初的目标是为了建立一个 UNIX 复制品(clone)。这个复制品不能有版权问题, 同时也能让用户自由地使用,修改和分发。现在仔细看看, 这个目标其实已经达成, 甚至比当初设想的更多, 现在不仅有了 Linux 内核和GNU 工具, 甚至还有 GNOME, KDE 这样的桌面环境,openoffice 这样的办公套件, 可以用来吸引更多的用户。

GPL: 目的还是手段?

GPL协议是自由软件运动的一个重要组成部分。但相比于GPL协议, BSD, Apache 这类的协议给了用户更大的权利, 那么当初为什么自由软件运动会选择这种不太自由的协议呢?

个人觉得采用 GPL 是为了更快地实现自由软件运动这个目标, 也就是说GPL本身只是手段而不是目的。比如你用 GPL 协议写了一些漂亮的库(比如 libreadline), 如果开发者基于这个库写了一些软件,那么他的软件也会以 GPL 发布, 丰富了自由软件仓库。如果你用 GPL 写了一个软件, 其他开发者修改这个软件后, 再发布时也只能用 GPL 发布, 这保证了任何对软件的改进都可以回馈给原始项目, 这样可以加快改善软件质量。

但 GPL 限制了软件的使用, 特别是对于库来讲, 你无法使用 GPL 的库来开发私有软件, 所以又有了 LGPL 协议, 放松了对链接的限制, 但对软件的改进仍然保证能被回馈给原始项目。

诚然, GPL 协议对加快实现自由软件运动的目标起了很大的作用,但在这个目标已经达成的情况下, GPL 的劣势就逐渐显露出来了。


宽松的协议更易推广

现在GNU/Linux最大的用途还是在企业应用领域, 而在GPL在这个领域实在是很难推广。在这个领域里,尽管大家的协议都尽量做到与GPL兼容, 但采用GPL的少之又少, 我看到的只有 openjdk, mysql 这两个采用的是 GPL with linking exception, 其实加上 linking exception 后,这个协议就跟 LGPL 类似了(甚至更宽松)。 Ruby 是双 license, 其中一个是 GPL, 另一个 Ruby License 则非常宽松。我用过的一些其他技术,比如 ROR (MIT license), Django(BSD), Spring(Apache), Lucene(Apache), Scala(BSD), Erlang (MPL), Hadoop(Apache), ... 都没有采用 GPL, 应当都有推广会受限的考虑。

非企业应用领域, 对于普通程序, GPL 仍然有一定优势(比如保护开发者的心血不被掠夺), 但用在库上面, GPL 已经被视为一个不友好的协议。志愿者也会开发一些更宽松协议的替代品, 比如 libreadline, 现在已经有了 BSD 协议的 editline 库。opencc项目创建时,跟开发者聊起重造轮子的动机时,也提到 cconv 是 GPL 协议分发, 会给其他开发者造成困扰。

GPL 协议的另一个问题是没有回头路可走, 你如果在一个开源项目开始时使用 GPL 协议, 后来发现部分代码可以独立出来,作为一个库使用。这个时候你会发现对库重新设定授权协议(比如迁移到更宽松的LGPL)也是一个很麻烦的工作, 因为你需要取得所有贡献者的许可, 而某些贡献者可能已经联系不上了。


画饼充饥

以前一直有一个讨论, 自由软件作者如何养活自己这个问题。也出现过一些建议,包括技术支持, 捐赠, ...。技术支持对于已经流行起来了的框架软件是合适的,甚至也能挣不少钱(比如 spring), 但对于中小软件来说,这就是个笑话。对于捐赠, 也许 vim 是唯一的一个成功案例。从现实来看找一份稳定的工作, 然后在业余时间搞自由软件仍然是最方便也最大众的解决方案。这个也造成,如果一个自由软件没有公司支持, 那么就会出现推进能力不足,无法把控进度的问题。Debian 每次发行都会跳票,也很这个有很大关系,这也成就了 Ubuntu 现在的地位。


FSF: 其实作用不大

自由软件基金会(Free Software Foundation, FSF) 最早的作用是在 GPL 协议被侵犯时, 帮忙打官司的。但从现在来看, 敢于公然侵犯 GPL 的案例少之又少(中国不少, 但他又不来打官司)。FSF 要求旗下软件(比如gcc, emacs, ...)的开发者把版权转让给 FSF, 这也冒犯了部分开发者。最近推行的一些活动, 比如反对 DRM, 反对 Windows 7, 反对 Microsoft Office 格式标准化, 这类活动不仅没有得到社区的一致支持, 也没有取得成效, 大家对 FSF 难免有些失望。其他方面的推广工作就更少了, 比如 GNU Guile 其实也不算成功。


RMS: 光环渐消

RMS 对自由软件的定义有一套个人的标准, 因为这个标准, 跟很多社区吵过架,比如 BSD, Mono, ... 也跟 Linus 在 GPLv3 的问题上吵过。这些都降低了 RMS 的号召力。而对 SaaS 这类运动的攻击, 则把他自己推到了一个保守主义的位置。RMS 的观点似乎停留在了互联网之前的时代, 他的演讲, 演讲后的拜神活动都有那个时代的影子。 RMS 不再是那个引领潮流的人。


浪潮已经转移

现在其实也是一个软件业大转型的时期, 不仅有 智能手机, 平板, Web 这种新型的终端,也有 Android OS, iOS, Chromium OS 这种新型操作系统的设计理念, Scala, erlang 这种面对新挑战的语言,还有 Django, ROR 这类的 web 快速开发框架。大量的 Geek 们正在这些领域展现自己的聪明和才智,而这些似乎都不再与 RMS, FSF, 自由软件运动相关了。

自由软件软件运动目标已经达成, GPL 已经完成他的历史使命。即使没有 GPL 的保护, 现有的 GNU/Linux 也不会被摧毁。如果自由软件运动不能提出更有号召力的方向, 那么只会慢慢消失, 其实消失也不是坏事。

Tags: foss

Related Posts:

comments powered by Disqus
Copyright © 2017 LI Daobing, Powered by github:pages, Jekyll, bootstrap, Designed by quanquan
Fork me on GitHub