本文转载自公众号“读芯术”(ID:AI_Discovery)。
开源软件(OSS)受到很多人的崇拜,当一个新的项目即将开发时,通常情况下我们会使用OSS来完成它。但矛盾的是,对OSS的兴趣也导致了很多扭曲和误解。对于没有经验的用户而言,实践会让他们渐渐失去对它的信任。
Debricked多年来一直致力于开放源码软件,并开发了大量的知识库。因此,我们想打破关于开放源码软件的最常见的误解。
使用开源开发的项目是一个完全开放的项目
任何软件项目都由许多方面组成:项目源代码、有关未改正瑕疵的信息、测试源代码、文档等。项目的源代码只是其中的一部分,免费访问这些代码并没有授予打开整个项目的权利。除了源代码之外,其他开发工件应该是免费的,并且工件越开放,项目对贡献者的开放程度就越高。
此外,所有社区成员之间需要透明的流程,以促进项目中的公开沟通。所有这些措施都将有助于项目的发展和社区成员富有成效的合作。因此,代码可能是完全可用的,但是开发过程可以是封闭的和不透明的。
基于开源项目的软件是自动开源的
基于开源项目开发商业解决方案的公司可以在其产品中包含专有组件。这是因为附加的封闭功能可以让他们在基于这个开源项目的公司中获得竞争优势。
封闭的组件通常形成产品,公司可以出售给客户并从中获利。这是开源软件自由的一部分——你可以自由选择最适合你的选项。
开源软件是完全免费的
图源:unsplash
人们普遍认为免费软件是完全免费的,因为它是免费使用的。然而,任何软件本身的价格只是使用它的成本的一小部分。开源软件也不例外,在使用它之前,应该评估它的整个生命周期。
这是判断实现开放源码软件是否有利可图的唯一方法。OSS的好处之一是基本上没有边际成本,因为随着部署的扩展,它通常不需要额外的许可证。
不需要购买程序使用权(许可证),这实际上发生在购买商业软件的过程中。然而,每次都会产生不同的成本,例如,安装和开发的时间成本、服务成本(例如,没有经验的用户请求支持,或组织向IT部门支付实施和技术支持的费用),或拥有企业的成本。
该公司选择哪个选项取决于业务,但事实是实现和使用开源解决方案的项目将不会是免费的。
由于缺乏技术支持,您无法在开源解决方案上开展业务
对于用户而言,支持是关键。没有支持,一个普通用户在使用开源软件时可能能够正常使用,但公司在大多数情况下都需要技术支持。重要的开源项目要么得到开发人员社区的积极支持,要么有些公司可以在商业基础上为大型企业提供支持,如果需要,还可以向产品添加所需的功能。
事实上,开放代码意味着有经验的用户有更多的机会发现可能的漏洞并扫描其安全性。此外,OSS社区也在努力改进代码,很大程度上是为了保持声誉。
OSS的品质较差,因为任何人都可以为它编写代码
OSS的主要原则是开放式联合开发,其本质是保证其他参与者无法隐藏低质量的代码、漏洞和其他问题。参与这些项目的人准备好接受这样一个事实:他们的工作将受到分析和批评,不能作弊,没有开发者想要失去岌岌可危的声誉。
此外,在一些社区(例如以Linux内核开发为主题的社区)有一个严格的原则——只有经过测试且完美无瑕的代码才被接受到原始内核中。开发者首次试图增加低质量变更的尝试会被拒绝,第二次尝试将使其个人或出资公司名誉受损。
图源:unsplash
开源项目确实为任何人参与编写代码提供了可能性,但在重要的项目中,由于进入门槛很高,专业知识水平不足的人不会接受代码。大多数大型IT公司(IBM、Google、Canonical、Parallels等)都有一个完整的部门,在这些部门中,专家们可以获得报酬,从事开源项目,从而间接地为公司的产品工作。
值得一提的是,基于开源项目开发产品的公司对改进他们所使用的开放项目的代码很感兴趣。通常,他们也有创造一个安全的产品的希望。因此,所有发现的问题和OSS漏洞都必须得到修复,Debricked可以通过自动检测和修复漏洞来缓解这一麻烦。
这些误解大多出现在那些刚刚开始使用开源软件,或者根本没有尝试过的用户中。消除误解的最好办法就是多多使用以解决这些问题,快快开始你的旅程吧!