术语“开源”不仅仅是可供公众访问并且可以在第三方之间查看、复制或交换的软件。
在过去的几十年里,开源已经发展成为一种工作模式和集体解决问题的运动。然而,由于分散的生产模式,开源软件依赖于同行评审(一个独立的质量保证过程)和编程社区的输入。这种协作是“开放软件”的主要特征之一。本文提供了开源的精确定义,并明确区分了自由、开放和闭源软件。
什么是开源?
开源源于“开源软件”一词,简称 OSS。使用此类软件,可以免费访问源代码。程序员和用户可以更改和共享它。与专有软件相比,开源产品更灵活,购买起来也更便宜。开源软件不属于任何个人或公司。大型开发人员社区维护代码并通过集体输入不断改进它。有时,组织和公司会联合开展开源项目以节省开发成本。
这种软件开发过程并不新鲜:事实上,开源与互联网本身一样古老。
在 50 年代和 60 年代,第一个电信网络协议是在开放环境中开发的。为现代互联网奠定基础的 ARPANET(高级研究计划署网络)以协作和同行评审为基础,很像今天的开源软件。70 年代的黑客运动和 80 年代的自由软件运动强化了软件开发中自由知识交流的理念。今天,开源描述的不仅仅是一种“开放软件”,更是 IT 世界的一种协作态度。
开放源码:开放源码是开放源码软件的核心原则,源代码可公开访问并可随意更改或复制的软件。去中心化开源概念基于一个强大的集体理念:大型开发人员社区的投入,通过为所有用户自由交换知识、维护和改进产品来解决问题。
开源定义免费、开源和闭源软件之间有什么区别?
在开源流行之前,可公开访问的软件模型被称为“自由软件”。这可以追溯到 GNU 项目。GNU 是在自由软件运动期间出现的一种操作系统,它允许最终用户在使用源代码方面有最大的自由度。“自由软件”与专有或“闭源软件”形成鲜明对比,后者只有注册所有者(公司)在法律上被允许访问源代码并可以更改或共享它。用户只能将软件用于其预期目的并支付费用。
然而,“自由软件”一词引起了混淆。“免费”一词不仅意味着开放,而且意味着免费。然而,免费的意思是描述任何人都可以访问软件,而不是它是免费的。与知识共享一样,当谈到开源软件时,并不是“一切都被允许”:它的使用有一定的条件。为了将焦点从商业理念转向免费使用,Foresight Institute 在 1998 年创造了“开源”一词。
开源软件不同于公共领域软件,也称为免费软件或公共领域软件。但是,由于这两个术语之间没有明确的界限,因此这两个软件术语可能会重叠。注意事项开源需要考虑什么?
在早期阶段,公司对使用开源软件持怀疑态度。一方面,他们担心在许可法下容易受到攻击,另一方面,他们担心泄露部分专有软件。这些担忧中的大部分现在已经消失,许多大公司都依赖开源解决方案。为了能够整合全球尽可能广泛的开发者基础,已经开发了不同的许可模型。大多数条款涉及用户在开源项目使用的文档和披露方面的义务。
在您使用开放源代码组件之前,建议检查它们的可用许可证。为避免法律问题,重要的是根据许可条件专门使用各个组件并确保记录它们的使用。如果被要求,您必须能够公开展示您的工具和源代码。通常用于管理软件开发项目的 GitHub 等开发人员平台和许可工具使开源软件的合法合规处理变得更加容易。可以创建所谓的“软件部件列表”来跟踪您使用的软件组件的许可证。
开源软件示例
大多数用户经常使用在开源许可模式下分发的软件而不自知。以下是三个举世闻名且对操作系统运动产生重大影响的成功开源项目。
PHP
脚本语言是为创建动态网页而开发的。 自 1995 年首次发布以来,它一直是全球使用最广泛的 Web 编程语言之一。 在数据库支持和 Internet 协议集成方面,PHP 为 Slack 或 Spotify 等应用程序提供了高度的灵活性。
Mozilla Firefox
Mozilla Firefox 是一款可自由配置的浏览器,提供大量插件选择,是全球三大最常用的 Web 客户端之一。它于 2002 年推出,其开放的理念在科技界引起了不小的波澜。
WordPress
自 2003 年以来,免费的内容管理系统 WordPress 就出现了。从那时起,该项目一直在不断扩展。WordPress 基于开源编程语言 PHP,最初是为创建和管理博客而开发的。通过集成外部插件,CMS 现在为用户提供轻松的配置选项。今天,WordPress 是全球最受欢迎和使用最多的内容管理系统之一。
开源软件的优缺点
有许多支持使用开源软件的优势。但是,它们的使用存在一些风险,您在使用它们之前应该了解这些风险。考虑以下开源的优点和缺点,看看该软件模型是否适合您。
优点:
低成本:开源软件的源代码在大多数情况下是免费提供的,大大降低了其获取成本。
可靠性:因为整个开发人员社区都在努力改进产品,这意味着它比专有软件更可靠。
寿命:开源软件是持久的,因为它与单个开发商的成功无关,如果他们的业务解散,开发商的服务就会消失。
安全性:开发者社区会在错误和安全威胁出现时立即识别并修复它们。
灵活性:开源为用户提供了高度的灵活性,使软件可以在不征得供应商同意的情况下适应他们自己的需求。
缺点:
长期成本:对于开源项目,可能会产生某些后续成本,例如,必须培训员工或在外部进行故障排除。
支持:虽然专有软件包含故障排除等客户服务,但开源用户无法直接联系。
易用性:开源软件面向开发者,需要对配置有一定的技术理解。
关闭:尽管大多数开源项目都存在很长时间,但有时项目会失去开发人员社区的关注。
安全性:一般来说,使用开源项目是安全的。然而,应该注意的是,软件通常是在不受控制的环境中创建的,恶意软件更容易在其中集成。
最后
考虑到它的诸多优势,开源概念在过去几十年盛行也就不足为奇了。配备合适的工具后,开源用户将从软件中受益,并成为依赖集体价值创造的全球 IT 运动的一部分。
目前大眼仔网站上也基本上在考虑以收录开源软件为主,除了规避一些版权风险外,让更多的用户接触并了解开源软件带来的好处也非常有意义。无论是商业软件也好,开源软件也罢,我们每个人都要根据自己的生活来选择适合自己的产品。
你的潜意识,正在操控你的人生,而你却称其为命运。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://zblog.hqyman.cn/post/14407.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
分享到:
打赏微信支付宝扫一扫,打赏作者吧~
休息一下~~