为什么要贡献开源?


  • Global Moderator

    Video++内部关于是否开源VideoOS讨论了很多次,为什么要开源,开源能为公司和行业带来哪些价值?

    如今已经几乎不可能找到没有从开源软件受益的公司或组织了。有些公司如Intel、IBM、三星等,均是设立了专门的开源项目部门去专门贡献开源社区的,而还有的公司之所以成为了开源的用户,完全是因为他们的系统管理员或开发者在工作中出乎意料的引进的。

    很多公司都在商业上依赖开源软件,而且还获得了很大的成功,所以他们也懂得和明白为开源软件项目做贡献。我们来看一组数据,从2005年,截止到现在,单单Linux内核一个项目,就有来自1300个不同的企业的13500位开发者参与了贡献。

    伟大的Google就是受益于开源软件成长起来的巨头的典型。它早期的服务都是跑在linux系统之上。它开源的浏览器内核项目chromium也是fork了apple开源的webkit;2007年它开源的Android系统也是基于linux之上;2015年它开源了kubernetes项目是基于开源的docker项目;2015同年它开源的TensorFlow也成为AI领域的明星。这4个项目让Google分别在web、移动互联网、云计算、AI 4个领域成为了事实上的标准。

    “对于很多大型项目来说,红帽知道我们大多数的贡献者均是来自实际使用开源项目的其它公司的人们,如Ceph、Gluster等。红帽有自己的客户,而且这些客户也经常会贡献项目,因为他们在使用这些项目。红帽认为无论是个人参与还是公司参与,都是值得诉说的成功。” Stormy Peters – Red Hat开源社区领导者高级经理

    0_1545892252805_8b6a7924-8e0a-4293-856e-1964160190ad-image.png

    或许有一部分的企业的贡献仅仅是为了回馈社区,但是仍然有很大一部分企业有更为充足的理由去贡献开源项目的,因为内部使用了相应的项目贡献会获益更多。这里列出几个贡献上游的益处:

    • 吸引人才: 当贵司依赖开源软件,那么寻找人才最好的地方莫过于熟悉项目内部本身,而且还是项目社区成员。通过在社区的公开的工作,贵司可以吸引到一些既是做自己喜欢的工作,还能获得一定报酬的人。尤其重要的一点,贵司现有的项目参与的员工,每天都会和他们在一起打交道,自然是非常熟悉的,找到他们也很容易。(更多详情,请参考招聘开发人员指南系列)

    • 降低维护成本: 如果一个企业开始在本地的分支做缺陷修复、增加新的功能,然而却没有将这些代码提交到上游的开源项目中,那么很快维护本地的分支,将成为该公司的一个成本噩梦。将上游作为优先的提交缺陷修复和增加新功能是最为明智的做法,因为这样的维护成本最低。

    • 项目影响力: 在一个开源的项目中,新的特性或功能来自社区的贡献,那么这些贡献就会影响到项目的走向,如果你认为为项目所贡献的新功能对于贵司非常的重要,那么你应该去安排积极的贡献者对这些功能进行开发和实现。通过贵司的贡献,自然而然就可以影响到项目的走向(只要你的变更符合项目本身的目标)。

    当然,参与社区是需要适当的方式方法的,若是方式不当的话,那么就可能出现不可预料的问题,即使真正的做了贡献。每个开源项目在具体的规范、期望和流程上都有一些细微的差别,所以贵司在参与一个项目之前,首先要做的就是去了解这些项目。这点可以有多种方式来完成,如先安排员工加入社区并花时间和精力去实地的考察,又或者是直接在该社区招聘已经有了贡献记录的参与者,进而了解项目本身。

    Video++预测到未来互联网视频会占据的互联网用户时间会持续上升,如何让用户在观看视频的同时又能满足他们更加多样化的需求,如何让企业通过视频可以探索更多的商业变现。为了解决这些问题,我们决定开源VIdeoOS,让大家一起来为视频赋能。

    引用原文:http://www.ocselected.org/posts/opensource_enterprise_guide/participating-in-open-source/