为什么80%的码农都做不了架构师?>>>   

我今天分享的主题其实也与社区有关系——《21摄氏度的CODE》,一是谈谈腾讯内部开源社区的体会,二是腾讯对外开源的情况及其近期计划。

对于腾讯而言,研发文化开发也是在2013年左右,大概在3Q大战后,随着3Q大战对腾讯的影响使腾讯更加开放。另外,这前后其实许多谷歌的工程师来到腾讯,他们带着谷歌的文化来到腾讯,使腾讯研发能力方面更加开放。2013年腾讯正式提要在内外部做开源,并且推广开源。

如果做开源社区一个绕不开的话题就是GitHub,因为GitHub的存在让我们的社区变得不同,这当中有两层意思。我们看到GitHub现在已经是非常成功了,包括它的一些对开源的管理以及运作模式。我们在做社区时怎么样在它基础上做一些不同的东西,这是很重要的。另外,由于GitHub有开源的一些基本成功方案,包括我们很容易复制过来并搭建这样一套东西,使我们有精力、有时间打磨针对我们的用户需要的东西。

对于我们的用户来讲,其实有这样一种观点,微信在产品观时分享过他们的观点,其实在Facebook等于是说人离开SOS可能被孤立,没有存在的价值。而对中国来讲,面对的是生存感的问题。我们要养家糊口,我们的程序员其实就是要有一份有收入的职业,但是也有这样一类人,既有这种生存感的压力,也有存在感的渴望。我觉得程序员其实就是这样一类人,我们可能平时在企业里为了KPI,为了业绩去拼搏,但内心里可能还保持着对技术理想的渴望,保持着自己可能要在技术上做一些不一样的事情出来,这就是我们社区所面对的用户的现状。

另外,程序员相对过于谦虚。例如,在腾讯内部开研发会议,可能最抢先发言的是产品经理,如果不阻止他的话,他会讲半个小时甚至一个小时,或者直到会议结束。而我们的程序员一直默默无闻,在表达上还存在内向。我们如果做社区,怎么样针对这些用户群体让他们在社区里有更多的交互和表达,让他们在我们的社区里能够有更多的技术存在感,我们就在做轻量化代码功能,叫做“微码”,大家可能有时间参与开源项目,但没有时间在开源项目做工作。但是可以把自己认为好的或者能够晒出来的代码放在社区中与别人做交流和分享。

当时我们做的“微码”,大家知道现在凡是带“微”的产品都比较火,所以我们起名叫“微码”,数据给了我们一个很大的拥抱。比如2013年做的时候还只有243,而截止到现在是342,按照这个数据情况看,2015年的数据大概是1200多。所以通过轻量化的这种功能能够让我们的程序员有这种表达,这种低门槛可以让他们更多的参与到社区的活动中来。

社区其实离不开运营,一个好的开源社区一定要做一些运营,可以抓住用户的心理做一些事半功倍的事情。比如流行就是一个很强的驱动力,像2014年发生了微信红包的事情。程序员之间讨论的是什么呢?讨论的是为什么你每次抢红包能抢10几块钱,上百块钱,为什么我只能够抢到几分钱,大家讨论这个话题很热。我们很快就在微码平台上做了这样的运营:微信红包的随机算法。结果就有很好的研发,有一半人上来做评论,最终有200多个评论,这200多个评论当中几乎一半评论是很具体、很详细的,怎么样的算法更随机,怎么样会更加好玩。这其实就是利用有实效性的事件做运营,就能够起到事半功倍的运营效果。

再就是好奇心,好奇心是很大的驱动力,大家都很好奇为什么会这样,为什么那样。大家的公司每到年底都会有抽奖,腾讯也是这样的,在年底时大家都会关注今年会开什么奖,能不能中上。我们讨论最多的是为什么谁谁每年都会中?是不是抽奖环节有什么问题,大家都感到非常好奇。我们就将抽奖程序作为开源项目开源出来放到社区,结果这个开源项目是腾讯最长寿的,也是参与人数最多的开源项目。可以看到从2012年底放上去后,直到现在都会有维护,每年到了抽奖时,因为需求不一样,今年是这样,明年是那样,每年都会有不同的团队做这个项目,维护这个项目,参与的人也非常多。往往开发的团队过来说如果在腾讯内部做一个开源项目应该怎么做?我们就说应该这样,应该不断的维护,不断的提问题,使它更加完善,这就是典型的开源项目的玩法。

其实一个社区不光要承载社区的功能,对于程序员这个群体来讲,大家多多少少都会有极客的情结在里面,比如喜欢新鲜的、有趣好玩的东西。去年我们在腾讯做了一个乐高EV3机器人大赛,这个大赛过程中我们强调的是跨团队合作,不要找自己团队内部很熟的人去做,应该去找不同业务与你跨度很远的人组队做这件事。整个下来后,大家玩的很好,对跨团队的合作和开源的玩法有更加深刻的认识,这对社区的影响力传播是很好的事情。最终参与反馈很多都是很有意思的,包括熬夜,到了夜里2、3点钟还在排队搞程序。这就是“让代码鲜活起来”的例子。

另外,我们坚持了草根化,这个社区一定是草根化的。不仅仅是把业界很牛的东西放上去,很牛的微码放上去。下面的评论都是:好好好,学习了,点赞…我们希望的是大家都可以在社区有讨论和交流的途径,坚决不给用户加 V,包括在社区里众生一定要平等,我们也想了确实有影响力的人发一些评论功能怎么办?我们提供了匿名功能,这个匿名功能可以从社区层面排除障碍,使你可以更自由的表达个人看法。我们的领导平时是不参与整个社区的评论工作,因为一旦领导介入的话就容易产生麻烦的情况,破坏社区当中所坚持的东西。

社区是温暖的,有温度的。这是我们今天想强调和想讲的,比如我们每年会做代码报告,其实我们把这个报告做的是想试图描述过去一年来在社区中的代码生活中的足迹或者成长,或者你的技术存在感,给它有类生活化的模式出现。比如一些项目代码能力的分析,因为这次报告媒介也会做一些传播,每一个社区的成员都会有一份自己详细的,个性化的东西。在过去足迹是怎么样的,做的贡献是哪些,包括代码能力的分析,包括开发语言及战斗力指数的描述。另外,也包括代码价值的计算,把代码贡献度与腾讯的营收结合起来,计算出你有多少钱等等。这试图描述程序员代码生活究竟是什么样的。

在社区温暖与温度方面,我们也做了很多讨论和非常细的打磨。包括有一点非常有意思,我们内部讨论:程序员群体对什么最感兴趣。前三条最感兴趣的是,第三条是妹子。第二条是漂亮的妹子,第一条是穿着性感的漂亮妹子。有人说既然要做一个温暖的社区,那么会放一幅穿着性感的有妹子的图片会让大家感到温暖,这最后我们没做,这超出了人体舒适的感觉。其实我们是想做一个温暖的,能动的艺术。

程序员2015年在微码平台上也会有自己的一些表达,包括很感兴的评出企业吉祥物的形象。社区让用户有更多的参与感到,从轻度到重度,直到开源项目更多的参与。我们现在也在尝试推动一件事,其实我们现在做的事是在现有的工作上让大家把代码摘出来,如果说最好的方式就是从一开始就有这种思想,可以用这种方式去运作。我们也做了代码众筹的活动,大家如果倾慕一些东西,可以在社区里发起跨部门的有相同兴趣爱好或者相同需求的人一起做这个事情,用开源的方式来做,目前有两三个项目还在实验运作过程中,也是一个内部社区的活动。

图上是开源的线上、线下活动,包括一些精品的推荐,一些主题的活动等。我们回过头来再看看我们说的那句话,因为GitHub的存在让我们的社区有所不同,我们的社区是“21摄氏度的CODE”,对于开发人员来讲,我们的社区除了提供个性化的功能,其实对于中国程序员来讲也是很苦的,做开源需要有足够大的勇气,这需要他对社区有归属感,要做到我与社区与图片之间做到类似情感纽带的感觉。程序员感到这就是我在代码世界的家,不管走的多远可能都要回到家里来逛逛或者做一些事。这是我们在做腾讯内部开源社区时特别强调的一点,一定要做的有温暖、有温度,让程序员感到有种家的感觉,可能让大家感觉到很舒服。

内部社区从2013年开始建设,到现在各项数据其实也是很好的,我们与2014年进行了对比,各项数据都有增长,累计的开源项目目前有887个,其实在做这张PPT之前,我都在观察这个数据,真想一睁眼达到888个,但直到我昨天截稿还是887个,可能这种不完美也是一种完美。2014年的下载是2.6万次,包括一会儿要提到的APP随身测工作,其实在腾讯绝大多数手机APP已经得到了用户,甚至像去哪儿、小米都在用,据他们统计现在有2000多个在用。我觉得这可能就是我们社区最大的价值所在。

做完这个社区之后有一个感觉,我们在2014年拿到了腾讯年度文化大奖,其实在领奖时我看到了一下四周,左边是现在最红的项目,微信红包项目。右边是腾讯2014年最赚钱的项目,“天天酷跑”项目团队,中间是我们的内部平台成本中心,他们两个都是挣钱的,我们是花钱的,看到这个情况我心里感慨了一下,还是挺爽的。以上是我们腾讯在内部社区时的一些心得和体会,接下来我介绍一下腾讯对外开源的情况和近期的项目。

我们去年与CSDN有6个项目开源,即将开源有5个,其中有两个游戏项目。腾讯还有一些项目团队,也包括个人做的开源,包括AlloyTeam,以及其它的一些开源贡献。图上是腾讯的开源,为什么说我们的对外开源非常慢,就是因为要走这些流程,我们也想在今年优化和简化流程,但说实在有些东西也是没办法,企业开源要考虑的东西非常多。

腾讯游戏会以手游为例,我们的团队规模小,产品周期又很短。它底层通用性是非常有必要用开源性来做,所以腾讯在整体游戏方面会系统性做开源。这部分开源就有一个好处,游戏部门会投入资源去运营,比如我们游戏方面会有游戏内部研发管理平台的同事来做。另外,它比较全面,比如文档、配套课程,包括周围拿去使用需要的东西会很全面,下午会有一个开源项目来做专题的分享。

下面在讲之前先讲两个案例,去年年初最热闹的事情就是滴滴打车和快的烧钱的事情,如果一旦遇到爆发性增长,技术架构没做好的话,很容易出现档期的事情。我们知道现在互联网行业一个企业的机会是稍纵即逝的,可能过了这个村就没这个店了。滴滴打车爆发期增长后面临的很大问题是服务器供应不起来了,我们了解最悲剧的是大家打开滴滴打车时打不到车,更悲剧的是打到车时付不了款。因为大家都是冲着补贴来的,司机也有补贴,用户也有补贴,这时腾讯迅速的介入把它放到云端,做一些技术架构上的调整。很快滴滴打车和快的烧钱大战就可以继续下去了,我想快的如果没有阿里快速介入的话,那么也会很快垮掉。类似于初创企业如果幸福来的太快的话,肯定是支撑不下去的。

我们谈开源,比如腾讯在海量方案上积累了很多的经验,但如果腾讯要开一部分代码,因为业务关联性太大了,而且经过这么多年积累下的代码要摘干净是非常难的事情。但意义更大的事在于,我们可以把这些技术积累的经验总结提炼出来形成一些理念,比如“海量服务之道”是我们总结的理念,我们希望把技术理念开放到行业,可以解决中小企业或者初创型企业遇到的一些问题。比如突然有了爆发式增长应该怎么办?其实意义在于就避免因为技术上的积累不足,技术上没有经历过这个事情把很好的发展机会错过了,我觉得这要比开放源代码的意义更大。

腾讯在海量服务之道的基础性技术组建和基础性技术会陆续在做,陆续开放出来,但过程比较长。但能够把技术理念分享给大家,避免大家走弯路,这是现在马上可以做的。举一个简单的例子,有损族。是通过精心分拆产品流程,选择一部分数据一致性、完整性,从而保证核心功能的大多数。实际例子,今年春晚微信摇一摇,我们可以预见的其实就是微信摇一摇在春晚上有非常大的压力,至于具体多大压力我们估计不到,但我们估计一定会很大。但事后统计的数据是总次数110亿次,峰值1400万次/秒,81亿次/每分钟,微信红包手一发达101亿次。

微信摇一摇其实完整的体验就是摇出红包,拆红包,有钱到账上再来分享。这在常态下的运营是没问题的,但一旦有像这种峰值的话,一定对服务器有很大的压力。大家摇没关系,其实收到多少钱,钱数大,后台处理要浪费很多资源。但它耗资源的过程又是核心的过程,对摇一摇是非常核心的体验,我们进行核心的处理避免钱到账还要等,有损服务的体验。

我们做个调查,大家摇红包时摇出这些画面的请举手。有一两个。其实摇出这个画面时,我会觉得很温馨,我在摇红包的同时腾讯提醒我要跟父母多聊天,很温馨,这是很正能量的传播。其实最后一幅图程序员看到会理解,挂了,服务器挂了。其实我如果不看同事的分享,我也觉得是很温馨的提示,甚至我们腾讯内部摇到鞭炮挂了,跑到论坛上说:我摇到这个画面是不是中了奖。当知道这是服务器挂了意思,就哈哈一笑而过了。我想春节本身是很喜庆的画面,摇出这个画面让用户没有感知服务器挂了,让用户感知这是很温情、很温暖的东西。用我们开发同事总结的话说:我们预计一定会挂,但就是如何更优雅的挂掉。

在海量方面,包括刚才我讲的滴滴打车以及腾讯红包摇一摇,我们已经放出来了,如果大家感兴趣的话可以关注相关的公众号来关注资讯。最后想讲一点自己的体会,其实中国的开源还在路上,还有很多未知的领域在探索。前不久我跟负责微信法国的同事聊天,他说其实在中国,他想做以中国母语为(基础的)开源协议(英),其实一直都是依据美国法律做的,在中国许多法律是对应不上的。如果我们的开源发展的越来越好了,有更多的商业东西进来了,其实非常需要能够有一部大家能够达成一致、并且适合法律的开源协议,它目前也在推进和联合一些企业做这样的事情。

我觉得中国的开源需要探索和探求的东西还是非常多的。希望我们的开源越做越好,感谢大家!开源的精神永远都在,谢谢!

转载于:https://my.oschina.net/rhcad/blog/525195

腾讯的内外社区实践及未来开源布局相关推荐

  1. 重磅邀请函来了!首届腾讯云加社区开发者大会免费报名!

    2018年12月15日,首届"腾讯云+社区开发者大会"即将在北京隆重举行,腾讯云邀请广大开发者共同探讨云端新技术.新能力.届时,腾讯云将邀请超过40位行业内的技术专家,超过1000 ...

  2. 开源社区的长期主义与新变化 — CloudWeGo 开源社区实践

    本文整理自 CloudWeGo 开源一周年技术沙龙活动中字节跳动 CloudWeGo 开源(社区)运营负责人邓逸云的演讲分享,技术沙龙主题为<字节高性能开源微服务框架:CloudWeGo> ...

  3. 嘉年华回顾丨李海翔带你解密腾讯TDSQL数据库的技术与未来

    2020年数据技术嘉年华即将进入1个月倒计时,相信大家期待值也越来越高.数据技术嘉年华组委会在此精心为大家准备了"嘉年华回顾",挑选往届大会中热门的演讲.小编带大家回顾往届的高光时 ...

  4. 腾讯信息流推荐业务实践:内容分发场景的多目标架构实践

    猜你喜欢 0.2022年1月份热门报告盘点&下载1.如何搭建一套个性化推荐系统?2.从零开始搭建创业公司后台技术栈3.全民K歌推荐系统算法.架构及后台实现4.微博推荐算法实践与机器学习平台演进 ...

  5. 【实践】腾讯PCG推荐系统应用实践(附PPT下载链接)

    大家好,今天给大家带来腾讯PCG机器学习部部门技术负责人潘欣在2021年全球机器学习大会上所做的分享<腾讯PCG推荐系统应用实践>,本次分享的PPT共52页,包含如下三大部分: 1.腾讯P ...

  6. kubernetes在腾讯游戏的应用实践

    黄惠波,腾讯互娱高级工程师 目前主要负责游戏计算资源容器化平台的研发工作,包括kubernetes/docker研究以及定制化开发,主导腾讯游戏万级容器资源调度平台的建设工作. 大家好!今天我分享的主 ...

  7. 持续开放,腾讯TARS、TSeer助力Linux建设开源社区

    2019独角兽企业重金招聘Python工程师标准>>> 6月25日,Linux 基金会,集结世界顶级开发者的非营利开源组织,宣布腾讯正式成为Linux基金会白金会员.这意味着,腾讯继 ...

  8. 腾讯物联网开发者社区平台Tencent Things Network发布 让IoT应用开发快速安全

    5月21-23日,由云南省人民政府指导,云南省文化和旅游厅.昆明市人民政府.腾讯公司共同主办,腾讯战略升级后打造的规格最高.规模最大的行业生态大会"全球数字生态大会"在昆明隆重举行 ...

  9. 我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=61c74kbnuf9n

    我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=61c74kbnuf9n

最新文章

  1. linux ant安装jar,ant打JAR、WAR包
  2. lintcode:合并排序数组
  3. CMake编译protobuf
  4. powerquery加载pdf_老板让我汇总PDF文件,我不会,同事用Excel两分钟就搞定
  5. 内存优化最后一弹——优化函数运行
  6. MSN Messenger协议简介
  7. c语言小程序 祝你生日快乐!
  8. 傲梅分区助手看不到linux,傲梅分区助手使用教程
  9. 微信公众号采集之免费采集公众号爆文工具
  10. javaScript实现抽奖大转盘(一)
  11. 327 玉米田(状态压缩dp)
  12. 【深度学习】深度学习和经典统计学是一回事?
  13. 【机器学习】SVR支持向量机回归
  14. 2021年植发行业研究报告
  15. 小老虎CSDN博客流量分析
  16. 在个人网站里搭建了自己的随机图片接口~
  17. 有信号但是无法连接到移动网络连接服务器,手机无法连接到移动网络,这个怎么解决?...
  18. 织梦(DEDE)栏目内容中插入百度地图步骤
  19. python同花顺自动交易软件下载_GitHub - touzi-platform/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...
  20. VMware17虚拟机:下载和安装教程

热门文章

  1. 如何维护一个1000 IP的免费代理池
  2. 绘制圆形 和 椭圆形:边圆形 imageellipse() 、 填充圆形imagefilledellipse()
  3. 使用夜神模拟器进行Android开发调试
  4. VR全景图片,助力VR全景制作,720全景效果图
  5. android paint 圆角 绘制_android 绘制椭圆 圆角矩形 详细解析
  6. 消息称魅族将首发Helio X30:今年用联发科是最好选择
  7. G1D5-Intriguing properties of neural networks
  8. 学计算机可以买ipad吗,考研党究竟有必要买ipad吗?买、买大个的
  9. 每日新闻简报 每天三分钟,知晓天下事 一句话新闻早餐
  10. SqueezeNet: Alexnet-level accuracy whith 50x Fewer Parameters And 0.5MB Model Size