Skip to main content

什么是开源软件?

开源软件是什么意思?闭源呢? (六月 2025)

开源软件是什么意思?闭源呢? (六月 2025)
Anonim

开源软件(OSS)是一种软件,其源代码可由公众查看和更改,或以其他方式“打开”。当源代码不可由公众查看和更改时,它被视为“已关闭”或“专有”。

源代码是用户通常不会看到的软件的幕后编程部分。源代码列出了软件如何工作以及软件的所有不同功能如何工作的说明。

用户如何从OSS中受益

OSS允许程序员通过查找和修复代码中的错误(错误修复),更新软件以使用新技术以及创建新功能来协作改进软件。开源项目的团队协作方法使软件用户受益,因为错误得到更快修复,新功能更频繁地添加和发布,软件更稳定,更多程序员可以在代码中查找错误,更快地实现安全更新比许多专有软件程序。

大多数OSS使用GNU通用公共许可证(GNU GPL或GPL)的某些版本或变体。考虑与公共领域中的照片类似的GPL的最简单方法。 GPL和公共域都允许任何人修改,更新和重用他们需要的东西。 GPL为程序员和用户提供访问和更改源代码的权限,而公共域授予用户使用和修改照片的权限。 GNU GPL的GNU部分是指为GNU操作系统创建的许可证,这是一个免费/开放的操作系统,曾经并将继续是开源技术的重要项目。

用户的另一个好处是OSS通常是免费的,但是,某些软件程序可能需要额外费用,例如技术支持。

开源来自哪里?

虽然协同软件编码的概念源于1950 - 1960年代的学术界,但在20世纪70年代和80年代,诸如法律纠纷等问题导致这种开放式协作方法的软件编码失去了动力。专有软件接管了软件市场,直到Richard Stallman于1985年创建了自由软件基金会(FSF),将开放或免费软件带回了最前沿。 “自由软件”的概念是指自由,而不是成本。自由软件背后的社会运动认为软件用户应该可以自由地查看,更改,更新,修复和添加源代码以满足他们的需求,并允许他们分发或与他人自由分享。

FSF通过其GNU项目在自由和开源软件运动中发挥了重要作用。 GNU是一个免费的操作系统(一组程序和工具,用于指示设备或计算机如何操作),通常与一组工具,库和应用程序一起发布,这些工具,库和应用程序可以统称为版本或发行版。 GNU与称为内核的程序配对,该程序管理计算机或设备的不同资源,包括在软件应用程序和硬件之间来回通信。与GNU配对的最常见内核是Linux内核,最初由Linus Torvalds创建。这种操作系统和内核配对在技术上称为GNU / Linux操作系统,尽管它通常简称为Linux。

由于各种原因,包括市场上对“自由软件”这个术语的真正含义的混淆,替代术语“开源”成为使用公共协作方法创建和维护的软件的首选术语。 1998年2月,由技术出版商蒂姆奥莱利主持的技术思想领袖峰会正式通过了“开源”一词。那个月晚些时候,开源计划(OSI)由Eric Raymond和Bruce Perens创立,是一个致力于推广OSS的非营利组织。

FSF继续作为一个倡导和活动组织,致力于支持用户使用源代码的自由和权利。但是,许多技术行业使用术语“开源”来表示允许公共访问源代码的项目和软件程序。

开源软件是日常生活的一部分

开源项目是我们日常生活的一部分。您可能正在手机或平板电脑上阅读本文,如果是这样,您现在可能正在使用开源技术。 iPhone和Android的操作系统最初是使用开源软件,项目和程序的构建块创建的。

如果您在笔记本电脑或台式机上阅读本文,是否使用Chrome或Firefox作为网络浏览器? Mozilla Firefox是一个开源的Web浏览器。谷歌浏览器是一个名为Chromium的开源浏览器项目的修改版本 - 虽然Chromium是由谷歌开发人员发起的,他们继续在更新和其他开发方面发挥积极作用,谷歌已经添加了编程和功能(其中一些不是开源)到这个基础软件开发谷歌Chrome浏览器。

事实上,我们所知道的互联网如果没有OSS就不会存在。这些技术先驱帮助构建了使用开源技术的万维网,例如Linux操作系统和Apache Web服务器,以创建我们的现代互联网。 Apache Web服务器是OSS程序,它通过查找并将您带到该网页来处理对某个网页的请求(例如,如果您单击要访问的网站的链接)。Apache Web服务器是开源的,由开发人员志愿者和称为Apache Software Foundation的非营利组织的成员维护。

开源正在以我们通常没有意识到的方式重新创造和重塑我们的技术和日常生活。为开源项目做出贡献的全球程序员社区继续发展OSS的定义,并增加其为社会带来的价值。