跳至内容

开源软件概述/为什么选择开源软件?

来自维基教科书,开放世界的开放书籍

安德鲁·伦纳德,“另一种声音:科技贫困者如何也能拥有软件富足”[1]

开源软件被称作很多东西:运动、时尚、病毒、共产主义阴谋,甚至是互联网的灵魂。但一个重点往往被忽视:开源软件也是将财富从工业化国家转移到发展中国家的一个非常有效的工具。”

开源软件免费吗?

[编辑 | 编辑源代码]

围绕免费/开源软件的流行神话是它总是“免费”的,也就是说,“免费使用”。在某种程度上,这是真的。没有真正的开源软件应用程序会收取使用费。大多数开源 Linux 发行版(红帽SuSEDebian 等)可以从互联网上免费获取。从许可成本的角度来看,开源软件应用程序几乎总是比专有软件便宜。

然而,许可成本并不是软件包或基础设施的唯一成本。还需要考虑人员成本、硬件要求、机会成本和培训成本。这些成本通常被称为总拥有成本 (TCO),这些成本最清楚地反映了使用开源软件的节省。 [2]

开源软件可以节省多少成本?

[编辑 | 编辑源代码]

最近有报道称,开源软件可以节省大量成本,最引人注目的是那些将内部系统迁移到GNU/Linux的大型公司。英特尔据报道从Unix迁移到GNU/Linux节省了2亿美元,而亚马逊则报告称,将服务器切换到GNU/Linux节省了1700万美元。 [3] 信贷瑞士第一波士顿、摩根士丹利、高盛和查尔斯·施瓦布等主要金融机构正在将其基础设施的很大一部分迁移到开源系统以获取这些成本节省。 [4]

有一些TCO研究表明,运行开源系统与专有系统的总成本。这些研究分析了除软件许可成本以外的多种成本因素,包括维护、人员和服务中断造成的损失成本。其中一些对开源软件持非常积极的态度。

  1. 罗伯特·弗朗西斯集团进行的一项TCO研究表明,GNU/Linux 的成本约为微软Windows 的40%,低至Sun Microsystems Solaris 的14%。 [5]
  2. NetProject 报道称,GNU/Linux 的TCO 为微软Windows 的TCO 的35%。[6] 更有趣的是,节省的成本不仅来自于许可成本,还来自于其他各种成本,包括使用GNU/Linux 导致的支持人员和软件更新数量减少。
  3. Gartner 报告称,在“锁定”配置中使用GNU/LinuxWindows XP 相比,TCO 降低了约 15%。[7]

美林,一家主要的金融管理公司,最近报告称,使用GNU/Linux 可以大幅降低成本。他们TCO研究中不同寻常的部分是,最大的成本节省并非来自软件许可成本,而是来自人员和硬件成本。 [8]

直接成本节省 - 一个例子

[编辑 | 编辑源代码]

赛博源 [9]澳大利亚 的一家公司,他们基于微软产品和提供类似功能的开源软件之间的比较,对开源软件节省的成本进行了分析。这项名为“Linux vs. Windows:底线”的研究考察了三家假设公司的潜在节省(A:50 名用户;B:100 名用户;C:250 名用户)。所有数字均以美元计。

微软和开源解决方案的成本比较
微软解决方案 Linux/开源解决方案 节省
公司 A:50 名用户 $87,988 $80 $87,908
公司 B:100 名用户 $136,734 $80 $136,654
公司 C:250 名用户 $282,974 $80 $282,894

注意:

实施开源解决方案而不是微软解决方案所获得的节省实际上随着用户数量的增加而增加,规模越大,节省的成本越高。迁移到开源软件的财务激励随着组织规模的增长而增加。

赛博源研究很简单,只比较软件包的成本。以下两张表列出了两家公司(微软和开源)为 50 名用户提供的两种软件解决方案的价格。

- 微软解决方案软件成本
软件 副本 成本
诺顿反病毒 2002 50 $2,498
微软互联网信息服务器 2 $0
微软 Windows 2000 高级服务器 5 $19,995
微软商务服务器 1 $12,333
微软 ISA 标准服务器 2000 1 $1,499
微软 SQL Server 2000 1 $4,999
微软 Exchange 标准服务器 2000 1 $1,299
Windows XP 专业版 50 $14,950
微软 Visual Studio 6.0 3 $2,237
微软 Office 标准版 50 $23,950
Adobe Photoshop 6 2 $1,218
其他客户端访问许可 30 $2,010
总计 $87,988
- 开源解决方案软件成本
软件 副本 成本
Linux 发行版 (等同于红帽 9.0) 1 $80
Apache (Web 服务器) $0
Squid (代理服务器) $0
PostgreSQL (数据库) $0
iptables (防火墙) $0
Sendmail/Postfix (邮件服务器) $0
KDevelop (IDE) $0
GIMP (图形) $0
OpenOffice (生产力套件) $0
OSCommerce (电子商务套件) $0
总计 $80

注意

即使用户数量增加,GNU/Linux 软件解决方案的成本仍然固定。这是因为 GNU/Linux 的许可不受限制,而 微软 和其他专有软件的许可证则需要额外的每用户成本。

公共部门 机构通常拥有更多用户,这意味着更大幅度的节省。例如,瑞典 政府已经确定每年可以节省 10 亿美元,而丹麦 政府已经确定可以节省 4.8 亿至 7.3 亿美元。[10]

使用 FOSS 的好处是什么?

[编辑 | 编辑源代码]

除了 FOSS 的低成本之外,还有很多其他原因让公共/私营机构积极采用 FOSS。这些原因包括:

  1. 安全性
  2. 可靠性/稳定性
  3. 开放标准和供应商独立性
  4. 减少对进口的依赖
  5. 发展本地软件能力
  6. 盗版、知识产权和世贸组织
  7. 本地化

最后四点对政府尤为重要,因为它们是政府特有的。公司和最终用户通常不处理这些问题。

安全性

[编辑 | 编辑源代码]

虽然没有完全安全的操作系统或平台,但开发方法、程序架构和目标市场等因素会极大地影响系统的安全性,从而使系统更容易或更难被破解。有一些迹象表明,在这方面,FOSS 系统优于专有系统。

  • Gartner 集团建议企业从微软 Internet Information Server (IIS) 切换到 Apache 或其他 Web 服务器,因为 IIS 的安全记录很差。Gartner 集团指出,到 2001 年 7 月,美国企业仅仅修复 Code Red(与 IIS 相关的)漏洞就花费了 12 亿美元。[11]
  • 如果使用 Windows 而不是 GNU/Linux 或 Unix 系统,由 J.S. Wurzler 承保管理公司提供的“黑客保险”的成本会高出 5% 到 15%。J.S. Wurzler 承保管理公司的高级副总裁 Walter Kopf 说:“我们发现,使用 NT 系统的损失可能性更大。”[12]

安全方面已经鼓励许多公共机构切换或考虑切换到 FOSS 解决方案。法国海关和间接税务局迁移到 Red Hat Linux 6.2,主要是因为安全问题。[13]

人们经常引用三个理由来说明 FOSS 更高的安全性记录:

源代码可用性
FOSS 系统源代码的可用性使开发人员和用户更容易发现和修复漏洞,通常在漏洞被利用之前。Bugtraq 列出的许多 FOSS 漏洞是在定期审计期间发现的错误,并且已在没有任何已知漏洞的情况下修复。FOSS 系统通常采用主动式而非被动式审计。
注重安全性,而非用户友好性
可以说,FOSS 运行着互联网的大部分 [14],因此更注重稳健性和功能性,而非易用性。在任何主要 FOSS 应用程序中添加功能之前,都会考虑其安全性问题,并且只有在确定不会影响系统安全性时才添加该功能。
根源
FOSS 系统主要基于 多用户、网络就绪的 Unix 模型。因此,它们具有强大的安全和权限结构。当多个用户共享一台功能强大的服务器时,此类模型至关重要——也就是说,如果安全性很弱,一个用户可能会使服务器崩溃,窃取其他用户的私有数据或剥夺其他用户的计算资源。因此,大多数应用程序中的漏洞只会导致有限的安全漏洞。

可靠性/稳定性

[编辑 | 编辑源代码]

FOSS 系统以其稳定性和可靠性而闻名。关于 FOSS 服务器运行多年无需维护的轶事很多。但是,定量研究很难找到。以下是迄今为止进行的两项研究:

  1. 1999 年,Zdnet 进行了为期 10 个月的可靠性测试,测试对象为 Red Hat LinuxCaldera Systems OpenLinux微软的 Windows NT Server 4.0(带 Service Pack 3)。所有三者都在相同的硬件系统上运行,并执行打印、Web 服务和文件服务功能。结果是,NT 每六周崩溃一次,但所有 FOSS 系统在整个 10 个月内都没有崩溃。[15]
  2. 一项使用随机测试的压力测试1995 年 对七个商业系统和 GNU/Linux 系统进行了压力测试。随机字符被输入到这些系统中,以模拟来自错误数据或用户的垃圾数据。结果是,商业系统的平均故障率为 23%,而 Linux 的整体故障率为 9%。GNU 工具(由 FSFGNU 项目 下生产的软件)的故障率仅为 6%。几年后的后续研究发现,该研究确定的缺陷在 FOSS 系统中都已修复,但在专有软件中通常未修复。[16]

开放标准和供应商独立性

[编辑 | 编辑源代码]

开放标准让用户(无论是个人还是政府)拥有灵活性,并能自由地在不同的软件包、平台和供应商之间切换。专有、秘密标准将用户锁定在只能使用一家供应商的软件,并在随后阶段将他们置于供应商的控制之下,此时他们所有数据都处于供应商的专有格式中,而将数据转换为开放标准的成本非常高。

由荷兰国际信息学研究所撰写的论文“自由/自由和开源软件:调查和研究”的作者也反对在政府中使用专有软件。他们说:

国际信息学研究所

因此,反对在公共部门实施专有软件的一个主要论点是随之而来的对专有软件供应商的依赖。每当制定专有标准时,都会出现必须遵守这些标准的要求。即使在公开招标的采购系统中,对与专有标准兼容性的要求也使系统偏向特定软件供应商,从而导致依赖关系持续存在。

FOSS 的另一个优点是它们几乎总是使用开放标准。这主要有两个原因:

  1. 源代码可用性:有了源代码,始终有可能对应用程序使用的标准进行 逆向工程 并记录其文档。所有可能的变体都可以在源代码中清晰地看到,这使得在 FOSS 系统中隐藏专有标准变得不可能。但是,专有软件很难进行 逆向工程,在某些情况下,专有软件会被故意混淆。
  2. 积极的标准合规性:当存在既定标准时,例如控制网页显示方式的 超文本标记语言 (HTML),FOSS 项目会积极努力地忠实地遵循这些标准。FOSS 努力的成果 Mozilla Web 浏览器 完全符合来自 万维网联盟 (W3C) 的许多标准。Webstandards.org 指出,Mozilla 是目前最符合标准的浏览器之一。[17] 对标准的合规性是由于 FOSS 开发文化,在这种文化中,共享和与其他应用程序合作是常态。当有已发布的标准需要遵守时,与全球分散的开发人员团队合作也更容易。

在几个领域都提到了使用 FOSS 系统作为获得供应商独立性的手段。一份提交给英国政府的报告得出结论:“OSS 数据标准参考实现的存在通常会加速此类标准的采用,并建议政府考虑有选择地赞助 OSS 参考实现。”[18]

减少对进口的依赖

[编辑 | 编辑源代码]

对于发展中国家来说,采用FOSS系统的一个主要动力是专有软件许可证的巨额成本。由于发展中国家几乎所有专有软件都是进口的,它们的购买会消耗宝贵的硬通货和外汇储备。这些储备可以更好地用于其他发展目标。

欧洲研究“自由/开源软件:调查和研究”也指出,“这种面向服务的开源模式的成本通常也会在政府组织的经济体内部支出,而不需要支付给大型跨国公司。这对就业、当地投资基础、税收收入等方面产生了积极的反馈。”[19]

发展本地软件能力

[编辑 | 编辑源代码]

人们已经注意到,FOSS开发人员基础的增长与经济体的创新能力(软件)之间存在正相关性。国际信息学研究所的一份报告列出了三个原因:[20]

  1. 进入壁垒低:FOSS鼓励免费修改和重新发布,易于获取、使用和学习。专有软件往往限制性更强,不仅体现在源代码的可用性有限,还体现在许可、专利和版权限制等方面。FOSS允许开发人员在现有知识和预构建组件的基础上进行构建,就像基础研究一样。
  2. FOSS是一个优秀的培训系统:FOSS的开放和协作性质允许学生以几乎不给社会带来直接成本的方式检查和实验软件概念。同样,学生可以利用全球协作的FOSS开发网络,该网络包括大量的技术信息档案和交互式讨论工具。
  3. FOSS作为标准来源:FOSS通常凭借其在行业特定领域的主导地位成为一种事实上的标准。通过参与设置特定FOSS应用程序的标准,一个地区可以确保产生的标准考虑了区域需求和文化因素。

FOSS的开发方法不仅极大地促进了创新,而且还促进了创新的传播。一份微软内部备忘录指出,“在Linux之上进行的研究/教学项目很容易‘传播’,因为Linux源代码的广泛可用性。特别是,这通常意味着新的研究思想首先在Linux上实现并可用,然后才在其他平台上可用/整合。”[21]

盗版、知识产权和世贸组织

[编辑 | 编辑源代码]

软件盗版是几乎全世界每个国家都面临的一个问题。商业软件联盟估计,仅2002年软件盗版就造成了130.8亿美元的损失。即使在发达国家,理论上软件价格实惠,盗版率也高达美国的24%和欧洲的35%。在发展中国家,由于较低的收入水平使得软件价格昂贵,盗版率高达90%以上。[22]

软件盗版和宽松的打击盗版法律会而且确实会从多个方面损害一个国家。一个对知识产权(IPR)保护不力的国家对外国投资者没有那么有吸引力。加入世界贸易组织(WTO)及其利益的获得,在很大程度上取决于一个国家对知识产权的保护程度。最后,软件盗版的文化会损害本地软件开发,因为本地软件开发人员开发本地产品的动力不足。

本地化

[编辑 | 编辑源代码]

本地化行业标准协会[23]

本地化是指将产品进行语言和文化上的调整,使其适合目标区域(国家/地区和语言)的使用和销售。

本地化是FOSS大放异彩的领域之一,因为它具有开放性。用户能够修改FOSS以满足特定文化区域的独特需求,而无需考虑经济规模。所需的只是一些技术能力,一小部分人就可以创建任何FOSS的最小本地化版本。虽然构建一个完全本地化的软件平台并非易事,但至少是可能的。微软1998年决定不发布Windows 98的冰岛语版本[24],如果FOSS替代方案没有出现,将会产生严重的影响。

亚太地区大多数早期的FOSS倡议都是针对本地化FOSS的。有关本地化的更多详细信息,请参见本入门指南的“本地化和国际化”部分。

FOSS的缺点是什么?

[编辑 | 编辑源代码]

FOSS带来了很多好处,但并不适合所有情况。FOSS在一些领域需要改进。

缺乏商业应用程序

[编辑 | 编辑源代码]

虽然今天有许多FOSS项目,但在许多领域仍然缺乏全功能的产品,尤其是在商业领域。最近对企业资源规划平台(如SAP和Peoplesoft)的移植帮助覆盖了高端应用市场,但中小企业[25](SME)市场仍然服务不足。目前还没有与QuickBooksPeachtreeGreat Plains等基础、成熟的会计应用程序等效的FOSS产品。

这个问题部分是由于精通技术和商业领域的人员短缺造成的。今天大多数现有的FOSS项目都是由遇到问题并编写软件来“解决问题”的技术开发人员启动的。这些项目通常具有相当的技术性,例如创建Web服务器编程语言/环境和网络工具。对于软件开发人员来说,例如遇到会计问题并拥有创建技术解决方案的商业知识是很少见的。

与专有系统的互操作性

[编辑 | 编辑源代码]

FOSS系统,尤其是在桌面端,与专有系统并不完全兼容。对于已经投入大量资金到专有应用程序和数据存储格式的组织来说,试图集成FOSS解决方案可能会非常昂贵。改变专有标准(这通常是为了防止集成替代解决方案)加剧了这个问题。

随着时间的推移,随着组织从专有标准转向开放标准,这个问题应该会减少。

文档和“打磨”

[编辑 | 编辑源代码]

成熟的FOSS缺乏商业软件中广泛的文档和用户友好性。[26]早期FOSS开发人员的主要关注点是功能。创建一个运行良好的程序比易用性要重要得多。

除了高质量文档的匮乏之外,FOSS图形用户界面(GUI)也存在用户界面问题。由于大多数FOSS系统中的GUI元素不是单个元素,而是一组粘合在一起的不同项目,因此GUI元素的行为差异很大。保存数据的命令在不同的程序之间有所不同,与Mac OS XMicrosoft Windows等专有桌面操作系统截然不同。在不同程序之间剪切和粘贴可能很不一致,甚至无法实现。虽然目前正在进行大量的统一桌面工作,但桌面在未来一段时间内可能会保持不一致。

  1. Leonard, Andrew, “An Alternative Voice: How the Tech-Poor Can Still Be Software Rich”, 2001年6月28日,国际先驱论坛报在线;可从http://www.iht.com/cgi-bin/generic.cgi?template=articleprint.tmplh&ArticleId=24330获取;互联网;于2003年11月7日访问。
  2. 有些人认为更好的衡量指标应该是投资回报率 (ROI)。然而,关于开源软件系统ROI的研究很少,而且ROI与TCO一样难以衡量,甚至更难。关于ROI与TCO的一篇文章可在以下网址找到:http://InfoWorld.com/t/platforms/real-cost-switching-linux-544
  3. Shankland, Kane, Lemos, “How Linux saved Amazon Millions”, 2001年10月30日,Cnet News.com ;可从http://archive.is/20130628220314/http://news.com.com/2100-1001-275155.html 获取;互联网;于2003年11月7日访问。
  4. Sisk, Michael, “Linux Woos Wall St.”, 2003年8月,银行技术新闻;可从http://www.americanbanker.com/btn/16_8/-203330-1.html 获取;互联网;于2003年11月7日访问。
  5. Orzech, Dan, “Linux TCO: Less Than Half The Cost of Windows”, 2002年10月7日,CIO更新;可从http://www.cioupdate.com/article.php/10493_1477911获取;互联网;于2003年11月7日访问。
  6. netproject – 成本所有权” [主页在线];可从http://www.netproject.com/opensource/coo.html 获取;互联网;于2003年11月7日访问。
  7. Maguire, James, “Windows vs. Linux: TCO Feud Rages On”, 2003年8月1日,Newsfactor Network [主页在线];可从http://www.newsfactor.com/perl/story/22012.html 获取;互联网;于2003年11月8日访问。
  8. Lemos, Robert, “Merrill Lynch: Linux saves money”, 2003年6月7日,CNet News.com [主页在线];可从http://archive.is/20130628220712/http://news.com.com/2100-1016_3-1014287.html?tag=fd_top 获取;互联网;于2003年11月8日访问。
  9. “欢迎来到Cybersource” [主页在线];可从http://www.cyber.com.au 获取;互联网;于2003年11月8日访问。
  10. Glover, Tony, “Microsoft losing market grip as rivals go on the offensive”, 2002年5月18日,苏格兰星期天报;可从http://www.scotlandonsunday.com/business.cfm?id=562032003 获取;互联网;于2003年11月8日访问。
  11. Pescatore, John, “Commentary: Another worm, more patches”, 2001年9月20日,CNet News.com;可从http://archive.is/20130628220715/http://news.com.com/2009-1001-273288.html?legacy=cnet&tag=nbs 获取;互联网;于2003年11月8日访问。
  12. Luening, Eric, “Windows users pay for hacker insurance”, 2001年5月29日,CNet News.com [主页在线];可从http://archive.is/20130628222312/http://news.com.com/2100-1001-258392.html?legacy=cne 获取;互联网;于2003年11月8日访问。
  13. Ghosh, Krieger, Glott, Robles, “Free/Libre and Open Source Software: Survey and Study. Part 2B: Open Source Software in the Public Sector: Policy within the European Union”, 2002年6月;可从http://www.infonomics.nl/FLOSS/report/FLOSSFinal_2b.pdf 获取;互联网;于2003年11月8日访问。
  14. Najani, Niranjan, “Free as in Education”, 可从http://www.maailma.kaapeli.fi/FLOSSReport1.0.html 获取;互联网;于2003年11月8日访问。
  15. Vaughan-Nichols, Steven J., “Can You Trust This Penguin?”, 1999年11月1日,ZDNet SmartPartner。文章不再从ZDNet网站获得,但存档于http://web.archive.org/web/20010606035231/http://www.zdnet.com/sp/stories/issue/0,4537,2387282,00.html ;互联网;于2003年11月8日访问。
  16. Wheeler, David, “Why OSS/FS? Look at the Numbers!” [主页在线];可从http://www.dwheeler.com/oss_fs_why.html 获取;互联网;于2003年11月8日访问。
  17. “网络标准项目:为我们浏览器的标准而战” [主页在线];可从http://archive.webstandards.org/upgrade/ 获取;互联网;于2003年11月8日访问。
  18. Ghosh, Krieger, Glott, Robles, “Free/Libre and Open Source Software: Survey and Study. Part 2B: Open Source Software in the Public Sector: Policy within the European Union”, 2002年6月;可从http://www.infonomics.nl/FLOSS/report/FLOSSFinal_2b.pdf获取;互联网;于2003年11月8日访问。
  19. Ghosh, Krieger, Glott, Robles, “Free/Libre and Open Source Software: Survey and Study. Part 2B: Open Source Software in the Public Sector: Policy within the European Union”, 2002年6月;可从http://www.infonomics.nl/FLOSS/report/FLOSSFinal_2b.pdf获取;互联网;于2003年11月8日访问。
  20. 同上
  21. “Doc1: 万圣节文档” [主页在线];可从http://www.opensource.org/halloween/halloween1.html 获取;互联网;于2003年11月8日访问。
  22. Roberts, Paul, “Software Piracy Declines 10 Percent”, 2003年6月3日,Infoworld.com [主页在线];可从http://www.infoworld.com/article/03/06/03/HNpiracydecline_1.html?security获取;互联网;于2003年11月8日访问。
  23. “常见问题解答” [主页在线];可从http://www.lisa.org/info/faqs.html#gil 获取;互联网;于2003年11月8日访问。
  24. Walsh, Mary Williams, “Microsoft in War of Words”, 洛杉矶时报;可从[1]获取;互联网;于2003年11月8日访问。
  25. DiCarlo, Lisa, “PeopleSoft Jumps On The Linux Train”, Forbes.com;可从http://www.forbes.com/technology/2003/05/06/cx_ld_0506psft.html 获取;互联网;于2003年11月8日访问。
  26. Herrington, Jack, “Is Documentation Holding Open Source Back?” DexX.com [主页在线];可从http://www.devx.com/devx/editorial/11839 获取;互联网;于2003年11月8日访问。

华夏公益教科书