「开源学」:如何分门别类理解开源

来自:OSCAR开源大会,下午场的演讲。

引言

我们拥抱开源需要知识的导引,那么开源究竟是什么没有一个明确的指引的点,让任何人都可以去遵照执行,是现代人的困惑。

在 OSCAR 2021 的大会上,我们非常荣幸的邀请到了开源社理事,2020、2021年度理事长,庄表伟先生,他在开源圈卜有着相当高的声望和知名度,也一直在开源的世界里耕耘,并会提携年轻人。最近他本人也加入了华为开源能力中心,我们就看看他是如何看待开源世界里的知识的。


很高兴今天能够来到北京来到这样一个分会场来讲一个天大地大的题目:

「开源学」:如何分门别类理解开源 我会很享受这件事情,大家可以看的到后面很多很多页都非常像我们读书会的PPT。当然,要研究开源,我们可以从不同的角度来看,比如我们如何看待开源,它到底是一种现象,一场运动还是一次革命,这是一条线索。第二条线索,这是一种技术,或者它是一种技术底座,或者他是某种技术的推动力。第三条线索,我们如果把开源当成某种方法论,甚至他背后有某种哲学,我们是不是可以分门别类的去研究它。

「开源学」:如何分门别类理解开源 先说历史的眼光,我们来看整体的,从最左边的一本书,这就回到读书会的感觉了,大家一看到这个,就是到读书会了。这么多本书,我们从最左边的这本书讲起。《大历史与人类的未来》,这本书非常好,他从宇宙诞生的时候开始讲起,一直讲到现在,这是历史学界的潮流,现在研究历史要先从宇宙历史开始研究,然后到银河系的历史,然后再到太阳系的历史,然后再到地球的历史,然后再讲人类的历史,再讲人类从古代到近代到现代这样一个历史。第二本是从考古学家的角度来讲的,第三本不是一本书,它是「理想国」APP 里面叫做《从中国出发的全球史》,它不是分国别的,它是全球视角的研究历史,当然,现在越来越多的会进入到我们比较熟悉的领域,比如说计算机的历史,软件工程的历史,为什么要这样来看这些历史书呢为我们要越来越清晰的理解到开源这样一个现象它发生在什么时代,它发生在什么样的背景,以及他为什么在这样的时代背景,在当年的美国能够发生,通过我们研究这些历史,我们来想,反过来问我们自己,问我们现在的中国,中国现在的历史条件下开源会如何发生,这是一个历史学的问题,或者说我们如何在历史之中认识技术的发展,认识开源的发展是第一条线索。

「开源学」:如何分门别类理解开源 下一个当然是从经济学的角度来看开源,那就更复杂了,比如说第二本书又不是书了,是音频项目,是《像经济学家一样思考》的音频课程,我非常喜欢,里面讲了很多东西,但是他本质上讲的是模型思维,我们用一个一个的模型去刻画这个世界,然后看看这个世界是不是像我们所思考的所想象的那个模型一样去运作。比如说第四本书讲的是《公共事务的治理之道》,这本书我刚刚在看,非常好,他其实讲的也是模型,这本书最开始讲的是叫做公地悲剧,比如这是一片草地,这片草地没有主人的,我们有十家二十家都是放牧的,既然没有主人,我们所有人都可以在牧场上放牧,最后的结论是这个牧场一定会被我们的羊把草吃光,公地就废了,我们的羊也会饿死,这就是公地悲剧,但是这个无法解释现在很多社会上存在的合理的或者友善的合作现象,或者无法解释我们在开源社区基于奉献的合作,无法解释,我们光是用公地悲剧这样的一种博弈论模型是无法解释人类的合作现象,这本书叫做《公共事务的治理之道》,写这本书的人还是世界历史上第一个获得诺贝尔经济学奖的女性,这是一本非常好的书,这是从经济学的角度来看开源。

「开源学」:如何分门别类理解开源 接下来讨论技术的部分,当然开源是技术,而且是很重要的技术。我本职工作是架构师,所以我会来聊架构的问题,聊工程的问题,当然还会聊生态学和技术伦理的问题。

「开源学」:如何分门别类理解开源 下一个问题是软件工程的角度,同样的也是因为我们要做一套软件工程,我们原来做的是比如说敏捷、极限编程、看板这些都在搞,但是现在我们的系统既然是一个开放性的系统,在一个开放性的系统下面我们如何来做软件工程,这个领域是我的本职工作,我在华为开源能力中心就是干这个的,就是在做我们公司内部的软件工程面向开源的治理,其实有另外一篇演讲就是讲这个的,我稍微总结一下,我们要做的是软件工程的数字化转型,比如说我们先要做到一个复杂系统,我要做到可见性,就是要保证看得见,他到底发生了什么事情。比如说我们公司所有的代码、所有的软件资产、所有的相关数据、所有的业务流程,我要都能看的见。这其实就涉及到非常多非常多一致性的问题,很多原来的软件工程用的是一堆的软件开发工具、编译工具、测试工具,他都是散落在各个地方的,这些东西怎么集中起来存放,而且让他的数据是一致的,这是看得见的部分。

当然拿这个跟老板讲很容易,你能看见老板眼睛就亮了,你有一个东西给他了,他会知道这个世界上到底发生了什么,咱们公司到底发生了什么,咱们软件到底怎么样,其实就是这样的东西,首先要看得见。下面一层就是管得住,假设他是一个软件工程,我们清楚的知道他里面有很多不可控的因素,这些不可控的因素我们要去分析,要去把控,要理解他的断裂点,然后把他的断裂点转化成为控制点,然后转化成为一套完整的互相之间没有矛盾的控制策略,这样才能够保证控得住、管得住。然后没完,这样只是完成了僵化的部分,僵化了之后怎么优化呢们要有一套逻辑来讲,这个系统到底算不算好,到底应该以哪些指标去衡量它,以什么样的模型去评估它,以什么样的方式去改进它,首先我们得定义什么是好,我们才能真正的做到管得好,这是我认为软件工程或者说面向开放系统的软件工程所需要追求的背后的一套逻辑。

「开源学」:如何分门别类理解开源 接下来是关于伦理方面的思考,其实这是我前段时间思考的比较多的一个问题,原因是什么呢曾经写过一篇文章,讲到在开源社区之后,其实出现了一个运动,是叫做“道德源码运动”,这个“道德源码运动”他批评开源的一个最大的理由是说OSD里面有两个最著名的条款,叫非排他条款,一个条款叫做不排斥任何领域,第二个是不排斥任何的人,你们都能用,甚至在OSI的网站上面的官方解释里面,就会说我们不会阻止坏人用我们的软件,而“道德源码运动”的发起人就会说,开源,你们怎么能这样们怎么能够说坏人也能用们应该阻止坏人用你们的开源!所以他就发起了一种“道德源码运动”但是那个“道德源码运动”在美国闹的沸沸扬扬,背后有很多美国的历史背景,我为什么思考这件事情呢实我在思考的,第一OSD到底有没有错,或者开源的非排他性,在技术伦理上是不是站的住脚者他是所谓的技术上的无动于衷,其实我们很多时候非常容易接受这种技术上的无动于衷。比如说生产菜刀的人有什么错,拿菜刀砍人的人才是有错的,我们可以简单的这么说,但是如果一种技术他越来越强大,越来越能够有可能、有潜力、有某种风险会造成伤害的时候,那个技术的发明人真的没有道德责任吗像原子弹,是不是意味着只有最后那个投原子弹的人才有责任,就是那个飞行员有责任,那个给飞行员下命令的人有没有责任,那个给空军司令空军部队下命令的总统有没有责任,建造原子弹的团队有没有责任,发明原子弹原理的人有没有责任,一层层往前推,是不是只有最后那个人才有责任,还是说在整个链条上的每一个人都分担了一部分责任其实不太明白,或者说我现在正在看书、正在学习,伦理学也是一个非常艰深,也非常复杂的领域,但是他又非常重要。我们这么理解,如果这门技术对这个世界没有什么影响,不构成任何的损害,你根本不需要去研究技术背后的伦理,但是如果这个技术真的已经强大到有可能损害、甚至毁灭这个世界的时候,比如像现在讨论的最多的两种科技,一种是原子物理学背后的伦理,还有一个生物基因工程背后的伦理,开源这件事情,它在我们肉眼可见的范围内正在变得越来越强大,它既然都已经有可能成为整个世界背后运行的基础了,我们真的不能够回避开源技术背后的伦理问题,所以这块也是需要去理解和学习的。

「开源学」:如何分门别类理解开源 当然首先是从教育学的角度,不过实话实说,这方面的书我还没开始看,我前面列的那些书我基本上都看过,但是教育学的书看的很少,几乎没怎么看,但是在社区里学习的时候我稍微查了一些资料,讲到基于项目的学习,或者做中学,这是一个很重要的学习理论是杜威提的。社区里面比如说我们来做Code Review,这其实就是一种教与学的过程,教与学的过程它背后在教与学的原理上是不是可以得到更加深入的剖析,以至于他能够应用在教与学其他的教育上,这是我觉得可以思考的部分。

「开源学」:如何分门别类理解开源 再下一个问题是政治学,为什么会说到政治学实我们去看 Apache 基金会的官网,会看到我们的社区是怎么治理的,其实它背后的逻辑就是政治学,或者说就是一群人如何争论、如何讨论、如何决策、如何做一件事情,如何把这件事情在达成共识的前提下去做出来,而且在这个背后为什么Apache之道说:“community over code”,他们认为一个运作良好的社区才能够真正写出好的代码,这个背后其实是有价值观的东西,是有政治哲学的考虑,这些书当中我没有全看,第一第二第三本看了,第四本还没看,我知道我得看,因为这是在豆瓣上评价很高的一本书。这里面其实有一个很有意思的点,社群主义的这本书,我前段时间翻了,是因为这本书的英文名是叫做Communitarianism,他其实是社区主义,而在西方政治学里面的话,他是把社区主义和自由主义是对立的,你可以认为说社区主义更加偏向于认为集体更重要,集体的意志、集体的目标、集体的方向感更重要的这样一种政治哲学,而个人主义的话,那是我个人更重要,我个人的自由意志更重要,但是很有意思的是,我们去看我们现在绝大多数的开源社区,无论是中国的、还是欧美的开源社区,里面绝大多数的人都是自由主义者,而这样一群自由主义者却组成了非常非常理想的社群,这个背后的政治学,我觉得政治哲学家们、或者政治学家们,没有好好研究过这件事情,但这是很值得研究的领域。

「开源学」:如何分门别类理解开源 还有很多交叉学科可以用来帮助我们理解开源,比如说复杂学,还有博弈论、认知心理学还有传播学,好多我没看,这些书当中我基本上没有看,只有《复杂》这本书我看过了,另外四本还没有看,我知道他们很重要,如果要理解开源是怎么回事的话,这些书也得看,「开源之书·共读」就是把我们带到这么大坑里面,发现很多书要看才能更好的理解开源。

「开源学」:如何分门别类理解开源 这个纯粹属于闲聊了,我最近自己在琢磨这个东西,我们想象一个近未来,就是我们自己活着能够看到的那个未来,称之为近未来,就是未来30-50年这样。“近未来”我们认为有两样事情会发生,一个是什么呢类正在逐渐的变成后人类,比如说自我认知,我们变成是一种多系统的人,我们在互联网、在物联网,通过穿戴设备,与人机共生的方式存在在这个世界上,而且我们对于自我的评价也越来越多的以量化数据化的方式在评价自己,比如说我们戴的手表里面还能够记录我们的心跳睡眠时间,第二天早上看数据报告清清楚楚,而且我们说最早没有时钟的时候,我们只是看太阳日升日落大概估计一个时间,最开始的钟表是圆盘的,现在我们带的手表绝大多数都是纯数字的,甚至精确到秒,我们正在越来越精确的判断数据,当然我们去做体检,我们去记录自己的步数都会去看。同时我们评价别人用的也是数据,你有多少粉丝,你有多少人关注,你有多少人回复评论,全都是数据,我们对于自身的,对外、对内的评价都开始数据化、量化了,同样的,我们的角色定位也开始碎片化,或者斜杠化。比如我们现在同时手里拿着两个手机,拿着笔记本,然后我们其实同时身处在多个场地,比如说我们在听演讲,我们可能在手机上同时在处理几件事情,我们可能笔记本上还在跟人处理另外一个事情,切换一个窗口就切换一个身份,切换一个窗口就切换一个话题,因此我们的身份、我们的角色、我们的人都会变成多核的,或者说我们也得变成多核的,这是人的角度。从社会的角度,我们如何成为一个复数空间呢特别喜欢举一个例子,比如我们现在面对面建群,我拿出微信来今天大家输0917大家建了一个群,大家觉得这样的行为是一个物理空间的行为吗是数字空间的行为同时发生在数字空间和物理空间,他同时具有现实意义和虚拟意义,是这样的一个复杂社会,我们如果把两件事情分开来看,这是物理世界,这是数字世界,不是,我们如果从数学上来说的话,数学上有一种数叫复数,他是实数轴和虚数轴构成的一个复平面,在复平面上面发生的事情就是一个复数空间里面的世界,而我们的社会,我们整个世界正在变成这样一种复杂世界,复合空间,他会变得越来越困难,越来越难以把握。之前我们说到的《CODE2.0》那本书里面讲到过法律问题,他说一个人在美国的某个城市的家里面,他写了一篇煽动性的文章发在国外服务器的某一个站点上,他到底触犯了哪个国家的法律及如果有人要起诉他该到哪里起诉他,如果警察抓他该在哪里抓他,这些都是复数空间的问题,或者这也是复杂的社会问题。在这样的一个世界里面,一方面整个世界正在加速变化,人类和社会、世界都在加速变化,变得越来越复杂,变得越来越难以把握的时候。

「开源学」:如何分门别类理解开源 「开源学」:如何分门别类理解开源 从企业的角度,当然企业也在面临飞速变化的世界,从技术的角度,这个很现实,哪些开源技术他需要关注,企业应该如何用好开源,然后如何把开源变成企业的助力,这当然是非常简单的部分。第二个部分就是管理的角度,刚才我们说的如果我们思考管理学,我们有没有可能有另外一种管理,另外一种对于组织的思考,另外一种对于管理重新的定义,企业有没有可能变得越来越开放业的文化是不是变成一个拥抱开源、开放、变化的组织个时候企业文化是什么业的边界到底是什么是从企业的角度要去思考的。

「开源学」:如何分门别类理解开源 下面一个名词,这是我在网上搜了以后发现有一家公司已经叫这个名字了,其实这不是正式的名字,但是我很希望它以后如果有个东西叫“开源学”,它的英文名称能够翻译成 Openology,听上去很酷,但是已经被人注册了,已经是一家公司。

「开源学」:如何分门别类理解开源 假设我真的认认真真想要搞一门开源学的学科,它到底要避免哪些坑不至于掉下去,它要怎么样才能够吸引到更多的人加入进来。通过这两本书,我比较下来,最重要的两点,第一个要尽早的成立学会,某某学的学会,第二个要有高校的老师能够继续带研究生,这门学派、这门学科要传承下去,不是光这一个人写了点东西最后就没了,这是可以值得思考的,如何创建一个学科。

「开源学」:如何分门别类理解开源

来源:庄表伟

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月15日
下一篇 2021年8月15日

相关推荐