协会地址:上海市长宁区古北路620号图书馆楼309-313室
代码不是核心竞争力吗?为什么要公开?
本文为5月15日长三角之声「思创空间」——科技巨头为何纷纷开源自家技术?的内容节选整理。
比如说土豆炖牛肉,他把配方公开出来,其实就是一种开源。每个人拿到开源的菜谱之后,根据自己的喜好在里面做一些微调,就是一次再创作。
任何一次社会创新实践实际上都是傻子推动的,全球只要有一个人把这个代码贡献出来以后,所有人都不需要做重复劳动了,所以这是一件非常伟大的事情。开源相当于数字经济的道路和桥梁。
把一个开源软件从1.0经过很多程序员的修改迭代到10.0的时候,这个软件它是谁的?我觉得这个问题其实相当有意思。
我们要思考一个问题,开源作为一种社会存在,它为什么能够存在?
目录
什么是开源?
开源技术的发展脉络?
代码不是核心竞争力吗?为什么要公开?
为什么国外大型科技公司纷纷拥抱开源?
阻碍开源创新的是什么?
说到“开源”你会想到什么?“开源节流”?NO NO NO……来看下面两则新闻:
近期,为了向公众提供更直观的疫情信息,上海交通大学人工智能研究院许岩岩、金耀辉教授团队与上海白玉兰开源开放研究院基于公开数据,联合开发了一个开源可视化网站,方便用户直接查询所在小区及周边区域近期内的所有疫情通报信息。
同样是在这段时间,科技领域爆出了一个重磅消息——Meta AI开放了拥有1750亿参数的大语言模型OPT。这次开源,对于大型科技公司来说是前所未有的,甚至有科学家称其为一个伟大的举动,也让“开源”这个词受到了许多关注。
其实,开源与发展新一代信息技术、推动数字经济高质量发展密不可分。

去年,开源被首次列入国民经济和社会发展五年规划纲要——“十四五”规划纲要提出:“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务。”这也标志着中国开源的发展进入了新阶段。
新阶段,意味着新机遇。什么是开源?开源的价值何在?
引自「思创空间」本期节目介绍
<以下为内容节选>
什么是开源?
【狄安】从狭义上来说,开源是把我们平常写的软件程序的源代码开放出来,让其他程序员能够看到这部分代码,然后在这代码上面进行修改,进行发挥衍生,创造出新的软件程序来。从广义上来说,实际上开源已经不仅是代码的开源,它本质上是一种理念——通过知识的共享,给他们或者给社会提供一些公共物品,让更多的人参与到知识的创造更新中。
【主持人】我随便举个例子,假如说我开发了一款软件,它有点像什么?我今天做了一道菜,我有这个菜的配方,我把这个配方告诉大家。你可以照着做,也可以调整各个配料的比例,或者创造性地添点什么东西,它就变成了新的。虽然还是以这个配方为基础,但是味道又有一点不同,我可以再分享给大家?我能这样来理解吗?
【狄安】实际上菜谱就是一个配方表,比如说土豆炖牛肉,那么土豆放多少,牛肉放多少,然后调料放多少,然后他把配方公开出来,其实就是一种开源。每个人拿到开源的菜谱之后,根据自己的喜好在里面做一些微调,就是一次再创作。最近,国内有一名开发者就在 GitHub 上开源了一份《程序员做饭指南》(点击查看)。


因为疫情,他被封闭在家,就开始尝试自己做饭,然后他把自己日常做菜的做法,上传到了GitHub公开的代码仓里面,把菜谱当成了一种代码的表现形式,然后让大家来公开分享,其实就是一种非常好的在日常生活中的开源理念。
【张国锋】其实从人类社会发展历史上来讲,分为三个阶段,农业社会、工业社会和数字社会。在不同的社会它都有一个公共基础设施,你比如说在农业经济时代,秦始皇统一度量衡,统一标准以后大家不用做重复劳动了;工业时代也是一样的,比如道路和桥梁,有人建过以后,其他人不用再建了。你可以使用这些东西就行了。那么开源也是这样的,只不过它的范围已经扩大到全球,它不是国别经济,它是一个世界经济。只要有一个人把这个代码贡献出来以后,所有人都不需要做重复劳动了,所以这是一件非常伟大的事情。开源相当于数字经济的道路和桥梁。
刚才提到的GitHub,它是一个代码托管平台,相当于仓库。全球程序员都可以把自己的东西放上去进行共享。同时,它还是一个生产协作平台,大家都在上面进行贡献,就相当于在一条生产线进行劳动协作。那么,这样就涉及到:怎样进行有效的组织和管理?
开源技术的发展脉络
【狄安】开源来自于英文「open source」。在技术领域,它不是一个与生俱来的名词,它是一个经过妥协的名字。为什么这么说?
其实开源最早起源于「自由软件运动」,在七八十年代的时候,MIT有一个研究员、极客叫Richard Stallman。有一天,他的打印机出了问题,平常这种打印机坏了,他通过这个程序就可以自行修改,但是那一次他发现他的程序不能修改,为什么?因为打印机驱动厂商的程序封闭了,他没法改。从这样一件事情上引起了他的一个思考。作为一个黑客,他觉得这限制了他对软件代码修改的自由,所以他就掀起了一场运动,这场运动就叫做自由软件运动。当时的思想内涵是几层——第一层,他认为用户应该对这个软件有使用的自由,用户应该对这个软件有修改的自由,修改完以后能够再发布。这个是一个比较理想主义的,他就号称说所有的软件都应该代码开源,跟商业社会其实是相悖的。因为按商业逻辑来说,我们开发的一套软件,我应该拿来赚钱,而不是自由分享。到了1998年左右的时候,有另外一群黑客,他们为了让自由软件、开源代码的软件跟商业更加亲近,他们就一起在硅谷开了一个会,在会上他们就想出了这个名词,当时用了 open source这个名词定义,就是说把代码开源出来的这部分软件叫「open source」,翻译到中文来就变成了「开源」,这也就是开源的一个由来。所以我说,它是一个经过妥协的名字。从纯粹的自由的追求到既能够有一定的自由,又能够跟商业相结合。
代码不是核心竞争力吗?为什么要公开?
【主持人】刚才提到的一个问题,也是我特别好奇的一个点,是不是在一个软件开发的过程当中,我的源代码是特别重要的,比如说就像我做菜一样,我有自己的独家配方是吧?可能就因此带来商业上的一个成功,我的配方可能就是我的一个核心竞争力,或者源代码就是我成功的一个核心的竞争力。我为什么要公开它,它不应该是我本身企业发展的一个护城河吗?
【张国锋】我是这样认为的,任何一次社会创新实践实际上都是傻子推动的。按我们正常人的逻辑(传统的工业思维)来说,我自己做的东西,我有知识产权,可以申请专利,我为什么要开源出去?但对于技术极客来说,他们生活无忧,就想实现个人的思想和能力,突然开始推动开源运动。
我们要思考一个问题,开源作为一种社会存在,为什么能够存在?2018年,微软收购GitHub以后,西方媒体是这样评价的:「微软放弃了多年对开源的抵制态度,开始拥抱开源」。为什么说2018年是一个分界点,在此之前大家都认为开源没有社会价值,没有商业模式,为什么2018年以后互联网公司纷纷开始拥抱开源?是什么发生了变化?这也说明,开源作为一种社会存在,它一定有自己内在的合理性。这个「合理性」是我们要研究的,需要经济学、管理学、法学、哲学和社会科学的共同探讨。
开源开放是数字经济最本质特征,或者说开源反映了数字经济最基本的逻辑。从代码的开源,后来逐步转变,开源成为一种思维模式,延展到更多领域,比如开放硬件(特斯拉2014年开源了发动机技术,RISC-V芯片开源等)。这就催生了一种新的生态、新的商业模式。还有像开放数据、开放算法、开放标准、开放内容等,这个是我们所期待的。
【狄安】开源能够发展到今天,看起来好像是一个比较违背人性的事情——我明明能赚钱的东西,我为什么要开放出来?那么到今天它依然能存在,必然有社会存在的合理性。其实2018年的时候,有个诺贝尔经济学奖获得者叫罗默,他当时提出了一个经济增长理论,他的经济增长理论来源于「知识溢出」,就是说人类社会的进步是因为知识溢出,什么叫知识溢出?就是指,当我这个知识创造出来,能够被分享出去,成为一个社会公共的分享的东西的时候,它有利于推动整个社会的经济进步。当然这个理论它有一大串的数学公式,我想讲的是,当一开始开源出来的时候,大家会产生那种传统的思想,说「我明明能赚钱的,我为什么要开放出来?」。其实当时比尔·盖茨也持有同样的观点,因为「开源」对应的那个词叫「闭源」,那么当时Linux操作系统开源出来的时候,它其实对最害怕的是谁?就是微软他们。作为一个闭源的代表,他们是宣称知识产权保护的,通过这个软件闭源和这些知识产权的保护,然后去获得商业利益。微软做得很成功,而Linux操作系统确实引起了微软的相当大的恐慌。有个小故事说,他们甚至把 Linux操作系统的创始人林纳斯的头像做成了一个沙包,放在他们公司内部,然后那些微软的程序员休息的时候,就可以对着他去发泄。可见当时在90年代末期的时候,是当做一个对立面的。但经过了20年的发展,从微软这样一个公司的转变过程中可以看到什么?就是「开源」,它作为一种理念也好、一种知识共享也好,它的存在有强大的合理性。
这个合理性从社会层面上来说,就是罗默那套经济理论,知识溢出,因为代码分享就代表着一种知识溢出,有利于社会总体的经济进步。从个体层面来说,代码开放是丧失竞争力还是加强竞争力?在这一点上,我觉得是一个平衡。那么,代码到底是不是核心竞争力?对有些公司来讲,可能觉得是核心竞争力。但是我们反过来想,代码的背后是什么?其实,代码的背后是思想、是人,如果说代码是核心竞争力,那不如说代码背后的人才是核心竞争力,因为代码是通过人写出来的。那么开源是什么?其实开源就是把更多人才的好的思想、好的经验,公开地进行汇聚、综合、碰撞,然后产生出新的东西。
开源有利于创新,对于一个创业公司而言,它其实通过把代码开源出来,可以吸引更多的程序员一起参与到对它的代码的开发改造里面去,那么也会有利于这个公司自身技术水平的改善和提高。所以无论从社会层面上,还是从公司或者个体层面上,或者从知识的创新角度来说,都有利于创新的迭代和发展。那么挑战就是「是否能够从中获取经济收益和经济回报」的一个问题。
为什么国外大型科技公司纷纷拥抱开源?
【主持人】在GitHub这样的平台上集聚了很多程序员和潜在用户,我看到你的一个源代码后,可以进行再加工再创造,或者我发现你有什么问题,我就可以给你修复,或者我再给你添点什么,其实最终它会趋近于最优解。那么,其实这样的形式也最大限度地集聚了一批不同的人才,对于公司来说,原来可能是我的员工为我来敲这行代码,现在可能是来自全国或者全世界各地的在这个领域中有自己想法的一群人一起来敲这个代码。像张秘书长所说,开源对于社会面的创新或者一家企业的这种持续不断的创新而言是特别重要的。
【狄安】对。开源软件解决了一个问题,叫「分布式创新」。实际上,互联网解决了一个问题,就是聚集了全世界不同地域不同地理空间的人,通过一个平台使得经验、技术、想法等能够在同一时间内进行分享。这一方面加大了知识共享的程度;另一方面,它本身也是一种分布式创新。如果没有这样一个平台,很难让一个在上海的程序员跟远在英国或其他地方的程序员基于同一套代码体系工作。它的分布式、多样性,让不同的思想的碰撞在开源体系里面产生了一种可能性。
阻碍开源创新的是什么?
【张国锋】开源是萌芽于工业社会并逐步发展成长起来的。在这个社会变革过程中,阻碍开源创新的因素主要是传统的、工业社会所形成的思维观念,这个是根深蒂固的。所以,这是阻碍我们创新的一个主要障碍,不仅是中国,美国、西方国家都是这样的。所以对我们国家来说,如果我们能够在思想上突破、规则上突破的话,这也是我们中国人向国际社会做贡献的一次机会。
【狄安】在开源创新这一块,很重要的一点就是在认知、在思想层面上的一个改变。其实刚才讲到了,很多人会认为开源是一种“自取灭亡”的行为,你这个公司就没法生存了。但实际上,对一个程序员来说,他参与到开源贡献里面,那么他的思维模式应该转换成更多的是一种声誉模式。比如说他贡献了代码,就会因为他的代码做得比较漂亮,而获得大多数程序员的认可。因为这是公开的,他就会获得他的名声。有了这些声誉之后,他可能就会很容易找到工作,一些科技大厂就很容易雇佣他。事实上也就形成了对他来说的一个回报闭环——我通过贡献我的代码,获得我在开源社区里的声誉,然后通过我的声望的提升,更容易地找到工作。这是另外一种思维角度。
那么对一个公司来说,它如果把自己的代码开源出来,原来这个软件是用自己的内部的研发,比如招了10个程序员来写了这个软件出来,但现在因为它开放了代码,外部的程序员看到了,并参与进来改善软件(不管出于爱好还是兴趣),那么它等于是获得了另外一些免费的开发力量,帮助他它把这个代码完善了。实际上是用社会化的研发分摊了它内部的研发成本,是不是也是一种思考问题的角度?不是说我这个软件因为开源了,就没法通过销售软件获得我的收入。反过来说,你的软件是开源的,有更多的人需要使用你的开源软件,是不是你就会产生很多额外的服务性的机会?这是一个思维角度的转变。也就是说,思维角度的转变,可能会让你看到一个新的世界。那么开源其实发展了也就差不多30年的时间(从上个世纪末开始),从人类历史的长河来看,这还是很短的一瞬间,它也刚刚起步,正在不断的发展,可能跟我们原来看到的传统的商业软件的市场会不一样,但又何尝不是未来的一种新的主流形式?
【主持人】其实我觉得两位都是在提醒我们,可能到了一个新的阶段之后,要转变一些思维方式,可能你要找到一个其他的路径。
更多详细内容 · 扫码收听回放








