科技公司为什么要使其项目成为开源项目?

当我在由GO-JEK主持的工程训练营时。 房间里有人问教练这个问题。 他们回答了公司关于将其软件开发为开源的意见。 但是在讨论之前,让我们先看一下开源软件定义:

“开放源代码软件OSS )是一种计算机软件,其中的源代码是根据许可发布的,版权所有者授予用户授予向任何人和出于任何目的学习,更改和分发该软件的权利。” Laurent,Andrew M.(2008)。 了解开源和免费软件许可

基本上,开源项目仍然与开源软件相似。 这是允许用于用户所需的任何项目的类型。 您无需为使用该项目付费,如果进行任何更改,您也无需付费。 不允许的一件事是声称此项目属于您。

回到问题,为什么科技公司将其项目设为开源? 单看这一点,工程师们的努力不会因为其他人可以自由使用而浪费吗? 甚至更糟的是,公司的业务会不会因为竞争对手可能复制他们的想法而陷入困境? 这是答案:

展开竞争与合作

今天不是时代,必须将所有内容保密。 如果一家公司不向他人开放,他们将很难跟上世界发展的步伐。 例如,我们可以看一下Google和Microsoft。 Typescript是为大型应用程序奠定坚实基础的语言。 凭借其静态类型和与C#的相似性,它获得了很高的采用率。 Google将它用于Angular是很自然的。 而且,由于很少有人将本地Windows Mobile平台和带有ASP Web组件的前端网络作为目标,因此微软正在推动使用Angular开发混合移动应用程序和单页应用程序。

对社区表示感谢

从头开始开发产品并不容易。 但是公司需要将此产品尽快交付给用户。 为了解决这个问题,公司可以利用开源项目在其产品中使用。 但是有时在将来,您可能会遇到以前使用过的这个开源项目无法解决的问题。 在这一点上,公司通常会花一些时间来制定可以解决这些问题的新解决方案。 出于感激之情,公司将把这个新解决方案带回社区,以帮助可能遇到相同问题的其他人。

寻找可以招募的新人才

拥有优秀人才是公司实现愿景的资产。 公司绝对希望吸引最优秀的人才加入董事会。 如果公司积极地为开源社区做出贡献,则他们必须对软件和最新更新进行良好的规范。 这些事情可以表明良好的工程文化。 最好的人才肯定想加入拥有这种能力的公司。 如果这些人才可以为项目做出贡献,则意味着他们了解上下文,具有良好的技能,可以符合标准并能够良好地沟通。