开源出现已经很长时间了;它现在已经进入了从电话到电视等生活的方方面面(也包括许多非“电器”领域)。在本文中,我们将介绍开源发展所涉及到的各个领域的神秘方法。 由于我长期从事开源方面的工作,所以有时候人们就问我,开源软件何时能够成为商业软件的一种可行替代方法。我的回答是“至少在 10 年以前就已经能够替代商业软件了”。这个问题已经不是关于我是否能够在日常生活是使用开源软件;真正的问题是,如果没有开源软件,我能够做这样多的事情 吗?我一个手机运行 Linux®;另一个手机运行的是包含大量 BSD 代码的操作系统。这两个手机主要是面向使用 gcc 进行编译的开发人员的。 这里特别说明一下:当我提到“开源”,我指的是由开放源码促进会(Open Source Initiative,OSI)所定义的内容。大部分时间,我实际上并没有详细研究正式的检查清单。和其他著名的目录类似,我看到它时我就会理解。如果您能够获得源代码并且可以自由地修改代码,那么它很可能就是开源的。 本文是使用一个运行在开源内核上的开源编辑器编写的,并且将会使用开源的邮件客户端和邮件服务器,通过运行 Linux 的无线路由器发送给编辑。 开源已经出现很长时间了。即使您所处环境是非常“封闭的”,您在日常工作中也会有许多机会可能用到开源软件,通常您都感觉不到它们的存在。毕竟,这些是息息相关的。 在本文中,系列文章的第一部分将介绍开源软件的成功,我将概括介绍现在开源软件的真实繁荣现状。这其中包含两个方面:一是具体的开源软件,二是底层的开源原理。这两个方面均广泛地渗入到原本视为对开放性和共享性有明显抵触性的市场和文化领域。 开源在一开始好像违背了市场运作的预期方式。既然软件销售明显是一个大型且成功的行业,为什么人们会白送软件呢?这个问题的答案是它在经济上更有优势,这也是通常选择开源软件的原因。 普遍性的胜利 人们热衷讨论普遍性的悲剧。对于那些由于某些原因而不了解这句话来源的人而言,可以参考这里的概括。想象一个工业前时期的小村庄,其中有一个 共用的草地。当然,每个人家里都有一只山羊。(这就像一个反面情景喜剧一样,每一个都藏有一只山羊。)现在,每个人都可以选择将山羊放牧到属于他们自己的 草地上,或者选择随意放牧山羊(普遍性)。如果将山羊随意放牧到任意位置,那么山羊会吃得更好。那么您赢了!但是如果 每个人 都将山羊放牧到任意位置,那么最终草地会被破坏而变成一个荒地,那么所有人都输了! 出于某些原因,人们有时会预测出关于白送软件的一个共同结果:所有人都使用自由软件,但是没有人会贡献,而最终它将消失。但是事实证明这并不是个大问题。这种情况并没有发生。相对,人们相互协作,开发出许多人可以使用的优质软件。 石头汤 让我们看一个更复杂一些的故事:有一个骗子发明了著名的“石头汤”,他告诉人们,使用他的这个特殊的石头汤食谱,每个人只需要使用极少的食物就能够烹饪出丰盛的一餐。 您会发现,许多软件都不是用于商业销售的。它们是由于公司需要使用它来完成工作而编写的。所以他们会计划花费时间和精力来开发这些软件。因此,他们并无意 销售这个软件,也无意将它产品化;他们对这方面没有兴趣,因为这并不是他们的业务,而且它也不太可能产生收益。所以资金只会投入到内部的基础架构,使他们 更具生产力,但是,最终没有出路。 如果我有 15 万美元的预算来开发一个内部使用的软件,而其中一个工程师说通过使用一些免费软件,他能够将成本减少到 5 万美元,那么我很可能会采用这个软件。现在,要记住:我不计划通过这个软件赚钱,即不会销售它。我只是需要他来完成我的工作。所以我并没强烈的意愿去拥有 这个软件,而且即使我以前拥有这个软件,其他人也可以使用它。但是我可能会发现,如果我将修改贡献回社区,那么我保持本地修改更新的成本会更低。这意味着 所有人都在帮我免费地修改软件。 我们刚刚改造了石头汤故事。需要这个软件的公司都可以花费较少的投入,获得更好的功能,并且在这个过程中不会损失任何东西。而且,它还会增加 推广声誉(想象一下 Linux 贡献者清单;人们热衷看到他们的名字列在这个清单上),所以将一个开源项目工作提交管理层并非难事。 |