FOSS(Free and Open Source Software) 是什么意思?什么是 FOSS?

在过去,我曾多次被问到这个问题,现在是时候解释一下什么是 Linux 和 软件世界的 FOSS 了。

这个区别很重要,因为 FOSS 是一个通用的世界,它可以根据上下文的不同而有不同的含义。在这里,我讨论的是软件中的 FOSS 原则。

什么是 FOSS?

FOSS 的意思是自由和开源软件。它并不意味着软件是免费的。它意味着软件的源代码是对所有人开放的,任何人都可以自由使用、研究和修改代码。这个原则允许其他人像社区一样为软件的开发和改进做出贡献。

FOSS 的起源

在60、70年代,计算机以硬件为主,而且硬件价格昂贵。它们主要由大学的学者或实验室的研究人员使用。以前免费使用,或者是带有他们源代码的软件十分有限,用户可以根据自己的需要修改源代码。

在 70 年代末和 80 年代初,制造商为了不让自己的软件在竞争对手的计算机上运行,陆续停止分发源代码。

这种限制性的许可为那些习惯和喜欢修改软件的人带来了不便,并引起了反感。在 80 年代中期,Richard Stallman 发起了自由软件运动。

Stallman 规定了软件成为自由软件和开源软件的四个基本条件。

我把它们重新表述一下,以便于理解:

  1. 任何用户都应能为任何用途而运行软件;
  2. 用户应可自由查看软件的源代码,如有需要,应允许用户修改代码;
  3. 用户应能自由地将软件的副本分发给他人;
  4. 如果用户修改了代码,她/他应该可以自由地将修改后的代码分发给其他人。修改后的代码也必须开放源代码。

自由和开源软件中的 Free 并不意味着免费

读到这里,你可能已经注意到了,自由和开源软件中的"free"并不意味着它是免费的,它意味着运行、修改和分发软件的自由。

人们经常错误地认为,FOSS 或开源软件不能明码标价,这是不正确的。

大多数自由和开源软件都是免费提供的,原因有很多:

  • 源代码已经向公众开放,所以一些开发者认为没有必要在下载时贴上价格标签;
  • 有些项目是由一些志愿者免费提供的。所以,主要的开发者认为对这么多人免费贡献的东西收费是不道德的;
  • 有些项目是由大型企业或非营利组织支持或开发的,这些组织雇用开发人员为他们的开源项目工作;
  • 有些开发者创建开源项目是出于兴趣,或者出于他们对用代码为世界做贡献的热情。对他们来说,下载量、贡献和对他们的感谢比金钱更重要。

为了避免强调"free",有些人使用了 FLOSS 这个词。FLOSS 是 Free and Libre Open Source Software 的缩写。liber 意为自由与 gartuit/gratis 代表的免费不同。

Free 如言论自由,而不是免费啤酒的免费。

FOSS 项目如何赚钱?

很多人会认为开源项目不赚钱。红帽是第一家达到 10 亿美元市值大关的开源公司,IBM 最后以 340 亿美元收购了红帽,而这样的例子还有很多。

许多开源项目,特别是企业领域的项目,都会以收费的形式提供技术支持和面向企业的功能。这是红帽、SUSE Linux 和更多此类项目的主要商业模式。

一些开源项目,如 Discourse、WordPress 等,则提供其软件的托管实例,并收取一定的费用。

许多开源项目,特别是桌面应用程序,也依靠捐赠。VLC、GIMP、Inkscape 等这类开源软件就属于这一类。有一些方法可以资助开源项目,但通常你会在项目网站上找到捐赠链接。

用开源软件赚钱可能很难,但也不是完全不可能。

我不是程序员,我为什么要关心一个软件是否是开源的?

这是个合理的问题。你不是软件开发者,只是一个普通的电脑用户。即使有软件的源代码,你也不会明白程序的工作原理。你不明白也没有关系,但仍然有很多拥有相关技能的人会明白,这才是最重要的。

你可以换个角度思考问题,也许你不会理解一份复杂的法律文件。但如果你有查看文件的自由,并保留一份副本,你就可以咨询某个人,他可以检查文件中的法律陷阱。

换句话说,开源软件具有透明度。

FOSS 和开源的区别是什么?

你会经常遇到 FOSS 和开源这两个术语。它们经常被互换使用。它们是一回事吗?这很难用"是"和 "否"来回答。

你看,FOSS 中的"free"一词让很多人感到困惑,因为人们错误地认为它是免费的意思。企业高管、高层和决策者往往会关注自由和开源中的"free"。由于他们是商业人士,专注于为他们的公司赚钱,免费的这层含义让他们在采用 FOSS 原则时起到了威慑作用。

这就是为什么在 90 年代中期,一个名为 Open Source Initiative 的新组织被创建。他们从 Free and Open Source Software 中删除了 free,并创建了他们自己的开源定义,以及他们自己的一套许可证。

开放源码一词在软件行业特别受欢迎。高管们对开放源码更加适应。开源软件的采用迅速增长,我相信去掉 "free" 一词确实起到了作用。