什么是开源软件?

2020.04.10 -

   

开源软件(OSS)是公开源可以查看和更改其源代码或以其他方式打开的软件。当源代码无法被公众查看和更改时,它被认为是封闭的或专有的。

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

用户如何从OSS中受益

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

大多数OSS使用某些版本的GNU通用公共许可证(GNU GPL或GPL)。想到GPL的最简单方法是类似于公开领域中的照片。GPL和公共领域都允许任何人随意修改,更新和重用某些东西。

GPL授予程序员和用户访问和更改源代码的权限,而公共领域则授予用户使用和修改照片的权限。GNU GPL的GNU部分指的是为GNU操作系统(一种自由/开放式操作系统)创建的许可证,该许可证曾经是并将继续是开源技术中的重要项目。

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

开源来自哪里?

尽管协作软件编码的概念起源于1950-1960年代的学术界,但到1970年代和1980年代,诸如法律纠纷之类的问题使这种开放式协作方式使软件编码失去了动力。私有软件接管了软件市场,直到1985 年Richard Stallman创立了自由软件基金会(FSF),使开放或自由软件重新回到了前沿。

自由软件的概念指的是自由,而不是成本。自由软件背后的社会运动主张,软件用户应具有查看,更改,更新,修复和添加源代码的自由,以满足他们的需求,并被允许自由分发或与他人自由共享。

FSF通过其GNU Project在自由和开放源代码软件运动中扮演了重要角色。GNU是一个免费的操作系统(指示设备或计算机如何操作的一组程序和工具),通常与一组工具,库和应用程序一起发布,这些工具,库和应用程序一起可以称为版本或发行版。GNU与称为内核的程序配对,该程序管理计算机或设备的不同资源,包括软件应用程序和硬件之间的来回通信。

与GNU配对的最常见的内核是Linux内核,最初是由Linus Torvalds创建的。该操作系统和内核配对在技术上称为GNU / Linux操作系统,尽管通常将其简称为Linux。

由于各种原因,包括市场对“自由软件”一词​​的真正含义感到困惑,备用术语“开源”成为使用公共协作方法创建和维护的软件的首选术语。1998年2月,由技术出版商Tim O’Reilly主持的一次技术思想领袖特别峰会上正式采用了“开源”一词。该月晚些时候,开放源代码倡议(OSI)由Eric Raymond和Bruce Perens成立,是致力于促进OSS的非营利组织。

FSF继续作为一个倡导和激进组织,致力于支持用户与源代码使用相关的自由和权利。但是,许多技术行业对允许公众访问源代码的项目和软件程序使用“开源”一词。

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

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

如果您是在笔记本电脑或台式机上阅读本文,是否将Chrome或Firefox用作网络浏览器?Mozilla Firefox是一个开源Web浏览器。Google Chrome是开放源代码浏览器项目Chromium的修改版本。尽管Chromium由Google开发人员启动,他们在更新和其他开发中继续发挥积极作用,但Google添加了编程和功能(其中一些功能尚未开放)源代码)到此基本软件,以开发Google Chrome浏览器。

实际上,没有OSS就不会存在我们所知道的互联网。帮助建立万维网的技术先驱使用诸如Linux操作系统和Apache Web服务器之类的开源技术创建了现代互联网。

Apache Web服务器是OSS程序,可通过查找并转到该网页来处理对某个网页的请求(例如,您单击要访问的网站链接)。Apache Web服务器是开源的,由开发人员志愿者和称为Apache Software Foundation的非营利组织的成员维护。

开源正在以我们通常不会意识到的方式重塑我们的技术和日常生活。致力于开源项目的全球程序员社区继续发展OSS的定义,并增加它为我们社会带来的价值。

本站文章禁止转载,违者必究
阅 213
0

开源软件(OSS)是公开源可以查看和更改其源代码或以其他方式打开的软件。当源代码无法被公众查看和更改时,它被认 […]

湘公网安备 43011102001693号

    湘ICP备19003021号-1