如何评估一个Linux发行版的总体成本
副标题[/!--empirenews.page--]
开源之道引言:为什么要翻译十一年前的一份白皮书?(本白皮书发表于 2008 年。)答案很简单,就是要学会算经济账,一个开源项目,尤其是大型的、经过多年开发的,企业利用该项目就要在开始的时候算好一笔经济账,它不是零成本,它像一个快速向前滚动(发展)的巨大磁石,如果你没有投入,那么很快便失去了任何的话语权,经过一段时间,则会被狠狠的甩下,体无完肤!不仅失去了创新的能力,而且成为了自己最大的负担。最后以失败而告终。 如果单单的只是将项目的某个时间的临时性成果来作为自己的产品或服务,那么就要想好要不要跟上步伐,要怎么跟?不过这些都要基于一个基础:这个阶段性的成果总成本是多少?该如何评估?于是就有了这篇文章。 介绍Linux 操作系统是历史上最为成功的开源项目,但是一个 Linux 发行版中的软件究竟“价值”多少钱?2002 年,David A. Wheeler 发表了一份备受后人推崇的研究,其指出典型的 Linux 发行版中软件代码行数的意义所在。那么他的发现是什么?结果令人震惊:典型的 Linux 发行版中的总开发成本高达 12 亿美元。我们将基于 Wheeler 先生的发现而继续挖掘。使用相同的工具,我们重新以当前的美元来计算,构建 Fedora 9 发行版的成本需要大约 108 亿美元。另外,仅内核一项的开发需要约 14 亿美元,本论文概述了我们研究过程中使用的技术,并指出开发 Linux 的成本计算模式。 Linux 操作系统是当今计算中最流行的开源操作系统,在 2008 年,它意味着是一个价值 250 亿美元的生态系统。1 自 1991 年创建以来,它已发展成为计算机领域的一支重要力量,为纽约证券交易所、移动设备、超级计算机、消费设备提供重要的驱动力量。 作为一款开放的操作系统,Linux 是协同开发的,这意味着没有任何一家公司对其开发或持续的支持负全部责任。参与 Linux 开发的公司与其合作伙伴、竞争对手分担着研发成本。这样的开发模式进一步发展为个人和公司共同承担,进而成为一个超大型的、生机勃勃的生态系统,而且驱动着无穷的创新力量。 超过 1000 多名的开发者,他们来自不同的公司,公司数量至少在 100 家左右,仅在过去两年中,来自 200 家公司的 3200 多名开发人员就为内核做出了贡献。2 值得注意的是,内核只是 Linux 发行版的一小部分,一款完整的 Linux 发行版,不仅包括内核,还有诸如 GNOME 和 KDE 桌面环境、GNU 组件、X Window 系统等等很多组件。为这些项目做出贡献的个人开发者总数肯定会达到数千人。 正因为 Linux 是协作开发的,因此无法从某个单一的来源来估算开发该项目的成本。2002 年,David A. Wheeler 发表了一项备受好评的研究,该研究检查了典型 Linux 发行版中存在的软件代码行(基于 Red Hat Linux 7.1)。3 他总结说 —— 正如我们所做的那样 —— 软件代码行数是确定开源软件价值最实用的方法,因为它专注于最终结果而不是每个公司或每个开发人员的估算。4 使用他开发的用于计算和分析 SLOC(软件代码行数)的行业标准工具,他确定在美国通过传统的封闭方法开发 Linux 发行版将花费超过 12 亿美元。 但那已经是 6 年前的事情了,由于 Linux 的创新和增长速度每年都在增加,因此我们有必要更新这个 12 亿美元的数字,从而希望能够准确反映当今 Linux 中开发的真正价值(以及软件开发本身的成本上升)。在本文中,,Linux 基金会着手确定典型 Linux 发行版中所代表的总开发成本,并更新自 2002 年发布以来广泛使用的 12 亿美元数字。 我们分析了 2008 年 5 月 13 日发布的 Fedora 9 发行版。之所以选择 Fedora,因为 Fedora 是一种流行度蛮高,口碑也还行的 Linux 发行版,它也是红帽企业版 Linux 的原型,而红帽企业版 Linux 则是拥有 Linux 市场的很大份额的发行版。更何况还是 Wheeler 在其原始论文中分析的 Red Hat Linux 7.1 软件的直接后代。 在本研究中,我们使用了 David A. Wheeler 所开发的 SLOC 工具 —— SLOCCount。SLOCCount 用到了行业标准的建设性成本模型(COCOMO),该模型是一个算法软件成本估算模型,5是由 Barry Boehm 6 开发的。该模型使用基本回归 7 公式,其参数衍生自历史项目数据和当前项目特征数据。8 我们从 2002 年开始更新他的研究,包括不断增长的 Linux 内核代码库和其他软件包,以及软件开发人员的薪水。(关于此的更多细节将在下文的“方法论”部分中进行详细讨论。) 基于该方法,如果是采用传统的封闭方法来开发这样一个规模的 Linux 发行版的话,我们估计需要 108 亿美元(2008 年)。 方法论我们的基本方法是:
如果大家对于我们是如何安装和分析源代码感兴趣的话,请参阅附录内容。 为了延续原作者的研究,我们决定使用和 2002 年所采用同一套基础代码,即选择了 Fedora 社区发行版,这也是红帽企业版 Linux(RHEL)的基础平台。经过一番考量,我们决定采用 Fedora 9 这个版本。我们统计了所有在 http://mirror.kernel.org 镜像归档文件中公开的 Fedora 9 软件包。之所以选择这个源,是因为我们不想我们最终衡量的结果被其它因素所影响。Fedora 包含比红帽企业版 Linux 更多的软件包,其中一个原因是多元化社区参与构建 Fedora,而不仅仅是一家公司。使用 SLOCCount 应用程序是一项相对简单的任务:只需将其指向源代码所在的正确目录,然后让它运行即可。在 Wheeler 的网站上仍然提供有关程序如何工作以及如何使用它的详细说明。9 (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |