刘天栋:开源是打破内卷的最好方式

2024-03-20 05:32

本文主要是介绍刘天栋:开源是打破内卷的最好方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

c19af84eca80527bc7d2e538e94dd184.gif

熵,Entropy,一个描述系统状态的函数,最初诞生于热力学,用来测量不能做功的能量总数。之后被引申到信息论、生物学、控制论、概率论等各个学科,成为其中重要的参考值和变化量。

在去年的一次讲演中,刘天栋借用「熵」的概念,阐述了他对开源的理解。最近,我们有幸邀请到他,再次从「熵」出发,交流分享在开源与生活、个人与社区、创新与商业等方面的思考。

本期 WeOpen Talk 栏目嘉宾——开源社联合创始人、Apache 软件基金会 Member、腾讯云 TVP、腾源会导师刘天栋。以下为他的分享:

c2474d731807a99273d8684060fed4cb.png

1

时间之矢:个人开源成长

热力学第二定律指出,热量自发地从高温热源流向低温热源,过程中损耗的能量即为熵。因为其过程不可逆,可作为时间流向的依据,英国天体物理学家 A.Eddington 把熵喻为「时间之矢」。

我从事软件行业有将近 30 多年的时间,曾经任职过 Computer Associates、甲骨文和微软。2000 年初,我从甲骨文加入了全球最早的做 Linux 发行版的公司 TurboLinux,开始接触到开源的世界,之后回到甲骨文以及加入微软,也都是负责或接触与开源相关的事务。

我真正全心投入开源,是在 2012 年。当时我加入了微软的全资子公司——微软开放技术,这个子公司是微软决定战略转型、拥抱开源的开路先锋,或者也可以说是试金石。

公司里有许多开源界的大咖,包含当时 Apache 软件基金会(Apache Software Foundation,以下简称 ASF)的执行副总裁以及一些正式成员。这些开源的先驱们,为我推开了开源的窗户,为我展现了开源的美景,让我从此爱上并彻底投入开源。

微软开放技术公司全球唯一的分公司就是在中国,当我们在美国总部讨论未来如何推动微软在开源的战略方向与举措时,我问到两个问题:为什么中国没有一个像 Apache 软件基金会这样的开源组织?我们是否能够在中国也成立一个像 Apache 软件基金会这样的开源组织?

从这两个问题出发,经过了半年多的筹备,2014 年 10 月,我们在中国联合了一些志同道合的伙伴,如微软开放技术、CSDN、GitCafe、GNOME.Asia、优麒麟社区等,携手成立了草根、非营利、纯志愿者的开源社,一直走到今天。

在开源之路上,我遇到过很多人,其中有一位英国籍的非洲裔女士,Sharan Foga,她目前是 Apache 软件基金会的董事(连续二年当选)。Sharan 曾经长期担任 Apache 社区发展委员会的主席,她也数次在开源社的中国开源年会 COSCon 以及 ApacheCon Asia 大会上发表过演说。

她最让我印象深刻的是她的一篇硕士论文:《开源的价值观与文化的传递 — 探索 Apache Way 文化在中国发起和非中国发起的项目中的传递》(The Transmission of Values and Culture in Open Source — Exploring the transmission of the 「Apache Way」 culture into Chinese initiated and non-Chinese initiated projects)。这个论文是关于源自中国的 ASF 项目融入 ASF 文化的研究,结论是两者之间高度融合。

我个人对此的理解是:Apache Way (Apache 软件基金会的治理之道)其实更贴近于中华文化的主流价值观。Sharan 能从西方的视角对中国的开源项目社区进行探索与分析,令我印象深刻。

另一位是我在微软开放技术的老板,也是我的开源启蒙人,叫做 Gianugo Rabellino。他曾是一名律师,后来华丽转身成为开源布道师。他为我详细地介绍了 Apache Way,说他自从爱上开源之后,他在开源方面丰富的贡献经历和因此建立的人脉,让他从此不用再为找工作而烦心。这段话让我对开源产生了好奇心,进而想深入了解开源,从此踏入了开源的星辰大海。

遇到开源,让我更早地迈向自我实现的道路,往马斯洛的需求的最高层级前进。以前的工作更多是为自己,当我发现自己能开始帮助他人,为他人产生价值时,我感觉自己是富裕的,不再为自身的匮乏而恐惧,因为我开始不断地接受到他人的正向反馈,从而丰富了自己。

318df47fe2af89ae06a7516e75b01ce7.png

2

控制熵增:开源社区治理

1948 年,信息论创始人克劳德·香农在冯·诺依曼的建议下,将熵引入到信息论,用来测量信息的不确定性,获取信息即意味着消除了不确定性(熵)。控制熵增,也就意味着混乱程度的下降。

开源社成立的初心和愿景就是要做好开源治理、国际接轨与社区(联合)发展,而不是专注在特定的技术项目。在 2014 年,这样的理念可说是阳春白雪、曲高和寡,连一些早期成员也无法理解,只希望开源社能专注在一些技术项目上,因此导致了一些发展方向和路线的争论。

国内许多开发高手对技术比较执着,而我个人更同意一个说法——一个好的创意,加上比较一般的初始代码,才有可能进化出蓬勃发展的项目社区。如果初创作者太强大,代码太完美,那么结局很可能是孤芳自赏。GitHub 上就有大几千万的项目奄奄一息,只有 1% 或更少的项目能获得成功。

治理先于技术,不代表不重视技术,技术和非技术的开源贡献者都很重要。以 Apache 软件基金会来说,它是「社区的社区」,作为全球最大的软件基金会,它为 300 多个项目(顶级项目以及将近 50 个孵化项目)提供了代码托管的基础设施、法律咨询、品牌保护、营销推广、社区发展等服务,这些几乎都是完全由志愿者来承担的。

开源本身就是一个由社会化协作与生产关系的创新,各个环节都需要参与贡献的小伙伴,了解并内化开源理念才是关键,技术其次。现在国内外许多企业,更加重视开发者关系的经营以及项目社区的治理、发展与运营,这对许多小伙伴来说可能是职业生涯的蓝海。

2017 年,开源社的几家联合创始单位如微软开放技术、GitCafe 等,因为种种原因已经不复存在,而其他单位成员的代表,也由于工作的转换或其它原因,无法持续地参与开源社的运作。因此我们决定将开源社彻底转变为由个人志愿者来组成。这是开源社存续发展的一个关键转折点。

今天回过头来看,我们坚持的初心和愿景是正确的,八年走下来,可以看到开源治理、国际接轨、社区(联合)发展,已经变成了国内开源运动的显学。越来越多蓬勃发展的开源项目社区也验证了社区重于代码(Community over Code)、治理先于技术的理念是正确的。

一个开放式的组织可持续发展的最关键要素是共同信奉的使命与治理原则。开源社的四大使命是开源治理、国际接轨、社区(联合)发展以及开源项目,而我们的治理原则是「贡献、共识、共治」,这些不是口号,而是参与开源社的所有人都真心相信的使命与治理原则。

开源社的 「共识」决策机制的特色就是尽量透过讨论形成共识,而减少或避免投票。如果必需要投票时,三种投票方式:+1(同意并投入支持),0(没意见),-1(反对,并需提出充分理由,此时就再进入讨论阶段)。如此可以避免多数暴力或是新人意见无法充分表达。为了提升效率,我们也采取了懒人共识制,亦即在一定时间内(通常是 24~48 小时)如果没有人投反对票的话,就表示愉快通过。

开源社还有一个著名的社区文化——「推坑一条龙服务」,就是大家在看到优秀的人才时,就吸引 TA、引导 TA、邀请 TA 加入工作组或项目组,并开始认领简单的任务,我们会持续地鼓励和赞赏 TA 的贡献成果。

当新人反复入坑并成功地获得「开德哥尔摩综合症」(开源社·斯德哥尔摩综合征),就会形成口碑效应,让更多优秀的人入坑,完美闭环。我们尽量不让有经验的老手去反复兜底填坑,而是要鼓励新人勇敢的去尝试新做法,不怕犯错。

3

制造熵减:开源打破内卷

在生物学著作《生命是什么》的第六章,薛定谔写到,在一个开放系统中,生命物质会借由原态稳定地保持负熵,制造熵减,来规避第二定律达成热平衡的衰减。

前面提到的 Sharan Foga 的论文里,用到了霍夫斯泰德文化维度理论(荷兰心理学家吉尔特·霍夫斯泰德提出的用来解释不同国家文化差异的理论框架)的分析模型。其中对中美文化的对比很有意思。我们可以看得出来相比于美国人,中国人更相信权威、更融入集体、更注重人际关系,重视合作,照顾弱者和生活的品质、更灵活变通接受不确定性、更重视长期价值以及更能控制自身欲望。

face2d856b65cab752bb3802371ec3de.png

权力距离指数(power distance index)、个人主义(individualism)、阳刚(masculinity)、不确定性规避指数(uncertainty avoidance index)、长期导向(long-term orientation)、放任与约束(indulgence vs. restraint)

从这些维度上看,开源的价值观与中国文化有众多契合点。对于 ASF 这样一个提倡社区重于代码的全球顶级开源社区来说,源自中国的开源项目可以说是眼神已确认,八字比较匹配。

凡事都有一体两面。创新需要较高的自由度与挑战现状和较大的容错空间;而中华文化中的集体主义、重视和谐以及服从权威的面向,导致整体创新成本偏高。当创新成本太高,就容易在一个有限的市场中激烈竞争,努力分得更多的蛋糕,而不是想把蛋糕做大,最终形成「内卷」。

当一个社会、企业、机构或者社区中的资源,无法满足所有人的需求,只能长期停留在一种简单的自我重复与自我消耗中,内卷就发生了。

打破内卷需要颠覆式创新。

颠覆式创新有两种:一种是技术上的创新,升级生产力工具,例如用汽车取代马车,用固态硬盘取代机械硬盘;另一种是生产力关系的创新,例如用流水线的方式生产汽车,用云端存储代替本地存储,通过降低交易成本,实现帕累托最优(一种资源分配的理想状态)。

开源相比传统闭源开发模式,是一种生产力关系的创新。开源让分布在不同公司的开发者,自愿成为某个项目的「员工」,贡献自己的智慧,并从中收获自己想要的东西。

客观规律决定了,一个封闭系统中熵的总量会持续增加,只有打破系统的封闭状态,引入新的要素,保持负熵,才能再次回到平衡。

无论是个人层面保持开放学习新事物,社区层面接轨国际引进新成员,或是企业层面拥抱开源数字化转型,还是政府层面改革开放推动全球化,都是一种打破内卷,制造熵减的行为。

生命以负熵为生,人活着就是在对抗熵增定律。希望开源能帮助每个人、每个社区和每个企业打破内卷,找到平衡,最终创造价值。  

「WeOpen Talk」是腾源会全新上线的「对话开源」内容专栏,每周为读者呈现一期与尖峰开源人物的精彩对话内容。在「WeOpen Talk」栏目中,我们将深刻诠释开源先锋者们的开源精神、开源理念及其眼中的开源世界,深度挖掘开源领军者们在实践、参与开源过程中的有效方法论和最佳经验。


腾源会是腾讯云成立的汇聚开源项目、开源爱好者、开源领导者的开放社区,致力于帮助开源项目健康成长、开源爱好者能交流协助、开源领导者能发挥领袖价值,让全球开源生态变得更加繁荣。

45550901d483736d2e6965d6f6fe31c7.png

欢迎关注「腾源会」公众号,期待你的「在看」哦~👇

这篇关于刘天栋:开源是打破内卷的最好方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828426

相关文章

MybatisPlus中几种条件构造器运用方式

《MybatisPlus中几种条件构造器运用方式》QueryWrapper是Mybatis-Plus提供的一个用于构建SQL查询条件的工具类,提供了各种方法如eq、ne、gt、ge、lt、le、lik... 目录版本介绍QueryWrapperLambdaQueryWrapperUpdateWrapperL

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

java敏感词过滤的实现方式

《java敏感词过滤的实现方式》文章描述了如何搭建敏感词过滤系统来防御用户生成内容中的违规、广告或恶意言论,包括引入依赖、定义敏感词类、非敏感词类、替换词类和工具类等步骤,并指出资源文件应放在src/... 目录1.引入依赖2.定义自定义敏感词类3.定义自定义非敏感类4.定义自定义替换词类5.最后定义工具类

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

SpringBoot的内嵌和外置tomcat的实现方式

《SpringBoot的内嵌和外置tomcat的实现方式》本文主要介绍了在SpringBoot中定制和修改Servlet容器的配置,包括内嵌式和外置式Servlet容器的配置方法,文中通过示例代码介绍... 目录1.内嵌如何定制和修改Servlet容器的相关配置注册Servlet三大组件Servlet注册详

C# WebAPI的几种返回类型方式

《C#WebAPI的几种返回类型方式》本文主要介绍了C#WebAPI的几种返回类型方式,包括直接返回指定类型、返回IActionResult实例和返回ActionResult,文中通过示例代码介绍的... 目录创建 Controller 和 Model 类在 Action 中返回 指定类型在 Action

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques