近日世界上最大的开源网站Github,推出手机APP的消息占据了各大科技媒体的头条,我们知道移动端既不合适写代码,也不适合读代码,只能进行点赞和互动,这不禁让整个程序员群体惊呼Github真的要转型同性交友吗?
无独有偶,社交网络巨头腾讯近日重磅开源项目不断,先是物联网操作系统Tencent Tiny OS横空出世,创造了迭代速度与内核精简性的的新高度;后来号称日均处理消息25万亿条的分布式消息中间件系统TubeMQ也重磅开源。笔者刚刚在上Github做了一下统计,目前腾讯在Github上发布的总项目数达到90个,Star数破26万;虽然对比国内另一个IT巨头阿里巴巴还有不少差距,但是腾讯这样的开源成绩也远超笔者预期。
腾讯为何拥抱开源
腾讯的企业文化强调竞争,其内部竞争机制在业内是可谓如雷贯耳,甚至连微信都是激烈内部竞争胜出的项目,而开源是共赢的逻辑,和竞争从理念呈矛盾关系。那么腾讯又为何要拥抱开源呢?笔者总结有以下三点原因:
开源之争既标准之争:笔者在《找到Tiny OS的创始人,畅谈新时代的爆款“物联网”》( https://blog.csdn.net/BEYONDMA/article/details/103096369)曾经提到过开源之争就是20年前的标准之争。谷歌的深度学习框架Tensorflow成为人工智能方面的行业标准,靠的就是开源用户的口口相传,可以说谁掌握了最流行的开源项目,谁就掌握了话语权,从而主导行业的发展方向。
开源之争就是入口之争:目前各大IT厂商之所以推出自己的操作系统、AI框架开源项目,其实本质的商业逻辑还是争夺用户的入口流量,可以说谁掌握流量入口谁就能在未来竞争中掌握主动。
开源之争就是全栈之争:目前类似于腾讯、阿里这种的企业大多将自己整个技术栈的从前端到后端全部进行开源,这种策略就是巩固自身在全技术栈的领导优势,供行业其它参考者模仿,为自身的品牌价值及技术能力宣传造势。
所以开源实际是最高形式的竞争,整个社区的认可才是最高的认可。
腾讯的开源成绩单
11月7日,腾讯Techo开发者大会开源技术分论坛上,腾讯首次公开表示其开源计划目前已进入“深水区”,改变过去“自下而上”的开源模式,向“自下而上”与“自上而下”相结合的协同式开发演进。腾讯开源将在内部协同共建的基础上,推动更底层、更重磅的技术对外开放,紧密参与开源社区建设,不断完善开源治理,打造开发者共建的生态。
腾讯目前已加入Linux、Apache等9大开源基金会,深度合作成为最高级别会员,并向开源基金会捐赠3大优秀开源项目。2018年6月,腾讯将高性能RPC开发框架TARS,及其轻量化名字服务方案TSeer捐赠给Linux基金会;2018年8月,腾讯将业界领先的深度学习框架Angel捐赠给Linux旗下专注人工智能的LF AI基金会;2019年9月,腾讯万亿级分布式消息中间件TubeMQ正式对外开源,也已捐赠给Apache基金会,成为官方认可的Incubator项目。
揭秘TubeMQ的性能秘籍
TubeMQ(Github地址:https://github.com/Tencent/TubeMQ/)是腾讯自研的分布式消息中间件系统(MQ),特别擅长进行海量数据的存储和传输,相较其它主流MQ组件,TubeMQ所经历的考验可谓是最多的,毕竟最高日交易量33万亿的数据摆在这里,笔者相信在TubeMQ今后会迅速取代kafka成为MQ软件系的新C位。其架构图如下:
总的来说与Kafka按照顺序写顺序块读的模式不同,TubeMQ采用 顺序写 + 随机读的模式,所以Kafka单实例下性能数据很强,但随着实例数增多,就是TubeMQ的天地了,即使在最大限制下系统仍可以做到长期稳定的1G以上的入流量。
开源巨头玩社交
可能有的读者会问Github不就是推出个APP嘛,怎么就和社交联系到一起了呢。其实正如前文所述开源网站最核心的两个功能就是编写代码和阅读代码,而这两个功能在手机上的表现不会太好,而移动端最能发扬光大的功能就是回复ISSUE和点击STAR了。
随着移动APP的推出,必将使Github这个开源巨头走向社交领域,而且从GitHub的高管的发言中也能看出端倪:
CEO Nat Friedman为APP站台时表示“我敢打赌,五年内在 GitHub 上进行的互动有一半以上将在移动设备上进行”,
工程副总裁 Dana Lawson 则说:“这有点像是在完善 GitHub 体验,使用移动设备,你可以管理、分类和清除通知,对拉取请求进行协作,当被直接提及时也可以接收推送通知。”
Github在全球共有4000多万注册者,但和真正的社交巨头如脸书和腾讯相比还有不少差距,若想真正走向盈利,Github有继续做大的动力。而且考虑到开源社区用户多为程序员且粘性较高,所以用户群体也有继续对外辐射的潜力。
Github 移动APP带来的新逻辑
随着APP的推出Github进入社交领域,第一要务就是吸引非IT人员注册使用,随着用户人数的增多,Github的APP肯定会照顾非专业人士的使用体验,那么也就必将引入腾讯系用户体验至上的产品逻辑。
媒体化趋势:Github目前只是专注于开源平台的建设,还没有独立的科技新闻媒体运作,但是随着APP的推出,其首先要做的就是推送第一手的开源资讯。所以笔者猜测Github肯定会成立媒体团队,投放相关资讯。
Wiki与Demo的重要性大大提高:目前Github上获得star基本上是靠项目的硬核实力,遵循“Talk is cheep,Show me the code”的逻辑,但随着用户群体的多元化,单纯的硬核不见得work了,而腾讯这种重要用户体验的公司其star数可能会大大提升。
IT巨头的殊途同归
Github玩社交为的是做大;腾讯拥抱开源为的是做强,虽然逻辑不同,但是随着行业的不断发展,我相信在Github的用户中会出现更多妹子的身影,同时笔者也希望在Github看到更多如Tiny OS、TubeMQ等优质项目国产自研的开源项目,推动整个国内技术水平的提升。