服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux 黑话解释:什么是 FOSS(自由和开源软件)?什么是开源?

Linux 黑话解释:什么是 FOSS(自由和开源软件)?什么是开源?

2020-10-26 23:48Linux中国LCTT Xingyu.Wang 译 Linux

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

什么是 FOSS?

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

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

Linux 黑话解释:什么是 FOSS(自由和开源软件)?什么是开源?

1. 什么是 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 等这类开源软件就属于这一类。有 资助开源项目的方法 ,但通常,你会在项目网站上找到捐赠链接。

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

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

这是一个合理的问题。你不是一个软件开发者,只是一个普通的计算机用户。即使软件的源代码是可用的,你也不会理解程序的工作原理。

这很好。你不会明白,但有必要技能的人就会明白,这才是最重要的。

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

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

FOSS 与开源之间的区别是什么?

你会经常遇到 FOSS 和 开源(Open Source)的术语。它们经常被互换使用。

它们是同一件事吗?这很难用“是”和“不是”来回答。

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

这就是为什么在上世纪 90 年代中期创立了一个名为 开源促进会 (Open Source Initiative)的新组织。他们从自由和开放源码软件中去掉了“自由”一词,并创建了自己的 开放源码的定义 ,以及自己的一套许可证。

“ 开源(Open Source)”一词在软件行业特别流行。高管们对开源更加适应。开源软件的采用迅速增长,我相信 “免费”一词的删除确实起到了作用。

有问题吗?

这正如我在 什么是 Linux 发行版 一文中所解释的那样,FOSS/开源的概念在 Linux 的发展和普及中起到了很大的作用。

我试图在这篇黑话解释文章中用更简单的语言解释 FOSS 和开源的概念,而试图避免在细节或技术精度上做过多的阐述。

延伸 · 阅读

精彩推荐
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18