Linux 黑话解释:什么是 FOSS?什么是开源?


Linux 黑话解释:什么是 FOSS?什么是开源?文章插图
现在是时候解释一下什么是 Linux 和软件世界中的 FOSS 了 。
? 来源:linux.cn ? 作者:Abhishek Prakash ? 译者:Xingyu.Wang ?
(本文字数:2655 , 阅读时长大约:4 分钟)
什么是 FOSS?
在过去 , 我曾多次被问到这个问题 , 现在是时候解释一下什么是 Linux 和软件世界中的 FOSS 了 。
这个区别很重要 , 因为 FOSS 是一个通用的词汇 , 它可以根据上下文的不同而有不同的含义 。 在这里 , 我讨论的是软件中的 FOSS 原则 。
什么是 FOSS?FOSS 是指 自由和开放源码软件(Free and Open Source Software) 。 这并不意味着软件是免费的 。 它意味着软件的源代码是开放的 , 任何人都可以自由使用、研究和修改代码 。 这个原则允许人们像一个社区一样为软件的开发和改进做出贡献 。
FOSS 的起源
在上世纪 60、70 年代 , 计算机以硬件为主 , 硬件价格昂贵 。 它们主要由大学的学者或实验室的研究人员使用 。 以前有限的软件都是免费的 , 或者是带有它们的源代码 , 用户可以根据自己的需要修改源代码 。
在上世纪 70 年代末和 80 年代初 , 制造商为了不让自己的软件在竞争对手的计算机上运行 , 停止了分发源代码 。
这种限制性的许可导致了那些习惯和喜欢修改软件的人的不便和不喜 。 上世纪 80 年代中期 , Richard Stallman 发起了 自由软件运动(Free Software Movement)
Stallman 指明了一个软件要成为 FOSS 的四个基本自由。
Linux 黑话解释:什么是 FOSS?什么是开源?文章插图
自由软件自由
为了便于理解 , 我将它们重新表述:

  • 任何用户应能为任何目的运行软件 。
  • 用户应能自由查看软件的源代码 , 如有需要 , 应允许用户修改代码 。
  • 用户应能自由地将软件的副本分发给他人 。
  • 如果用户修改了代码 , 她/他应该可以自由地将修改后的代码发布给他人 。 修改后的代码必须开放源代码 。
如果有兴趣 , 我建议阅读这篇关于 FOSS 的历史 的文章 。
FOSS 中的 “Free” 并不意味着免费
Linux 黑话解释:什么是 FOSS?什么是开源?文章插图
你可能已经注意到了 , 自由和开源软件中的 “Free” 并不意味着它是免费的 , 它意味着运行、修改和分发软件的“自由” 。
人们经常错误地认为 , FOSS 或开源软件不能有价格标签 。 这是不正确的 。
大多数 FOSS 都是免费提供的 , 原因有很多:
  • 源代码已经向公众开放 , 所以一些开发者认为没有必要在下载软件时贴上价格标签 。
  • 有些项目是由一些志愿者免费提供的 。 因此 , 主要的开发者认为对这么多人免费贡献的东西收费是不道德的 。
  • 有些项目是由较大的企业或非营利组织支持和/或开发的 , 这些组织会雇佣开发人员在他们的开源项目上工作 。
  • 有些开发者创建开源项目是出于兴趣 , 或者出于他们对用代码为世界做贡献的热情 。 对他们来说 , 下载量、贡献和感谢的话比金钱更重要 。
为了避免强调 “免费” , 有些人使用了 FLOSS 这个词(LCTT 译注:有时候也写作 F/LOSS) 。 FLOSS 是 自由和开源软件(Free/Libre Open Source Software)的缩写 。 单词 Libre(意为自由)与 gartuit/gratis(免费)不同 。
“Free” 是言论自由的自由 , 而不是免费啤酒的免费 。
FOSS 项目如何赚钱?开源项目不赚钱是一个神话 。 红帽是第一个达到 10 亿美元大关的开源公司 。IBM 以 340 亿美元收购了红帽。 这样的例子有很多 。
许多开源项目 , 特别是企业领域的项目 , 都会提供收费的支持和面向企业的功能 。 这是红帽、SUSE Linux 和更多此类项目的主要商业模式 。
一些开源项目 , 如 Discourse、WordPress 等 , 则提供其软件的托管实例 , 并收取一定的费用 。
许多开源项目 , 特别是桌面应用程序 , 依靠捐赠 。 VLC、GIMP、Inkscape 等这类开源软件就属于这一类 。 有 资助开源项目的方法, 但通常 , 你会在项目网站上找到捐赠链接 。
利用开源软件赚钱可能很难 , 但也不是完全不可能 。
但我不是程序员 , 我为什么要关心一个软件是否开源?这是一个合理的问题 。 你不是一个软件开发者 , 只是一个普通的计算机用户 。 即使软件的源代码是可用的 , 你也不会理解程序的工作原理 。
这很好 。 你不会明白 , 但有必要技能的人就会明白 , 这才是最重要的 。