开源:意义、优势、示例等
开源软件或简称 OSS 是一个定义计算机软件的术语,它与源代码一起提供。 这样的包允许用户根据需要阅读、修改和重新分发它。
OSS 文化可以追溯到计算机编程的早期。 程序员 愉快地分享了他们的代码,这使得相互学习和发展他们的技能成为可能。
使软件代码可用的另一个目标是让它变得更好,因为任何具有适当技能的人都可以修改和重新分发它。 这最终会带来更好的软件,而这些软件通常也很便宜或免费。
这篇文章着眼于一般的开源软件,包括运动的早期,它的成就,以及它如何影响软件工程行业。
众所周知,互联网主要建立在开源软件之上。 因此,如果没有 OSS,我们将拥有一个完全不同的网络。
从网络服务器,如 阿帕奇 和 Nginx 到 PHP、JavaScript 和 Python 等脚本环境。 甚至像 MySQL 这样的重型数据库服务器,开源运动的成果在网络上随处可见。
免费和开源软件使小玩家可以使用以前为财力雄厚的大公司保留的强大工具。 这反过来又有助于为更激动人心的发展打开大门。
据统计,开源软件还帮助用户每年节省约 60 亿美元 这份 2008 年的报告. 这些快乐的客户包括从个人到小公司、互联网公司、政府机构甚至金融机构的所有人。
开源软件的历史
您可以将开源运动追溯到计算机编程的早期和 1970 世纪 XNUMX 年代的黑客文化。当早期的程序员与同事分享他们的作品时 黑客 出于公司利益以外的原因。
然而,第一次重大运动始于 1983 年,当时 Richard Stallman 推出了 GNU 项目。他还于 1985 年创立了自由软件基金会来支持这一不断发展的运动。这场自由软件运动构成了从 Linux 到 MySQL 以及当今为网络提供动力的大多数其他技术的支柱。
那时,大多数私人程序员或黑客都满足于创建免费软件并将其分发给任何关心的人。 他们还厌恶许多软件公司及其贪婪。 因此,创建任何主要专有软件的免费版本是一个很酷的 hack。
由于这些原因,直到 1998 年 XNUMX 月,大多数公司都与看似反资本主义的自由软件运动保持距离。那时,Netscape 将其当时流行的“Netscape Communicator”网络浏览器作为自由软件发布,催生了 网站 和火狐。 两个项目也有助于塑造互联网历史。
许多公司不喜欢自由软件基金会的方法和“自由软件”一词。 这些软件供应商中的许多甚至希望将其部分软件作为免费程序发布,同时将其他软件作为专有项目进行维护,因此必须有替代方案。
开源计划
受 Netscape 发布其浏览器代码的启发,Bruce Perens 和“Cathedral and the Bazaar”作者 Eric S. Raymond 也在 1998 年创立了开源计划。
该倡议现在运行 开源网站 网站,它对于推广“开源软件”一词以及此类程序的使用至关重要。
开源倡议被视为一个政治上更正确的组织。 因此,多年来,它吸引了更多的项目、开发人员和企业支持。 这些范围从 Linux 到 WordPress、Wikimedia、Mozilla 和许多其他大型组织。
OSI 使用 10 点定义来确定任何软件包是否是开源的。 这些要点如下:
- 免费重新分配 – 它不应该要求销售特许权使用费。
- 源代码 – 程序必须包含其源代码。
- 衍生作品 – 必须允许修改和分发
- 作者源代码的完整性 – 不言自明
- 不歧视个人或群体 – 不言自明
- 不歧视努力领域 – 不言自明
- 许可证不得特定于产品 – 不言自明
- 许可证不得限制其他软件 – 不言自明
- 许可证必须是技术中立的 – 不言自明
开源与自由软件
根据您询问的对象,您可能会得到对开源软件的不同定义。 有人会说它代表自由软件,而其他人则关注开源开发的优点或价值。
就目前而言,您可以拥有非免费的开源软件,因为不需要付费。 以及非开源的免费软件。
然而,FSF 的自由软件运动侧重于用户使用软件的自由。 这通常被称为“言论自由中的自由”,而不是“免费啤酒”中的自由。 这应该允许任何有兴趣复制、修改和分发软件的人。
通常,您会经常发现使用术语“FOSS”(免费和开源软件)。 这可以作为满足 FSF 四项自由的计划的总括定义,它们是:
- 以您喜欢的方式和出于任何目的自由运行程序。
- 研究它的工作原理和修改它的自由。 这需要访问源代码。
- 将软件重新分发给任何人的自由。
- 将修改后的版本重新分发给其他人的自由。
开源软件的优势
开源方法有其优点和缺点。 但事实证明,前者多年来的影响力超过了后者,促使更多的人、组织和政府加入了这场运动。
以下是开源软件的一些主要优势:
- 更多的眼睛研究和修改代码最终会带来更好质量的软件
- 更多测试人员发现并报告更多错误
- 开源为新程序员提供了一个很好的学习资源
- 更好 安全 从长远来看,每个人都参与解决问题
- 积极维护的开源软件具有更少的错误
- 它允许项目的连续性,即使在原作者退休后
- 开源与软件供应商的垄断和其他不道德行为作斗争
开源软件的缺点
开源软件也有一些缺点,例如:
- 获得商业级支持可能很困难
- 开源可能会产生安全漏洞,因为黑客也会研究代码
- 不受支持的系统的硬件兼容性问题
- 不经常维护的软件包通常具有错误和安全挑战
开源与专有软件
- 更低或没有成本 – 大多数开源程序要么是免费的,要么价格非常公道。 这使得更广泛的个人和企业能够负担得起。
- Freedom – 开源软件提供了更多的定制可能性、更多的隐私选项,以及做你喜欢做的事的更多自由。
- 安全 – 您经常会在专有软件中发现故意的后门,这通常会导致安全漏洞。 开源软件很容易被审查,所有的安全问题都被根除。
- 效率更高 – 开源软件通常是为其用户设计的,而不是为了盈利而设计的,就像专有软件一样。 这使得它在创造价值方面更有效率。
- 从小事做起 – 许多企业可以使用免费的开源软件从小做起。 然后,他们可以在准备就绪时升级到企业版。
著名的开源项目
那里的开源项目列表是巨大的,越来越多的正在开发和发布。 然而,这里是一些值得注意的列表。
- Linux – 世界上最流行的开源操作系统。
- LibreOffice的 – 套件,从 OpenOffice 分叉出来。包括电子表格、编写器和数据库管理。
- Mozilla Firefox浏览器 – 尊重您隐私的流行且安全的网络浏览器。
- Android操作系统 – 基于 Linux 的移动操作系统已风靡全球。
- Joomla 和 Drupal – 内容管理系统
- WordPress – 最流行的 CMS 和 博客 平台
- PHP – 服务器端脚本语言
- Apache HTTP Server – 互联网上最受欢迎的网络服务器
- 阿斯泰 – 开源 PBX 和 网络电话 平台
- 乌贼 – 可扩展的缓存、DNS 和 Web 代理平台
- 云栈和开放栈 – 用于创建和管理计算机云的平台
开源软件许可证
许多组织提出了体现开源理念的不同许可证。 大多数项目也使用这些许可证,而不是提出一个全新的许可证。
您可以阅读有关这些许可证的更多信息 这里。. 最受欢迎的是:
- GNU 通用公共许可证 (GPL)
- MIT许可证
- Apache许可证
- BSD许可证
- Mozilla公共许可证
政府收养
多年来,世界各地的许多政府和政府机构都以一种或另一种形式采用了开源软件。 对于像德国巴伐利亚城市慕尼黑这样的人来说,这意味着节省数百万欧元的成本。 而安全、宣传和文化完整性对其他人来说更为重要。
以下是世界各地值得注意的收养名单:
- 中国 – 优麒麟是 Canonical 和中国政府的共同创造,专为中国用户及其军队设计。
- 俄罗斯 – Astra Linux 是为满足俄罗斯军队的需求而开发的,包括“绝密”数据管理功能。 它被俄罗斯天然气工业股份公司、俄罗斯铁路公司以及俄罗斯和中国的核电站使用。
- The Netherlands – 荷兰警方的互联网研究和调查网络运行 2,200 个 Ubuntu 工作站,自 2013 年以来仅使用 FOSS。
- 罗马尼亚 – 该国的公共图书馆在 IOSSPL(公共图书馆集成开源系统)上运行。
- 美国 – 美国白宫于 2009 年将其网站移至 Linux 服务器。它也使用 Drupal 进行维护。 再加上 2016 年的一项政策,政府项目需要 20% 的开源软件政策。
- 法国 – 法国宪兵国家部队于 2005 年转向 OpenOffice,并继续使用其 GendBuntu Linux 进行迁移活动,并在此过程中影响了其他政府机构。
- Germany – 慕尼黑市于 15,000 年开始将 2013 台机器转换为基于 Debian 的 LiMux。Schwäbisch Hall 还在 400 年迁移了 2002 个工作站,联邦就业办公室运行 openSUSE Linux。
- 巴西 – 巴西州和联邦机构主要在开源软件上运行。
- Italy – 意大利军方于 6,000 年开始将 2015 多台机器过渡到 LibreOffice。
- 秘鲁 – 秘鲁政府于 2005 年投票决定完全采用开源软件。
结论
很明显,自由软件和开源运动已经走了多远,它们丰富了我们的生活。
不过,这可能只是一个开始。 随着免费或开源软件以一种或另一种方式提供动力,可能会出现更多的市场混乱。