<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

2013 年,赵生宇摄于骑行路上。
 

33 岁的赵生宇正在同济大学计算机系读博士二年级,专门研究开源,擅长制作开源治理自动化工具。

清华计算机系本科,北大软件开发硕士,他曾经以为自己会做一辈子的程序员,但面对开源社区的邀请,他两度辞掉手头的程序员工作去做开源运营。当他在阿里发挥编程优势改造传统运营方式并且风生水起之时,再次辞职,一头扎进学校,只为寻找开源的答案。

身边的人,有时甚至他自己都会不解一路走来的选择。但是,逐渐地,他在开源的道路中知道了自己真正想要的是什么。

“在开源世界中的探索给人一种自由的感觉。”这才是赵生宇一直追求和向往的,对他来说,遨游在开源世界的感觉就好像他在 2013 年独自骑行一个多月横跨大半中国一样,弥足珍贵,“现在作为学生自由地探索开源和当时骑行的感觉也非常类似,很累,比较孤独,但非常自由,是一种追梦的感觉。”

<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

从西宁市至北京市,赵生宇 2013 年骑行路线图。

在写代码与做开源之间横跳

“我一直觉得,我是一个技术背景的人,应该做一辈子的研发或程序员,但同时我又始终被开源吸引,所以就会在不同岗位之间反复跳。直到找到一个非常好的结合点,把我兴趣和技能结合起来。”

2015 年,Apache 基金会联合开源社筹办 Apache Roadshow 2015 China 活动。还在读研的赵生宇经同学推荐,以学生志愿者身份参会,给任 ASF 副总裁的 Niclas Hedhman 做随身翻译。会上来自 ASF 的成员讲述了 Apache way,开源治理,大数据生态体系等等。在闭门圆桌会议上,技术界的众多大咖齐聚,畅谈技术发展历史与趋势,这给了他很大的冲击。

<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

Apache Roadshow 2015 China 闭门圆桌会议,赵生宇以学生志愿者身份参与会议记录,图中有 Apache VP Niclas Hedhman、微软计算机科学家,Delphi、C#、TypeScript 之父 Anders Hejlsberg、Apache ServiceComb 负责人姜宁、Apache Kylin 负责人韩卿等。
 

因为作为会议志愿者表现优秀,大会组委会成员陈阳给了赵生宇一个到微软做社区运营的实习机会当时拿了校招 Offer、并已经在美团开始数据治理工程师岗位实习的赵生宇辞职去做了一名运营:

“那是非常大的一个转折点,但是当时我对开源的认识还是非常模糊的,就知道开源是很有意思的一件事情,很有趣的一群人在做一些看起来非常有爱的事情,而且有机会和技术界的大咖面对面的交流。”

毕业之后,赵生宇找了一份“老本行”工作,在网易游戏做一名研发工程师。任职网易期间,他一直没有间断参与开源社区的活动,或多或少都会出些力,比如做志愿者招募,协调场地,会务处理等等。

有一次,他专门请假从杭州去上海,协助开源年会的举办。老板问他帮忙是不是有钱拿,他说不是,大家都很不解。 

“具体为什么我自己也不太清楚。”直到现在,赵生宇依旧不太理解自己当时的动机,只是用“感觉非常好”来形容,“大家会觉得你是一个志愿者,非常有个性地把这件事组织好了,那大家就非常认同,给你竖个大拇指,你就会很开心。”

慢慢地,通过这些活动赵生宇认识了更多开源圈子里的人。2018 年,阿里邀请他去做开源运营。几乎没什么犹豫,他就答应了。也正是个第二次从事开源运营的经历,让他找到了自己的技能和开源的结合点。

结合点

结合点就是开放式组织的数字化治理,用数字化工具让开源运营更简单。

入职阿里两个月时,赵生宇接到任务,去采访他们运营的某个开源项目的 contributor(贡献者),和每个人深入交流。工作第一步就是获取每个 contributor 的联系方式。由于 contributor 都是 GitHub 上的代码提交者,想找到他们可以去看代码提交时的关联邮箱,或者看个人主页是否留下联系方式。传统运营此时的做法大概率是维护一个列表,找到每个人的信息,实时更新表格。

“我是学计算机的,所以立马想到可以写一个脚本自动获取这些信息。”赵生宇的技术背景优势在此刻凸显。

紧接着,他发现 GitHub 本身开放了大量数据,可以做各种数据的持续采集和分析。完成之后,他意识到这件事非常有价值,可以大幅度降低传统运营的人力成本,实现自动化。于是向公司提出想要转变自己的工作方式,“我不希望做传统运营的那些事情,我希望做和数字化相关的事情,比如做软件工具,从 GitHub 上爬取数据,分析数据,进而支撑传统运营的工作。” 

这种想法进一步实现的是 2018 年,阿里想要对外发声,需要评估阿里在全球开源生态中扮演什么角色,怎么定义贡献之类。公司谈论开源贡献往往可以很容易列举出共开源了多少项目、项目有多少个 star,在全球有多少贡献者,为开源开发投入多少资金等指标,但很难评估出公司在全球开源生态中的地位。上述这些可见指标中也或多或少与实际情况有偏差,比如 star 可以刷,开源项目的多少并不代表质量等等。而这次任务就引出了赵生宇现在还一直在做的事情——GitHub 全域数据分析

<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

2019 年 Linux Foundation 主办的 Open Source Summit 上海站,赵生宇代表阿里巴巴介绍数字化运营方面的工作进展,其中就包含对于 2018 年全年 GitHub 数据的全域分析的初步结果。
 

“长远来讲,如果可以实时分析非常活跃的开发在不同项目之间迁移的过程,其实能洞察整个技术世界的发展趋势,这件事对公司的技术战略非常有帮助。”赵生宇擅长大数据处理,利用他擅长的技术洞悉开源的发展规律刚好是结合了兴趣与个人技能。

去年,赵生宇还以同济大学与华东师范大学联合主办的 X-lab 开源实验室成员的身份,正式发布了他基于 GitHub 全域日志的图数据分析成果 OpenGalaxy 2019——开源星系 2019,介绍了一种基于开发者协作网络的全域项目影响力评估与项目聚类算法。开源星系 2019 是目前已知全球第一张也是唯一一张 GitHub 全域项目全景图,包含 2019 年 GitHub 全域 17 万个较活跃项目的影响力和聚类结果。

2020 年,他也在 X-lab 实验室的 GitHub 组织下开源了 GitHub 数字分析的项目,将全域数据分析的能力集成到 GitHub CI 中,使更多人可以一起参与到全域数字分析的协作中。X-lab 也将在 2 月份发布《GitHub 2020 数据洞察报告》,更全面的展示他们在 GitHub 全域数据分析上的成果与进展。

<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

OpenGalaxy 2019,展示了 GitHub 上 2019 年最具影响力的 17 万个项目的全景图,节点的大小表示了项目的影响力,而不同的颜色则表示了项目所属的领域。
 

GitHub 全域数据分析是赵生宇为自己找到的,个人技能与兴趣之间,即写代码和做开源之间的结合点。

而在阿里接近两年的工作经验,也让他对开源本身有了更多猜想。

带着问题回学校

刚加入阿里时,赵生宇所在团队仅仅是负责一个项目的运营,之后团队迅速扩大,成为阿里开源办公室,开始统筹阿里集团的开源工作。

期间,他做过活动、内容、数字化运营、开发、访谈、报告,甚至是绩效评估、风险管理等等。也真正从企业内部认识了开源,从运营和治理的角度看开源,开源在他眼里不再仅仅是一群有热情的人聚集在一起做一些看起来没有收益的事情,而是要立足企业治理,从公司战略层面去思考和行动。

换个角度看开源,新的问题出现了:开源治理的框架应该是什么?应该用什么样的角度去看待开源?在不同的角度上应该用什么方法去解决什么样的问题,达到什么样的效果?

搞清楚这些还没有多少人探究过的问题最好的地方就是学校。”对开源的强烈求知心驱使赵生宇重新规划人生路径,他决定换个环境去思考。

说来也巧。赵生宇曾在一次开源社区活动上认识了他后来博士生导师之一王伟,几番交流之后二人日渐熟悉起来。2019 年 5 月,王伟给赵生宇发消息,说自己刚好有一个博士的位置,和开源相关,问赵生宇是否有意愿。

赵生宇非常心动,果断表示:“我来。”

2019 年 9 月,赵生宇从阿里离职进入同济。回到学校的他有了更多的时间做研究,开始学习管理学、经济学等人文学科知识,在跨学科背景下看开源。由于他本硕都是读的计算机系,高校研究制度不允许无跨学科背景的人做跨学科视角研究,于是,赵生宇就开了课题“从全域数据中挖掘协作模式”,大的兴趣方向是跨学科视角下的开源理论研究和开源项目工具开发。

至此,赵生宇的开源探索有了一个大致的框架。

他坚信开源作为一种开放式组织形式,可以变革人类社会现有的这种生产方式,尤其是公司。

而从组织形式的角度看开源,开源就需要一整套的治理框架。同时,基于此框架的数字化、自动化的治理工具也能帮助开源项目及社区更高效的运作和管理

猜想印证

2020 年年初的一个项目,让赵生宇进一步确定了两件事:一是开源可以是领域生产关系的变革,而不仅仅是软件开发;二是开发自动化协作工具的可能性与重要性。

2020 年 1 月 23 日,除夕夜前两天,武汉因新冠疫情封城。突然的灾难打破整个社会的阵脚,和大多数人一样,赵生宇的所见被来自医院、医生、病人等各方的求助填满,“就是在除夕当晚,我记得非常清楚,大概从八九点开始,朋友圈、微博、微信群非常多这样的信息,大家都在转,我心里也非常不舒服。”

然而此时的赵生宇满心焦灼却无法施以援手,许多可信的捐款平台资金池已满;一些求助信息以图片形式传播,长串的银行账号在图片中传播难以使用,用他的话来说就是:想捐个款都太难了。

除夕夜当晚,赵生宇难以入睡,“作为计算机系的人,那段时间也一直在做数据相关的事情,看到这些就有直觉,想是否可以做一个数据平台解决问题……”

想到凌晨三点,他决定启动一个数据平台项目,便动笔写倡议书,因为明白工作量的浩大,打算用开源的方式号召更多人加入。第二天一大早,他将倡议书发给实验室导师,同时也是开源社执行长的王伟,作为武汉人的王伟老师非常支持,中午时就通过 X-lab 实验室公众号发出。

Wuhan2020 项目启动了。

Wuhan2020 的定位是武汉新型冠状病毒防疫开源信息收集平台,需要收集的具体信息包括医院、酒店、物流、生产、捐款、预防与治疗、义诊、动态。最初的设计是参与者可以到 GitHub 上提交 csv 格式文件并存储,以便前端获取结构化数据。

很快,赵生宇发现,GitHub 本质是一个代码协作平台,提交表格类数据非常困难;另外国内许多程序员对 Git、GitHub 并不是很熟悉,因此协作效率不高。第二天,赵生宇和实验室的同学去调研在线协作表格工具,最终选定石墨表格。

石墨表格是一家武汉科技公司的产品,得知 Wuhan2020 项目有意使用石墨表格之后,石墨的一些工作人员以个人身份参与进来,帮助对接了部分信息采集的团队,有收集新闻事件的团队,也有做疫情防控知识文档协作的团队……

解决了信息采集的问题,接下来是数据的加工、处理、可视化。

赵生宇和石墨产品的开发者配合,写了一个连接石墨和 GitHub 的自动化工具,将石墨作为信息的采集端,GitHub 作为代码采集端,中间通过自动化程序连通。每隔两个小时从石墨表格里采集数据,过滤掉未审核的数据,然后校验每一列,检查出格式不匹配的数据后上报错误;没有问题的数据里,抽取出联系人电话号码、账号、地址信息等数据并进行自动化二次加工,打包成数据包上传到 GitHub 的数据仓库,转化成开放的数据,这时大家就可以直接拿开放数据做应用。

越来越多贡献者涌入项目,最终 Wuhan2020 在半个月内完成开发,参与者多达四千多人。

<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

Wuhan2020 有三个项目在同一天内登上 GitHub Trending 榜全球 Top 5
 

一个德国开发者基于 Wuhan2020 做了款手机 APP,直接读取 Wuhan2020 的数据显示在手机上。

美国医疗公司 Button 用数据做了面向海外的网站,促成一笔武汉医院从欧洲采购了上百万美元医疗物资的交易,也有美国人通过这个网站捐助口罩等物资。

社区的志愿者自组织为 Wuhan2020 项目做了官方网站,展示贡献者、项目、社区等等。

通过来自社交网络的反馈,赵生宇也知道有很多人通过这个项目,一键复制银行账号,完成捐款。

……

“如果说 Wuhan2020 解决了多大的问题,我觉得并不是。”对于 Wuhan2020 项目取得的成绩,赵生宇并不是非常满意,他认为首先 Wuhan2020 没有打通全链路,如捐款、捐物等;其次,美国医疗公司 Button 是个例,具体多少人使用 Wuhan2020 并不能追踪,因此无法准确评估价值;此外 Wuhan2020 发布时间特殊,“项目本身有一个很重要的前提条件,它发生在那个时间节点,很多因素都非常巧合的碰到一起,这个项目才会产生。”

Wuhan2020 对赵生宇来说更重要的结果是印证了之前的一些猜想。

一是 Wuhan2020 探索了开放式的组织形式,证明开源可以是对各领域生产关系的变革。赵生宇认为,Wuhan2020 区别传统意义上的技术开源,是一个非典型的开源项目,研发仅是一小部分,参与者有许多都是非开发者,比如贡献数据的学生团队、设计团队、宣传团队、运营团队等,而且他们也与上游的工具厂商有紧密的连接,“当时 Slack、Figma、石墨、句子互动也都给了我们商业版免费支持”。

并且它印证了开源这件事不仅和软件相关,更是对整个组织甚至跨组织管理的变革,对人的生产关系的变革。生产关系的变革是指不同领域的人们可以在没有签订劳务合同,没有过多外力强制的前提下,出于共同的愿景和目标去从事生产。

二是 Wuhan2020 证明了开发自动化协作工具的可行性和重要性。Wuhan2020 项目是来自各地、各领域的贡献者用多个协作工具创作,并通过自动化工具连接的:数据收集志愿者用石墨表格协作数据有北美设计师用在线协同设计平台 Figma 做 UI 设计协作;开发者在 GitHub 进行代码协作;而他们也自己开发了工具用于跨平台的数据同步与权限管理。基于这些协作平台与自动化工具,所有人才有可能构成一个完整的协作组织。

开源对人意味着什么?

“站在几十年后、一个世纪以后回望的时候,开源对于人类到底意味着什么?”

Wuhan2020 激发了赵生宇更多思考,之后的 2020 年,他更多地去读跨学科的书籍,尤其是经济学、管理学、社会学:

我希望建立起一个框架去剖析开源,并使开源模式可以更好的发展和推广

对这个目标,赵生宇还没能给出一个确切、甚或是大概的答案,但他已经通过不同学科理论更理解开源。目前最让他受益匪浅的两个学科是新制度经济学与管理学。

其中新制度经济学强调从制度成本的角度去分析组织的有效性,制度成本理论让他意识到开源社区的有效性在于“不能提高效率就终会消亡”。

如果组织管理和研发管理的问题较多,生产成本较大,就注定会走向消亡,无论在开源还是传统企业中都是如此。开源虽然在组织边界有限开放的情况下在某种程度上降低了产品获客和技术品牌建设与宣传的成本,但与此同时开放式的协作带来的挑战更多。

虽然现在很多人都认同“一个项目是否认真做开源,看 CI 就知道了”的说法但赵生宇认为未来的自动化手段将不仅 CI 系统。CI 仅仅解决了大规模协作中的测试与信任成本高的问题,未来的自动化工具同时还需要关注组织的成员架构管理、权限管理、研发流程管理、绩效评价、社区运营等一系列与开源相关的生产环节,而每个环节的自动化都是对制度成本的降低,从而增加组织的有效性,使社区可以更加平滑的运作。这也从理论层面加深了他对自动化工具重要性的认识。

另外,新制度经济学打破了新古典经济学中的“完全理性人”假设,将“有限理性”作为一个基本假设这使得赵生宇可以跳出纯理性的收益分析来看待参与开源。

不同学派对于有限理性根源的探究,为赵生宇理解开发者行为和探究开发者运营策略时提供了诸多耳目一新的角度

管理学中关于“情绪对生产力影响的研究也印证了这个观点,社区中开发者的归属感与认同感导致的驱动某种程度上是非理性行为,而且一些纪念品、证书等虽然没有实质的收益,却在情绪层面影响了开发者与社区的关系,从而进一步影响了开发者的行为。

“我本人在生活中有点极简主义,很多时候我会觉得纪念品是一种累赘,但收到时依然会非常开心。”赵生宇作为一个工科生一向喜欢用非常理性的视角来看待世界,其他学科的理论往往能给他一些新的视角。

<span><strong>在写代码与做开源之间横跳</strong></span>-LMLPHP

王伟老师在上海开源信息技术协会发起的开源社会工程研究框架,旨在通过跨学科领域的协同研究促进开源研究的发展。
 

赵生宇在不同学科中得到的启发还有很多,虽然还没求得最终解,但他已经确定要和开源难题死磕了:“2021 年可能会产出一些内容,但不会达到预期中非常完整的理论框架的程度……实践方面也是做好工具之后,把需要实践的理念注入工具再去服务社区。”

现在,他还会以 Freelancer(自由职业者)的身份做外部开源咨询,加深对开源现状的了解。和研究开源的同学呆在一起时,他们也会畅想新的未来:

未来是否会有大量的开放式组织,人们可以不用签订独占劳动力的劳务合同,不用固定坐在一个工位,可以选择我要做什么样的事情,可以选择在哪些组织里做事,可以更自由地工作与创造……

OSCHINA 推出的开源人物专访栏目【溯源】。

溯源,意指向源头追溯,为开源求解。问渠哪得清如许,为有源头活水来。每一个开源参与者,都是掀起开源浪潮最鲜活的源泉。所有开源故事,共同构建着我们今天看到的开源世界。

开源刚出现的数十年里,为开源奔走的黑客团体都在遭受来自社会主流的冷漠和排斥。即便现在的软件行业已经大喊出“拥抱开源”的口号,问题也依然存在。

我们不知道开源贡献者、开源布道师,以及所有参与开源的人还会面临多少阻碍,但给予我们信心的是,更多的人在投身开源事业。

所以 OSCHINA 希望面向开发者社区,寻找每一个积极参与开源、对开源有想法的人,了解他们以及他们的开源故事,窥探故事中的开源事业发展规律。

【溯源】系列文章:

适兕 :成为开源布道师

卫剑钒:开源圈的“世外高手”

【溯源】专栏正在征集开源人物故事,如果你认为自己或是身边的人对开源做出过独特贡献,欢迎填写下方问卷联系我们

https://www.wjx.cn/vj/rRhC1S4.aspx

03-28 03:04