开源的未来 10 年:中国开源社区建立是关键
【CSDN 编者按】从 Eric Raymond 在自由软件的范畴下进一步提出 Open Source 开源软件至今,已经过去 30 余年,今天,开源不...
【CSDN 编者按】从 Eric Raymond 在自由软件的范畴下进一步提出 Open Source 开源软件至今,已经过去 30 余年,今天,开源不仅完全渗透互联网,更成为众多 IT 公司的基石。不过,中国的开源一直却呈现着企业热使用热社区冷开发冷的景象,真正参与开源产品开发和社区贡献的开发者凤毛麟角。同时,在过去的一年多里,因为国际形势变化,中国自主开源软件及社区成为核心焦点。
本文作者陈绪博士从事开源软件工作超 20 年,是业内非常知名的开源人物,他从开源及云计算角度,深入预测并分析了未来 10 年,开源的趋势演进及方向,希望对所有有志于开源的开发者朋友,有所启发及裨益。
作者 | 陈绪
责编 | 唐小引
头图 | CSDN 摄于中国开源年会
出品 | CSDN(ID:CSDNnews)
都说做预测是愚蠢的,因为很容易被打脸。那么,我们就预测远一点的未来,这样打脸的时候也来得晚一些。
都说“十大”是标配,因为不凑足十条没法吸引眼球。那么,我们这次实事求是,有几条是几条,那就六条吧。
游离于大公司外部的开源创新继续层出不穷
很多人问到今天的开源和 20 年前有什么不同。很显见的一个不同就是参与者的背景,我们当年看到 Linux 内核的贡献者排名,如果按照组织来分,经常是一个叫做“个人贡献者”的组织排名第一,而人才济济的英特尔屈居第二。现在,更多地是听说某某公司在建立开源办公室,推动开源项目,似乎开源都是大公司在搞。
这种看法是片面的,实际上,开源更多是一个社会化活动,很多的创意也是来自个人或者小的团队。个人有了兴趣,有了想法,并进而动手形成项目,而后建立社区,或者成立公司继续推进。这种模式将会持续存在,因为这是创造力产生的一种健康和合理途径。
当然,创建和支持开源项目的公司会有更多的经费和组织保障来推动开源的发展,这个也会是一种长期的现实。有因必有果,商业公司的开源项目必然有着合理的商业逻辑,否则第一个,领导层就不会批经费,更不会谈到什么上升到公司战略的层面。
另外,我们也很难保证公司推动的开源项目能够长盛不衰,随着公司战略的变化,很多的项目也会被弃之如敝履。
所以结论是:游离于大公司外的开源项目和植根于大公司内的开源项目,会长期共存。
开源为社会和个人带来更多财富
事实上在 1998 年 2 月 Eric Raymond 等人正式创立“Open Source Software”(开源软件)这一名称以前,就有了 Linux 内核等开源软件,所以国际开源已经走过了 30 年的历程;中国的开源运动起步稍微晚一点,也超过了 20 年的历史。
在历史的长河中,开源为很多人带来了名气,也包括 20 多年如一日为开源运动鼓与舞的笔者。但是开源为个人带来的财富还不够多。如果将开源的财富等同于 IPO 的话,中国目前还没有直接依靠开源上市的公司。但是,很多的软件公司实际上都在使用和基于开源软件,间接地通过开源盈利。
如果将开源的财富定义为找到一个合适的工作岗位,从开源中获取财富的人会更多一些。没有开源,很多个人根本不敢出来创业,更为没钱砸向商业推广而头疼不已。
随着开源的进一步深入人心,成为软件研发方式的两极之一,进而成为软件研发的主流。更多的人将会从发起和运营开源项目中获益,并直接或间接地获得财富。
给社会带来的价值和财富就更加显而易见了,整个产业都会因开源而受益,不用再重复开发,应用的开发会更加敏捷,这里不再细谈。
开源是云计算公司建立生态的重要手段
这个观点我在 19 年 3 月份就已经说过。云计算公司的技术会千差万别,实现方式是林林总总,但最终还是归结为揪住客户的心,为客户带来价值。
正如马路上有很多车跑一样,云计算就是修马路的,但是车不都是云计算公司造的。这些造车的、修车的、卖车的、停车的、卖茶的、小商店等等,都是生态。
马路的成功,必然是马路的生态成功。云计算公司的成功,也必然是云计算公司生态的成功。站在开源软件的肩膀上,可以更好地建立自己的技术栈,避免重复开发。依靠开源软件的传播,解决了巨额的商务推广费用问题。
开源软件的丰富,带来的应用层软件和解决方案的极大丰富,是为社会带来普惠科技的前提。因为小的公司,也能依托普惠的开源社区,附加一点点的价值,推出自己的产品。TTM 的时间会变得最短。
此外,在应用软件层面,通过开源社区和客户的交流,会比冷冰冰的官方话语更有温度。客户能够更自如地提出自己的需求,并和云计算厂商共建。在应用层的生态系统中,云厂商和客户之间更多是合作、共同创新的模式,而非简单的甲方和乙方。这样,才能更好地满足客户的需求。
解除用户的绑定恐惧,也是开源社区在 PaaS 层和 SaaS 层的一个优势。用户在不同云厂商上的应用,如果要迁移,没有开源介入,会是一场噩梦。我一直认为,云厂商应该加强自身的资源化和管道化,让客户有完全的自由。你要吸引用户,更多打磨一下底层资源的稳定性和弹性吧,不要简单地锁定。对开源社区有更多的支持和友好的态度,会打消客户疑虑,为你带来更多的潜在客户。
想自己建造马路的客户毕竟很少很少,扎扎实实把马路建好,让开源的车在上面跑,对自己对客户都是最佳的选择。
中国开源社区的相对自治性增强
其实一直以来没有什么中国开源社区的概念,我们顶多谈到的是中国人参与和发起的开源项目。我也曾多次坚决反对“重复造轮子”,对本土开源协议的呼声并不在意。
但是从 2018 年 4 月以来,国际形势发生了根本性的变化,也影响到方方面面。开源软件和开源社区就随之成为焦点,并成为科创领域的一个考虑因素。我们必须面对这样一种风险:如果我们无法访问国外的开源软件和开源代码库,怎么办?
有深入研究国际相关法律和许可证的专家指出,按照目前的规则,无论是法律还是许可证,不能禁止中国人使用和访问开源软件,所以无需担心。
说得很对,按照目前的规则是这样,但是请问规则掌握在谁手里,规则是否会改?如果还是整天只谈国际开源形势一片大好,那就是停留在 10 年前的旧思维中。我们还要与时俱进吧?规则改了,给我们的开源运动来个清零,我们还怎么只争朝夕、不负韶华?
我预测,中国开源社区的建立是未来 10 年的重要变化。谈到这一点,我觉得有必要强调几个基本的要点。
第一是要有中国本土的开源软件基金会。这个是根,是组织的保障。在组织的推动下,才能更好地发展技术和文化。现行的基金会备案机制可能还不完全适应这种基金会形式,但是一切都会好起来。这个基金会必须是社会多方的广泛参与,包括各大公司、各大社团、各大机构、各方面的个人。因为涉及到资金的收支,得建立透明的财务机制,防止出现财务问题给基金会带来的负面影响。
第二是要有中国本土的开源协议。据不完全统计,世界上的开源许可证(Open Source License)有数百种,常见的大致有 GPL、LGPL、Apache、BSD、MIT、MPL(Mozilla)等等。这些协议一般有共同的特点,英文为唯一官方语言,其他语言皆为参考,且协议的修改权都不在中国,也不在中国人手上。
所以中国的开源协议应该具备这样几个基本特点:
中文版本作为唯一官方版本,其他语言皆为参考;
限制要宽松,保障代码的自由获取,不能加各种违反开源精神的限制条件;
协议的修改权在中国,在中国人手上,最好是中立机构,比如高校、科研院所;
务求简单,易懂,最好不需要专业人员也能看明白。
中国科学院梅宏院士在 2019 年 8 月底发布的《木兰系列开源软件许可证》就是我非常喜欢的中国开源协议,也希望大家共同关注。协议起草人周明辉教授来自北京大学,对开源社区和开源协议的理解相当深刻。再次对他们的贡献致敬!
第三是要有中国本土发起的成功开源项目。随着互联网公司的兴起,中国的各大公司都以贡献开源代码为荣,并为国际社区贡献了不少优秀的项目,每年年底也有优秀开源项目的评选,这里不再赘述。我想说的是,是不是有些项目可以直接捐助给中国本土的基金会,反正很多项目主要就是中国人在贡献和使用,针对的也是中国市场的需求。
进一步而言,不仅是要关注项目的数量,而且要关注项目的质量。只有出现逆天级的重磅级优秀项目,国内的开源社区才能一炮打响,上述的基金会才能健康发展。让我们拭目以待!
第四是要有中国本土的代码托管平台。据笔者所知,除了已投入巨头旗下的 CODING、码云等平台,还有其他的开源代码托管平台在孕育中,主打点就是中立和中国本土概念。一旦国际的开源平台对 IP 进行封杀,这些本土代码托管平台就是唯一的救命稻草。
最后强调一下,强调发展中国开源社区,并非是割裂与国际开源社区的交流。正好相反,有了中国的开源基金会,会推动中国的开源运动继续健康地发展,更好地融入国际社会。我们要继续保持和 Linux 基金会、Apache 基金会、CNCF 基金会等国际开源组织的良好关系,推动国际开源标准的进一步演进。当中国开源社区具备了相对的自治性之后,我们一直担心的与国际脱节的概率才会变得越来越小。
开源项目成为云计算厂商的竞技场
近 10 年以来,云计算厂商开始逐步涉足开源,并将其作为主战场。特别是 2018 年以来,云计算厂商的各种开源相关发布会如雨后春笋。这些,都说明云计算厂商对开源的关注,这是必争之地。
不同的厂商会有不同的开源策略。就 IaaS 层而言,很多公司是拿开源代码作为技术基础和底座,他们要更多投入人力、物力,搞社区,建生态。由于代码的复杂性和代码者的多样性,往往需要更多的精力来协调项目进度和控制权。
就 PaaS 层而言,相信会有更多的软件和解决方案会基于开源项目。其中之一是互联互通的需求更加强烈,比如消息中间件,如果消息格式统一,那么不同的云之间是可以通讯的,如果不统一,就完全无法交流。那么,使用哪家的消息中间件项目呢?采用哪种统一的消息格式呢?既然是开源社区,就要交流,就要妥协,最后达成共识。
另外,就是各种开源软件在云平台的落地问题。由于从传统的 On-Premise 开始,用户就习惯使用各种开源的应用软件,比如 MySQL、MongoDB 等,到了云平台上,肯定希望继续使用。对于通用性比较强的软件,比如数据库等,云计算厂商的平台上就得提供各种原生的服务,这就涉及到开源软件的维护商和云计算厂商的合作。我们也能看到更多的合作会发生。一方面保障了开源软件维护商的经济利益,另一方面也保障了用户继续使用开源软件服务,不损失历史投资的利益。
如何更好地和开源社区和平共处,成为开源社区的自己人,是每个云计算厂商都必须严肃思考的重要问题。
出现更多以开源为业的职业开源人
开源社区的发展,除了代码贡献,更要关注运营,基金会之类的开源机构,除了要有服务的基本功能,还肩负着引领的重任。
开源组织的运营,需要专业的人员,需要高素质的人才,需要专职的团队。专业的人干专业的事,最好的人出最好的活。开源组织要负责协调的不是自己的员工,不是自己的团队,要在利益冲突的各家公司之间讨生活,当然面临的挑战最大,要求的能力更高。
我发现国内社区已经有这样的同学,一直坚持开源传播工作,不想进入任何商业公司,只想加入专业的开源组织,为开源布道。期待国内早日出现类似 Apache 的开源基金会,让这样的同学能够参与其中。前两天一个校友和我说:“做职业选择的时候,要从自己喜欢的,擅长的,能赚钱的,三个区域的交集中选择”。希望这样的同学早日找到最合适自己的开源组织,专业从事开源工作,这满足他的三个区域诉求!!
专业的开源岗位和专业的开源人,是时代的要求,是历史的刚需!
【本文的公正性】我在公司的工作内容和开源无关,也不在内部的任何开源组织中担任任何职务。谨以此点作为公正性的保证,谢谢大家。
作者简介:陈绪,阿里云智能技术战略总监、布道师计划负责人,中国开源软件推进联盟常务副秘书长。从事开源软件工作超 20 年,对云计算产业有较深刻理解。过往经历主要涵盖开源社区、市场合作、战略规划、投资分析等。曾任 Sun 中国工程院工程师,北京泰宇科技技术总监,英特尔中国云计算战略总监等职。师从中国科学院高庆狮院士,2003 年毕业于北京科技大学信息工程学院,获工科博士学位。2012-2014 年在清华大学经管学院学习,获 EMBA 学位。
【End】
推荐阅读
☞腾讯内测全新 Tim 3.0,支持微信登录;滴滴顺风车上线夜间服务;Angular 9.1 发布 | 极客头条
☞GitHub 疑遭中间人攻击,无法访问,最大暗网托管商再被黑!
☞为何你的 SaaS 想法总是失败?没想清楚这 4 个原因可能会继续失败!
☞万字好文:智能合约编写之Solidity的编程攻略,建议收藏!
你点的每一个在看,我认真当成了喜欢
更多推荐
所有评论(0)