免费是“开源”的最终目的


“开源软件”不过是因某些人对免费软件的不安而出现的。事实上,免费软件本身并不可怕,是时候还这种革命性的软件生产方式本来面目了。

 

Web 2.0专家Nat Torkington的一句“ ‘开源’是否完全没有意义了?”引发了无数的争论。但无论如何,他的问题有一定道理。尽管私有软件和开源软件的商业模式和许可证计划各不相同,还是有很多公司声称要开放源代码。现在已越来越难判断哪些是正统的开源,哪些不是。这个问题引发的争论本身就证明了这滩水有多混。

如果要解释什么是开源软件,大多数人可能都会背出一串软件本身的实用特点。但仔细想想就会发现,很难以这种方式来解释开源的价值。

比如,开源软件是免费的。如果某软件是开源的,你就肯定可以从某处免费下载和使用。但是许多软件销售商也免费提供很多高质、完善并且适合企业使用的软件。微软的Internet Explorer就是免费的,但以这个定义来看,它能算是开源软件吗?

与此相似,开源软件号称是在社区的推动下发展的,但这并不是它的专利。坦白地讲,Adobe的 Photoshop和微软的Excel也有社区,你可以找到很多与这些产品相关的免费课程、邮件表、网络论坛、用户团体、书籍、杂志和聊天室,就像Linux或任何其他开源软件一样。另外,每种软件都有很多活跃的独立开发者,他们可以开发附件、模版和插件程序,很多都可以免费下载。所以,如果说社区是开源的决定性特点,那就会使问题更复杂。

确实,开源可以被最终用户再次发布,但这也不是开源的决定性特点。实际上,很多免费软件都是可以再次发布的。我从未听说过微软采取了什么措施阻止承包商烧毁那些发布给客户的写满Windows软件更新程序的DVD。尽管如此,这些更新程序还是私有软件。发布其他人的软件并不意味着就是开放源代码,这只能说明你是个传递者。

那么,究竟什么才是开源最显著的特点:源代码对最终用户开放?这足够将开源定义为软件的一类吗?不幸的是,答案依然是否定的。微软的共享源码计划将Windows的源代码向某些顾客开放,但这并不能改变它是私有软件的本质。

显然,开源软件的使用特点不足以解释什么是开源。那么,究竟什么是开源?问题的答案很复杂,所幸在文件中有所记录。开源促进会公布的定义中有,无数由开源促进会批准的许可证中也有。只有在这些许可证下,开源计划才能发布。

但是,长期致力于开源的Richard Stallman说,这些定义只解决了部分问题。我非常同意他的观点。Stallman在免费软件基金会的网站新发表的一篇文章中指出,“开源”遗漏了免费软件这一点。“开源这一说法很快就和实用价值联系到了一起,比如强大、可靠等特点。”大多数开源的支持者从此开始加入开源行列,所做的都是不断努力实现这些特点。

实际上,开源仅仅是Stallman称之为“免费软件”的子集。“开源软件”这一名称形成的主要动因是“免费软件”这个很有公益感的概念使某些人不安。从广义上来说,这也是在开源的定义上很难达成一致的原因。没有确定的指导理念,开源运动当然很难在有序的领导下进行。

免费软件显然是意识形态的运动,这样就很自然地使某些人不安。但越来越多的商业软件公司已经开始接受通用公共许可证了,这是免费软件意识形态中最重要的表达方式。甚至还有人建议所有软件公司都需要通用公共许可证。

所以,问题并非是“开源是否还有意义了”,真正的问题在于“为什么我们还在讨论它”。这是一个革命性的生产软件的方式,它叫免费软件,也许是时候让更多的人知道它的本来面目了。 (作者为《InfoWorld》高级编辑)

posted on 2007-03-19 10:35  Gardener  阅读(355)  评论(4编辑  收藏  举报