跳至内容

Ict@创新:释放您的非洲 IT 业务/1-1

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

模块 1.1 通用 FOSS 概念

[编辑 | 编辑源代码]

1:15 小时

交付方式

[编辑 | 编辑源代码]

出于教学目的,建议培训师/讲师使用“焦点小组讨论”作为交付本模块的主要方式。此外,讲座、演示和练习也是本模块合适的交付方式。

尽管免费和开源软件 (FOSS) 在生活的所有领域(包括教育、软件工程和 IT 领域、公共行政和商业圈)中得到广泛采用和利用,但仍然存在人们普遍认为的关于 FOSS 是什么以及什么构成开源软件的误解。在很大程度上,这些误解阻碍了 FOSS 的采用,并使企业难以向客户解释他们正在“销售”或提供的软件和服务是高质量的,并且可以与专有软件相媲美甚至更好。关于术语也存在混淆,当不同的个人和研究人员使用同一个词来指代同一个概念时。因此,本模块借鉴现有的研究文献和来自网站和博客的叙述以及专家经验,为潜在的 FOSS 商业企业家提供一瞥 FOSS 是什么以及不是什么。如果要建立一家企业并培训个人如何建立一家基于 FOSS 的企业,那么揭露围绕 FOSS 的误解至关重要。

免费/自由和开源软件 (FOSS) 背后的总体概念是提高访问计算机程序的质量。这包括提供减少开发人员/用户限制的许可证,以及使软件的源代码(人类可读的代码)可供任何想要获取它的人访问。二进制文件或可执行文件(机器可读代码)也可以通过互联网获得,并且可以“免费”下载和使用。

这意味着 FOSS 可以共享,可以学习,可以被任何拥有适当技能的人修改和调整。但是,这并不意味着 FOSS 没有所有者。FOSS 受与限制专有软件使用可能性的相同版权法保护。但是,通过 FOSS 的使用许可,授予了使用、共享、学习和修改软件的权利。自由软件许可证的示例是 GNU 通用公共许可证 (GPL),除了授予这些自由之外,它还要求生产的任何衍生作品保持相同的许可证,从而保持自由。

概念和术语

[编辑 | 编辑源代码]

在文献中,许多术语被用来描述 FOSS 现象。值得注意的是,自由软件 (FS),这是自由软件基金会 (FSF) 使用的术语,以及开源软件 (OSS),这是开源计划 (OSI) 使用的术语。

FSF 方法强调围绕自由的哲学/伦理/政治论证。FSF 这样说

"自由软件是赋予用户共享、学习和修改它的自由的软件。我们称之为自由软件,因为用户是自由的。"


这个想法在题为“将自由软件和自由知识的理念与南非自由宪章相一致”(Jolliffe RM,2006)的文章中得到了很好的体现。OSI 方法主要基于围绕开发速度、营销和创新的技术优势和商业论据。OSI 这样说

"开源是一种软件开发方法,它利用了分布式同行评审和流程透明性的力量。开源的承诺是更高的质量、更高的可靠性、更大的灵活性和更低的成本,以及终结掠夺性供应商锁定。"


此外,其他常用的术语是免费和开源软件 (FOSS),它试图统一 FSF 和 OSI 的观点,以及自由软件 (LS),它试图消除“免费”一词的歧义。今后,术语免费/自由/开源软件或 FOSS 和 FOSS 将在本文件中被接受,以指代用户在使用、修改、分发甚至以较少的义务出售软件方面的自由,如同在专有或封闭源软件中一样。

有时,专有现成 (POTS) 和商用现成 (COTS) 用于描述限制使用、修改和重新分发的软件协议,恕不经供应商事先同意。

探索“免费”的含义

[编辑 | 编辑源代码]

“免费”不意味着我不必为该软件付费吗?

不。在英语中,“免费”一词有两个含义。

  • “免费啤酒”中的“免费”,指的是零成本。
  • “言论自由”和“自由市场”中的“免费”,指的是自由。

自由软件中的“免费”指的是我们上面谈论过的人们拥有的自由。自由软件的定义中没有任何内容规定您不能以价格出售给某人。事实上,有些公司的整个商业模式都围绕着收集、编译和出售自由软件。但是,由于获得自由软件许可的人可以自由地转售或赠送它,因此您可以轻松地从互联网或其他代码库(如 Sourceforge.net)下载该软件(并且合法)。

正如“FOSS 概念手册[1]”所表达的那样,当您听到“自由软件”时,请想想自由、自由,甚至“自由企业”。

那么,其他类型的软件有什么“不免费”的呢?

当今世界上许多非免费软件并非出售的。从复杂的 操作系统到小型游戏或屏幕保护程序,软件的最终用户都拥有在最终用户许可协议 (EULA) 中规定的条件下使用它的许可证。该协议列出了用户可以使用软件的条件 - 通常会对软件的使用范围施加限制。在几乎所有情况下,用户明确被禁止“拆开软件”以研究其工作原理,不能修改或改进它,只允许制作软件的单个副本(用于备份目的),并且严格禁止将副本提供给其他人。

提示!从 FOSS 概念手册获取更多信息 https://wikibooks.cn/wiki/FOSS_Concept_Booklet

Linux 故事

[编辑 | 编辑源代码]

重要的是要注意,FOSS 开发并非始于 1991 年 Linux 操作系统的诞生。相反,这个概念自 SHARE 成立以来就已存在,SHARE 是一个工作组,旨在协调 IBM 701 的编程工作。此外,大学等研发机构始终珍惜与同事自由分享知识和资源。使 Linux 闻名并使其成为可能的原因可以归结为四个主要因素

  • GNU 通用公共许可证 (GNU GPL) 允许 Linus Torvalds 使用 GNU 系统的大部分代码并对其进行修改,使其在其家用电脑上运行为一个功能齐全的操作系统。GPL 意味着他的操作系统(Linux)可以免费供他人使用、复制、修改和分发。
  • Torvalds 能够访问互联网,以便他能够与对他的项目感兴趣的其他人进行交流和协作(通过开源内容管理系统 (CMS) - CVS)。
  • 资源有限。Linux 操作系统旨在运行在资源或计算能力有限的计算机上。这意味着更多的人可以负担得起运行和测试该系统。如果 Linux 操作系统需要超级计算能力,那么可能只有少数人会参与测试和改进该系统。
  • 管理良好。Linus Torvalds以其软件项目管理的智慧而闻名,被称为“仁慈的独裁者”。他开始开发 GNU Linux 操作系统,并以一种开放和协作的方式管理他的工作,鼓励其他人免费参与这项工作。人们基于精英制加入开发,只根据贡献质量和为所有人推进和发展 Linux 内核的承诺进行判断。

开源软件开发模式:教堂与集市

[编辑 | 编辑源代码]

FOSS 彻底改变了软件的开发、分发、营销、维护和支持方式 (Sowe 等人,2007 年)。集市模式首次为软件工程师提供了教堂模式或开发封闭源代码软件的传统方式的替代方案。教堂与集市模式 (Raymond,1999 年) 表征了传统的软件开发。根据教堂模式,软件开发以集中化的方式进行,每个软件开发阶段 (从需求分析、设计、实现到测试和维护) 都有明确定义的角色。

在集市模式中,角色没有明确定义,并且软件用户通常被视为共同开发者。在 FOSS 中,软件通常比封闭源代码软件更早更频繁地发布。作为其有效性的证明,或者如大量“不成功”的 FOSS 项目在许多 Forge 中所显示的那样,其缺乏有效性 (例如 Sourceforge.net)。集市模式在操作系统领域产生了大量成功的应用程序 (GNU/Linux),有时被称为发行版或 Distro (Ubuntu、Debian),电子邮件和网络服务 (Sendmail、Apache、SeaMonkey),数据库 (MySQL、PostgreSQL),即时通讯 (Kopete、Pidgin),桌面环境 (GNOME、KDE),文字处理 (KOffice、OpenOffice 套件) 等。开发 FOSS 的集市模式促进了软件知识的创建、传播和转化,其速度在软件开发史上是前所未有的。

FOSS 开发过程的特征

[编辑 | 编辑源代码]

当开发人员修改开源软件时,她可以选择将所做的更改保密,也可以将它们返回给 FOSS 社区,以便每个人都能从她的衍生工作中受益。从商业角度来看,当一家公司发布其可以作为参考经验和间接无偿营销的公司、企业或个人的修改时。当您发布修改时,它们可能会包含在将来的版本中,这会降低维护和创新的成本。软件源代码获取、修改、分发和重新获取的循环性质是 FOSS 开发过程的一个重要方面。下图显示了典型的 FOSS 开发 (编码) 活动以及循环中可能的退出方式。

有权访问项目源代码库的开发人员从项目库中检出代码,开始软件开发活动。有些人只获取源代码,不再参与项目活动 (退出 1)。许多其他人通过修改代码、修复错误和添加新功能来继续开发过程。对项目开发或项目管理和协调方式不满意的开发人员可能会退出循环,并带有修改后的代码,开始他们自己的“变异”版本,即所谓的“分叉” (退出 2)。分叉是一个基于现有项目源代码版本构建的竞争项目。由于可以轻松访问源代码,因此每个 FOSS 项目都可能分叉。虽然听起来很愤世嫉俗,但分叉在 FOSS 中是健康的,因为它可以促进竞争,甚至可能产生比前身更优秀的软件。专家软件开发人员和新手用户理解代码、软件开发过程和社区的前景现在非常光明。

辩论:FOSS 与封闭源代码软件

[编辑 | 编辑源代码]

下表总结了 FOSS 的一些特征,提供了封闭源代码软件与 F/OSS 的商业视角。


封闭源代码软件
FOSS
购买,不要构建或编码 访问代码,“免费”下载和重用
供应商锁定 自由修改、定制代码 (如果您能够) 或与其他人签订合同
缺乏某些客户的定制功能 每个人都可以根据自己的需求定制软件
以有限的语言部署 可以本地化为多种语言
动机:外在的,经济利益 外在和内在
生成和保留知识以获得竞争优势 生成和共享知识以造福大众
向许可证持有者提供支持,并按照先到先得的原则提供支持。网站上还提供第三方支持、驱动程序下载和软件更新。 可以通过项目论坛、邮件列表等从任何人获得支持。还可以从商业供应商、分销商或咨询公司购买。
由于版权限制,难以与其他软件兼容。 易于与其他由社区维护的 FOSS (universe) 和受法律问题限制的软件 (multiverse) 兼容。

关于 FOSS 的一些神话

[编辑 | 编辑源代码]

随着 FOSS 变得更加主流,超越技术和地理障碍,围绕 FOSS 概念和方法论的神话也随之产生。对于许多人来说,地理分布的个人如何协作和友好地生产或创建以软件形式提供的商品和服务,其性能可与他们习惯使用的商业现成 (COTS) 专有软件相媲美甚至超越,这是难以理解的。更深植于 FOSS 神话的是,如何才能从免费的东西中赚钱或产生收入。有关 FOSS 中十个常见神话的更多信息,请参阅 O'reilly (1999 年)。下表总结了关于 FOSS 的一些神话和事实。


神话 事实
这是 Linux 与 Windows 之事 超过 400,000 个 FOSS 项目 (18,000 个成熟项目),涵盖所有 IT 领域
FOSS 不可靠或不受支持 主要的 FOSS 解决方案比专有解决方案更可靠;FOSS 提供专业支持
大公司不使用 FOSS 大约 90% 的财富 1000 强公司部署 FOSS;IBM、Sun、HP、Oracle... 推广 FOSS
FOSS 对“知识产权”不友好 FOSS 许可证基于版权法
FOSS 无法赚钱 HP:2003 年 25 亿美元;RedHat:2006 年 4 亿美元
FOSS 运动不公平且不可持续,因为程序员没有为他们的努力获得报酬 > 50% 的 FOSS 开发人员获得报酬,其他人是志愿者,出于个人动机而做出贡献
如果我启动一个 FOSS 项目,会有很多开发人员免费为我工作 社区发展需要大量投资
FOSS 是程序员的事情,用户和决策者不必担心 FOSS 引领着一种所有人都应该了解的新创新模式
FOSS 一直在追赶商业世界,所有创新都来自商业世界 创新项目的比例 (12%) 在 FOSS 和专有软件中大致相同

FOSS 软件示例

[编辑 | 编辑源代码]

下表提供了一些常见的 FOSS 软件示例

a) 运行在 Microsoft Windows、Gnu/Linux 以及某些情况下运行在 Apple Max、Unix 和 BSD 操作系统上的 FOSS 软件列表

  • 基于生产力的应用程序

b) 基于 Web 的 FOSS 软件列表


类别 应用程序名称 网站
博客 WordPress http://wordpress.org/
CMS (内容管理系统) Joomla https://www.joomla.net.cn/
购物车 Magento http://www.magentocommerce.com/
论坛 phpBB http://www.phpbb.com/
短信网关 Kannel http://www.kannel.org/overview.shtml
图片库 Gallery http://gallery.menalto.com/
客户关系管理 (CRM) Vtiger http://www.vtiger.com/
工作流程 CuteFlow http://www.cuteflow.org/
网络监控 NAGIOS http://www.nagios.org/
网络附加存储 (NAS) FREENAS http://www.freenas.org/
人力资源管理 Orange HRM http://www.orangehrm.com/
呼叫中心 SIT http://sitracker.org/
服务器管理 Webmin http://webmin.com

模块 1.1:评估

[编辑 | 编辑源代码]
  • 讨论 1:讨论并列出尽可能多的词语或短语,以最佳地描述您当地语言中的 FOSS 概念。
  • 讨论 2:讨论并列出贵企业组织使用 FOSS 所面临的障碍。
  • 讨论 3:讨论开源软件开发中“分叉”的概念。
  • 您认为分叉是一种健康的做法吗?
  • 请一位参与者自愿讲述一个关于一个开源项目或社区的演变和结构组织的故事(例如,FreeBSD、MySQL、Apache、Ubuntu)。
  • 辩论:组成 2 个小组,围绕主题“FOSS 与闭源软件”进行辩论,重点强调其商业影响。
  • 头脑风暴:将参与者分成 3-5 人的小组。每个小组都应该说服其他小组 FOSS 如何使他们受益,以及为什么他们应该或不应该在他们的业务中使用 FOSS。
  • 讲故事:请一位参与者自愿讲述一个关于一个开源项目或社区的演变和结构组织的故事(例如,FreeBSD、MySQL、Apache、Ubuntu)。
  • 作业 1:撰写一份 150-350 字的摘要报告,详细说明一个开源项目的历史。具体指出该项目的成功之处,以及可能失败的领域。
  • 作业 2:列出您国家/地区中使用 FOSS 的 3 个组织和 5 家公司的名称。
  • 作业 3:列出 5 个商用现成 (COTS) 软件及其近似的 FOSS 等效软件。
  • 作业 4:撰写一份 150-350 字的摘要报告,详细说明一个开源项目的历史。具体指出该项目的成功之处,以及可能失败的领域。
  • 学生自我评估:说明以下陈述是真还是假。
  1. FOSS 不花任何钱 (真/假)
  2. OSI 代表安大略猪肉改良 (真/假)
  3. 自由软件和 Linux 是同一个东西 (真/假)
  4. FOSS 应用程序可以在 Windows 上使用 (真/假)
  5. FOSS 可以帮助减少供应商锁定 (真/假)
  1. https://wikibooks.cn/wiki/FOSS_Concept_Booklet

上一章 | 下一章

华夏公益教科书