开源之道解读开源指南

开源以被大范围的使用而成为了业界主流,仿佛一夜之间,谁家不开源反倒成为了不正常,但是,一直缺乏方法论指导的本土,欲成为主流而不能,踌躇而彷徨。谁都知道本土就是人多,但是如何利用这些人,与世界更加同步了呢?开源之道借花献佛,以个人和企业视角来解读《开源指南》。

Mon Apr 17, 2017 | 2800 Words | 大约需要阅读 6 分钟 | |

引言

对于个人去感受历史,或者换句话说,自己如何将发生的事件串联起来,总结出什么来,这是敏感而深度的事情。而历史的真相,往往就是在抽丝剥茧中寻找到的。 在2016年,IDG旗下网站ARN发表了一篇文章:展望2017年的顶级技术,将开源和人工智能、深度学习、虚拟现实、云计算安全一并列举为2017年的流行技术趋势。让我们来回顾一下过去的一个季度,发生的和开源相关的事情:

  • 招商银行以银牌会员加入Linux基金会
  • 微软在GitHub的贡献者数量:16419
  • Google为开源架设了新站点
  • 机器学习框架全开源:TensorFlow、MXNet……
  • AT&T加入Linux基金会
  • IBM 宣布区块链和kubernetes开源云服务

这充分佐证了ARN的预测,在接下来的三个季度开源将更加的蓬勃发展。既然开源成为了业界的主流,那么我们该如何融入了呢?

《开源指南》顺势而为

GitHub 在今年2月14日的发布了声明,宣布一个以开源方法论为主旨的全新站点诞生,旨在为开发者和企业提供开源的软件工程方法论。一时之间,受各路追捧。开源之道也是第一时间,以布道汉语世界为己任,有幸成为了简体中文的维护者。地址是:开源指南

如果离开了开源软件,我们今天所看到的互联网将不复存在。 —— Chris DiBona ,Google开源总监

从不同视角切入

开源指南,全文分了十二个章节,非常的科学,涵盖的范围亦非常的到位。 内容如下:

  • 如何为开源做贡献:想为开源贡献力量?本指南针为“菜鸟”和初学者而准备!
  • 开启一个开源项目:从开源的世界汲取智慧,然后开始准备着手发起开源项目。
  • 为项目寻找适合的用户:通过找到诚心如意的用户,帮助开源项目成长。
  • 打造受欢迎的社区:打造人们愿意使用、贡献、并主动宣传的人气社区。
  • 维护者最佳实践:身为开源的维护者,如何轻松驾驭项目?本指南从文档流程到有效利用社区来展开。
  • 领导力和治理:决策有了较正式的规则,可让开源项目野蛮生长。
  • 通过为开源工作获得报酬:为了让你能够持续的为开源项目,理应得到相应的经济上的报酬。
  • 行为准则:社区的长远发展和健康成长,离不开一些行为准则,需要遵守并执行。
  • 开源衡量标准:通过持续的追踪项目,帮助你作出最佳决策,以让开源项目更成功。
  • 开源的法律保护:对于开源你应该了解的所有法律知识。

乍看起来,颇有不知从何下手之感,笔者这里试图帮助梳理,通过两个视角来说明、贯穿一下整体的思路,即个人视角和企业视角,开源的发展离不开无数个独立的个体,同样也离不开商业的因素,没有人贡献,项目就不可能存活,而没有相应金钱的投入,项目就会运行艰难。二者不可或缺。

个人视角

从个人的角度出发,能够通过持之以恒的努力,实现自己的价值,能够收获自己想要的,在这一点上个人加入开源阵营,和其它的行业没有任何的不同。如上图所示,开源指南列出了作为个人在开源项目中的道路。

入行要慎重,请考虑好了再加入,开源也像其他很多的道路,没有艰辛的付出,是一定没有回报的。首先回答自己的几个问题:出名?学习?贡献?标新立异?

然后,要明确,贡献是一个长远的过程,要花费你大量宝贵的时间,这些时间有可能是你和家人共享欢乐时光的,也可能是可好友相聚的时间,而且会非常的具有挑战性。

这个世界有大量的开源项目,自我测试一下,能够做什么,愿意做什么?Not Just Coding。

一旦开启了这个历程,除非你选择放弃,否则就得去遵循一些行为准则。这一点尤其是对于本土文化来说,显得尤为重要,君不见,马路上的汽车占用人行道、自行车道,OpenStack 社区刷Git Commit之类的事件稀松平常。40000多个开源项目使用的行为准则,其中包括Kubernetes、Swift、Rails等,也是需要多多去研习一下。

开源从来和金钱没有任何的仇恨,其实,相对于更加宽松的Free software而言,开源本来就是对商业的妥协。现在很多公司已经开始雇佣专职为社区做贡献的职位:Intel、IBM、FaceBook…… 有众包平台,做一些领悬赏的事情,创业拉风投、继而上市也是不错的选择。

关于法律保护,我不知道说什么,这个和大环境有关,去年我在Ceph社区有过一个分享,专门谈到了本土的“秘方”文化,读书人偷书不叫偷,叫窃。终究得感激知识产权。

作为一名贡献者,能够在一个项目中做一名维护者,已经是非常了不起了,能力越强,责任越大!让项目更加的发扬光大!

企业视角

企业怎么参与到开源,是我今天不会谈到的,比如该投入多少资源到某个开源项目中,如何做到名利双收等,那是另外一个话题,开源之道也有一直在追踪和研究,有机会再和大家分享。

无论是从个人角度,还是企业角度,能够开启/发起一个开源项目,在某种程度上讲,是达到顶峰的一件事情。你需要选择许可协议,你需要命名,这个和品牌有非常大的关系(是否采用和公司同一个名称?)以及文档、代码、人等检查项。

项目最终落实,全得靠人本身来完成。“社区胜过代码”,这是大家总结的经验与教训。所以能够打造一个成功的、受欢迎的、活跃度高社区是一件极具挑战性的工作。这里涉及到经济学、心理学、社会学、IT技术等诸多知识的运用和学习,所以我今天要特别提到一位在我们现场,同样也是演讲嘉宾的林旅强先生,他的工作非常了不起!另外我要给大家推荐两本和开源社区有关的两本书:《社区的艺术》《如何成功运行一个开源软件项目》。

一个项目总归是要让人们知道的,要明白现在的开源项目不是匮乏的年代,而是多,面临很多选择的问题。key-value 数据库、Hypervisor、Container、 IoT OS等等。利用一切Meetup、研讨会等去做演讲,到Reddit、Hacknews、StackOverflow等地方去告诉人们你们所做的事情。是的,开源其实并没有那么的神秘,我们往往只是看到一个结果,突然有一天,有一个项目出现在了眼前,然后很少有人去想过项目经历过什么?无人问津、鄙视责难、兼而有之。尝试去告诉人们你所做事情的意义所在,并为之付出努力。总之,让别人知道你,了解你!

衡量,一个社区的健康程度,决定一个开源项目的生死。没有什么一蹴而就的事情。需要不断的去改进,哪里出了什么问题?

领导力和社区治理,类似于现实的政治结构,诸如董事会、技术委员会、个人董事、项目核心等等关键角色的设立。以及一些规则的制定,比如一名开发者如何晋升为reviewer?等,这里就不再多说,可以参考诸如Apache、Linux、BSD等基金会的设定。

开源让中国与世界更加同步。 ——吴晓敏(Forrest大中华区副总裁)

结语

尽管从某种程度上讲,我们都是开源的受益者,但是,开源依旧需要更多的人参与进来,而开源指南无疑能够帮助人们少走弯路,正确的认识开源,在为开源做贡献的同时,收获自己想要的。对于个人也好,企业也罢,都是获利的一方。还在犹豫什么?放手去干吧!