作者 | 马超
责编 | 胡巍巍
出品 | CSDN(ID:CSDNnews)
2019年,是国产开源项目的爆发之年,国内各厂商不断有重磅项目开源。世界上最大的开源社区GitHub颇有快速拥抱中国的趋势。目前,在GitHub全球4000万注册用户中,来自中国的开发者,从数量和贡献度上,均位列第二。越来越多的国内企业,在国际合作的开源项目中,扮演着重要角色。我国的活跃开源项目贡献者,有40%以上都是在2019年加入的,他们大多都是90后年轻人,完全出于兴趣参与开源项目。可以说,开源就是IT业的未来,目前任何一家公司都不可能脱离软件,更不可能脱离开源。从更深层次上讲,目前开源正在反向吞噬闭源甚至,逐渐同化世界。开源之争既标准之争:目前的开源项目主导者,相当于20年前的标准制订者。例如,谷歌的深度学习框架TensorFlow之所以能成为人工智能方面的行业标准,靠的就是开源用户的口口相传。可以说,谁掌握最流行的开源项目,谁就掌握话语权,从而主导行业的发展方向。开源之争就是入口之争:目前,各大IT厂商之所以推出自己的操作系统、AI框架开源项目,其实本质的商业逻辑,还是争夺用户的入口流量。可以说,谁掌握流量入口,谁就能在未来竞争中掌握主动。开源之争就是全栈之争:当下,类似于腾讯、百度这种企业,大多将自己整个技术栈的从前端到后端全部进行开源,这种策略就是巩固自身在全技术栈的领导优势,供行业其它参考者模仿,为自身的品牌价值、及技术能力宣传造势。开源,已经成为各IT企业最高形式的竞争,开源社区的STAR数,在很大程度上,标志着企业的技术实力。下面,我们对今年以来国产开源项目的亮点进行回顾。
异军突起的腾讯
在近日的腾讯Techo开发者大会开源技术分论坛上,腾讯首次公开表示,其开源计划目前已进入“深水区”,改变过去“自下而上”的开源模式,向“自下而上”与“自上而下”相结合的协同式开发演进。腾讯开源将在内部协同共建的基础上,推动更底层、更重磅的技术对外开放,紧密参与开源社区建设,不断完善开源治理,打造开发者共建的生态。当下,腾讯已加入Linux、Apache等9大开源基金会,并已深度合作成为最高级别会员,还向开源基金会捐赠了3大优秀开源项目。2018年6月,腾讯将高性能RPC开发框架Tars,及其轻量化名字服务方案TSeer捐赠给Linux基金会;2018年8月,腾讯将业界领先的深度学习框架Angel捐赠给Linux旗下专注人工智能的LF AI基金会;2019年9月,腾讯万亿级分布式消息中间件TubeMQ正式对外开源,也已捐赠给Apache基金会,成为官方认可的Incubator项目。总结来说,腾讯在流式消息队列和操作系统等方面,技术积累较强,开源项目输出较多。TubeMQ:(GitHub地址:https://GitHub.com/Tencent/TubeMQ/)是腾讯自研的分布式消息中间件系统(MQ),其擅长进行海量数据的存储和传输,相较其它主流MQ组件,TubeMQ所经历的考验可谓是最多的,毕竟最高日交易量33万亿的数据摆在这里,笔者相信在TubeMQ今后会迅速取代Kafka成为MQ软件系的新C位。其架构图如下:
Tencent Tiny OS: (GitHub地址:https://GitHub.com/Tencent/TencentOS-tiny)这款物联网操作系统提供精简的RTOS内核,而且正式发布时间相对较短,但是已经发展得比较成熟,并在内核控制和技术支持等方面做的相当不错,其架构图如下:
完全开放的百度
与其它厂商拼命将将自己的开源项目,归并到自家旗下来为自己争夺STAR和贡献度相比,百度甚至将没有将其主导贡献的项目Echart(https://GitHub.com/apache/incubator-echarts)和飞浆(https://GitHub.com/PaddlePaddle),放在自身(https://GitHub.com/baidu)旗下。而且也完全没有门派偏见,开源了大量的GO语言项目,从这个角度看,百度可以说是国内对于技术态度较为开放的大厂,做开源的想法,也很纯粹。总而言之,受益于开源,百度的很多项目,得以低成本快速发展。百度目前在前端技术和AI技术,有一定的优势,这两方面输出项目比较多。Echart:(GitHub地址:https://GitHub.com/apache/incubator-echarts)这个项目绝对是笔者这种不太会美工的程序员福音,各种Python和R语言的接口,也都十分完备,随便几行代码,就能达到一个特别棒的展示效果。如有兴趣可以参考笔者之前的博客(https://blog.csdn.net/BEYONDMA/article/details/85345831)。 PaddlePaddle: (GitHub地址:https://GitHub.com/PaddlePaddle)PaddlePaddle是目前唯一一个能和PyTorch、TensorFlow分庭抗礼的国产深度学习平台。它集深度学习训练和预测框架、模型库、工具组件和服务平台为一体,拥有兼顾灵活性和高性能的开发机制、工业级的模型库、超大规模分布式训练技术、高速推理引擎以及系统化的社区服务等五大优势。而且,百度提供免费的在线NOTEBOOK环境供大家体验(https://aistudio.baidu.com/aistudio/index),下图是飞桨端到端的部署方案:
异军突起的滴滴
在短短2年时间内,滴滴已将35个项目,进行了开源,包含领域有人工智能、小程序、智慧交通、中间件、前端框架、研发工具等。目前,在GitHub的STAR数已超过5万,全球组织排进前100名。据笔者不完全统计,仅2019年,滴滴就有开源项目20个。与此同时,也产生了首个万星项目DoKit,滴滴还对许多如Ceph、Link、Hadoop、Kylin等开源软件做出积极的贡献。而且在2019年,滴滴被CNCF基金会,授予最高最终用户奖,这也是今年在亚洲唯一获奖的企业。2019年滴滴在开源方面收获颇丰。Dokit:DoKit(GitHub地址:https://GitHub.com/didi/DoraemonKit)也被移动开发者亲切称为哆啦A梦Kit,这是一款功能齐全的客户端( iOS 、Android、微信小程序 )研发助手。能让每一个App快速接入常用的辅助开发工具、测试效率工具、视觉辅助工具,而且还支持在操作面板中,接入用户的非通用辅助功能,功能强大,便于扩展。
cube-ui:cube-ui(GitHub地址:https://GitHub.com/didi/cube-ui ),它是滴滴基于Vue重构并开发了移动端组件库。每个模块都经过严格的测试,并且对于响应速度也有严格要求,真正做到了质量可靠、体验极致、扩展性强。
RT-Thread和TDEngine
国内开源项目,也不光是大厂的天下,一些小厂商凭借在某一领域的长期经验,也有很多惊艳项目。比如TDengine的STAR数就已过万,RT-Thread的STAR数也已经接近四千,可以说它们是小型IT厂商中的佼佼者。RT-Thread:(GitHub地址:https://GitHub.com/SummerGGift/rt-thread)提到国产IoT操作系统,RT-Thread是一个无论如何也绕不过去的标志。RT-Thread在2006年初,就发布了第一版,经过十几年上亿台设备装机的技术沉淀,RT-Thread社区也已俨然发展成为国内最强的嵌入式社区。笔者刚刚到他家论坛上逛了一圈,真的是强手如云,大咖云集,各方面的文档和培训资料一应俱全。其架构图如下: TDEngine:(GitHub地址:https://GitHub.com/taosdata/TDengine)有关TDEngine这个时序数据库,我们已经介绍多次,读者可以参阅《这位创造GitHub冠军项目的“老男人”,堪称10倍程序员本尊》、《巨头垂涎却不能染指,loT 数据库风口已至》这里不加赘述了。
交友婚恋类项目热度不减
据笔者观察,程序员这个以理工男占主导地位的群体,哪怕是在开源网站上,也常有一些交友项目成为爆款。比如,下面要说的这个抖音机器人,就已经积累6千多STAR,看来边学技术、边找对象,也是IT人的硬核需求。抖音机器人:(GitHub地址:https://GitHub.com/wangshub/Douyin-Bot),此项目的思路,是先用手机ADB+爬虫技术,获取抖音上的头像信息,再使用腾讯的人脸识别AI平台进行识别(https://ai.qq.com/case/facedoor.shtml申请),再根据返回的年龄、魅力等数据进行来找到漂亮的小姐姐。 awesome-lover:(GitHub地址:https://GitHub.com/xixinjiejie/awesome-lover)GitHub真是个包容的平台,除了开源代码,你也可以把它看成一个信息发布的渠道,这里也有不少单纯发布交友信息的项目,比如Awesome lovers,这是一个聚焦在程序员相亲、恋爱的信息交换项目,所以项目主直接把信息放在了GitHub上。 2019年,是我国在开源项目上的爆发之年、收获之年。随着越来越多的年轻开发者的加入,开源已经逐渐成为IT的未来。目前,国内开源项目,在技术社区中,也呈现出百花齐放的趋势,无论是大厂、还是初创企业,均有展示的机会,愿国内IT产业,能借开源之势继续蓬勃发展。热 文 推 荐
☞华为证实 P40 将没有 Google 服务;李世石退役;Python 3.8.1 发布 | 极客头条
☞写给软件工程师的 30 条建议
☞如何优雅地在 Linux 上运行 QQ、微信?
☞马云穿布鞋演讲,任正非打的出行,盘点科技大佬们令人发指的节俭生活
点击阅读原文,即刻参加!