DevOps|乱谈开源社区、开源项目与企业内部开源

之前的一篇文章《从特拉斯辞职风波到研发效能中的荒唐事》中关于企业内源的内容在研发效能群内引起了大家的热烈讨论 。有的小伙伴不同意,有的小伙伴非常不同意,我觉得这都是非常正常的反馈,话不说不透,理不辩不明,我还是特别希望能和大家一起把这个问题弄明白 。这篇文章就是那篇文章的后续,本文主要讨论开源社区、开源项目以及企业内源 。

企业内部开源
内部开源(Inner Source)简称内源,指把开发开源软件中学到的经验教训应用到公司或组织内部开发软件的实践 。公司和组织可以在内部开源的同时开发专有软件 。
开源社区概念
开源社区又称开放源代码社区,一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间 。由于开放源码软件主要被散布在全世界的编程者所开发,开源社区就成了他们沟通交流的必要途径,因此开源社区在推动开源软件发展的过程中起着巨大的作用 。
开源社区的特点
1)共同兴趣爱好
你对这个东西感兴趣就可以参与进去,小到更新文档,回答用户问题,大到贡献代码、优化架构、加入方向讨论 。只要你有能力且得到了别人的认可,那么社区就是欢迎的 。愿意加入就加入,觉得不合适了就退出 。你不对任何一个人有义务,任何一个人也没有理由约束你 。
2)开放式交流空间
基于PR的代码协作,基于 wiki 的文档协作,基于slack/telegram 或者邮件组的讨论沟通 。大家「大部分」的工作都是透明的 。
开源项目所有的物料、制品每个人都可以访问 。正式发布的版本还是会受到核心团队的审查、验证、把关等 。
当然某些开源项目也有核心成员,他们的一些讨论会限制在一定范围 。大体来看,这还是一个非常开放式的交流空间 。
3)开放式协作:平等、自组织、精英领导
因为大家是基于兴趣爱好而来,那么来去自由 。想关注 Watch/Star 项目即可;想贡献内容 Fork/PR 过来,会有人查阅你的 PR;自己已经很熟悉项目了,在 Issue 讨论区帮助回答用户问题也可 。总之想对一个项目进行贡献,是没人限制你的 。
虽然加入的门槛很低,但是开源协作是有「运行规则」的 。每个项目都有一些核心成员,这些成员主要是把控项目前进的方向,推动项目前进,接受其他人的 PR,同时对项目投入更多的精力产出更多的内容 。
开源社区是一个以共同兴趣爱好为基础的、松散的组织 。
企业的概念
现代的企业是依法设立的,以营利为目的,运用各种生产要素(土地、劳动力、资本和技术等),向市场提供商品或服务,实行自主经营、自负盈亏、独立核算的法人或其他社会经济组织 。最本质的企业是一个以盈利为目的的经济组织 。
如果一定非要说企业都由什么兴趣爱好的人组成,那就是都拥有「共同赚钱的爱好」 。
企业的特点
企业是一个由组织机构、规章制度组成的的社会组织,需与员工签订劳动合同,而形成的一种开放式的社会组织 。企业给员工各种福利待遇,员工按照公司要求尽职尽责,不存在自组织的因素 。
企业不需要依靠血缘、亲缘等其他关系,更不依赖于兴趣爱好;公司里也会有各种公司组织的社团,提供一些经费场地等,但根本目的还是服务好员工,让员工有更好的产出 。
企业作为一种社会组织,他的目的就是盈利,不断提高经济效益 。如果说做开源社区可以给公司带来经济效益,那么公司也可以选择做;但做开源社区只是一种手段,而不是目的 。

经验总结扩展阅读