騰訊的內外社區實踐及將來開源佈局

我今天分享的主題其實也與社區有關係——《21攝氏度的CODE》,一是談談騰訊內部開源社區的體會,二是騰訊對外開源的狀況及其近期計劃。程序員

對於騰訊而言,研發文化開發也是在2013年左右,大概在3Q大戰後,隨着3Q大戰對騰訊的影響使騰訊更加開放。另外,這先後其實許多谷歌的工程師來到騰訊,他們帶着谷歌的文化來到騰訊,使騰訊研發能力方面更加開放。2013年騰訊正式提要在內外部作開源,而且推廣開源。算法

若是作開源社區一個繞不開的話題就是GitHub,由於GitHub的存在讓咱們的社區變得不一樣,這當中有兩層意思。咱們看到GitHub如今已是很是成功了,包括它的一些對開源的管理以及運做模式。咱們在作社區時怎麼樣在它基礎上作一些不一樣的東西,這是很重要的。另外,因爲GitHub有開源的一些基本成功方案,包括咱們很容易複製過來並搭建這樣一套東西,使咱們有精力、有時間打磨針對咱們的用戶須要的東西。服務器

對於咱們的用戶來說,其實有這樣一種觀點,微信在產品觀時分享過他們的觀點,其實在Facebook等因而說人離開SOS可能被孤立,沒有存在的價值。而對中國來說,面對的是生存感的問題。咱們要養家餬口,咱們的程序員其實就是要有一份有收入的職業,可是也有這樣一類人,既有這種生存感的壓力,也有存在感的渴望。我以爲程序員其實就是這樣一類人,咱們可能平時在企業裏爲了KPI,爲了業績去拼搏,但心裏裏可能還保持着對技術理想的渴望,保持着本身可能要在技術上作一些不同的事情出來,這就是咱們社區所面對的用戶的現狀。微信

另外,程序員相對過於謙虛。例如,在騰訊內部開研發會議,可能最搶先發言的是產品經理,若是不阻止他的話,他會講半個小時甚至一個小時,或者直到會議結束。而咱們的程序員一直默默無聞,在表達上還存在內向。咱們若是作社區,怎麼樣針對這些用戶羣體讓他們在社區裏有更多的交互和表達,讓他們在咱們的社區裏可以有更多的技術存在感,咱們就在作輕量化代碼功能,叫作「微碼」,你們可能有時間參與開源項目,但沒有時間在開源項目作工做。可是能夠把本身認爲好的或者可以曬出來的代碼放在社區中與別人作交流和分享。架構

當時咱們作的「微碼」,你們知道如今凡是帶「微」的產品都比較火,因此咱們起名叫「微碼」,數據給了咱們一個很大的擁抱。好比2013年作的時候還只有243,而截止到如今是342,按照這個數據狀況看,2015年的數據大概是1200多。因此經過輕量化的這種功能可以讓咱們的程序員有這種表達,這種低門檻可讓他們更多的參與到社區的活動中來。學習

社區其實離不開運營,一個好的開源社區必定要作一些運營,能夠抓住用戶的心理作一些事半功倍的事情。好比流行就是一個很強的驅動力,像2014年發生了微信紅包的事情。程序員之間討論的是什麼呢?討論的是爲何你每次搶紅包能搶10幾塊錢,上百塊錢,爲何我只可以搶到幾分錢,你們討論這個話題很熱。咱們很快就在微碼平臺上作了這樣的運營:微信紅包的隨機算法。結果就有很好的研發,有一半人上來作評論,最終有200多個評論,這200多個評論當中幾乎一半評論是很具體、很詳細的,怎麼樣的算法更隨機,怎麼樣會更加好玩。這其實就是利用有實效性的事件作運營,就可以起到事半功倍的運營效果。優化

再就是好奇心,好奇心是很大的驅動力,你們都很好奇爲何會這樣,爲何那樣。你們的公司每到年末都會有抽獎,騰訊也是這樣的,在年末時你們都會關注今年會開什麼獎,能不能中上。咱們討論最多的是爲何誰誰每一年都會中?是否是抽獎環節有什麼問題,你們都感到很是好奇。咱們就將抽獎程序做爲開源項目開源出來放到社區,結果這個開源項目是騰訊最長壽的,也是參與人數最多的開源項目。能夠看到從2012年末放上去後,直到如今都會有維護,每一年到了抽獎時,由於需求不同,今年是這樣,明年是那樣,每一年都會有不一樣的團隊作這個項目,維護這個項目,參與的人也很是多。每每開發的團隊過來講若是在騰訊內部作一個開源項目應該怎麼作?咱們就說應該這樣,應該不斷的維護,不斷的提問題,使它更加完善,這就是典型的開源項目的玩法。開放源代碼

其實一個社區不光要承載社區的功能,對於程序員這個羣體來說,你們多多少少都會有極客的情結在裏面,好比喜歡新鮮的、有趣好玩的東西。去年咱們在騰訊作了一個樂高EV3機器人大賽,這個大勝過程中咱們強調的是跨團隊合做,不要找本身團隊內部很熟的人去作,應該去找不一樣業務與你跨度很遠的人組隊作這件事。整個下來後,你們玩的很好,對跨團隊的合做和開源的玩法有更加深入的認識,這對社區的影響力傳播是很好的事情。最終參與反饋不少都是頗有意思的,包括熬夜,到了夜裏二、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億次。

微信搖一搖其實完整的體驗就是搖出紅包,拆紅包,有錢到帳上再來分享。這在常態下的運營是沒問題的,但一旦有像這種峯值的話,必定對服務器有很大的壓力。你們搖不要緊,其實收到多少錢,錢數大,後臺處理要浪費不少資源。但它耗資源的過程又是核心的過程,對搖一搖是很是核心的體驗,咱們進行核心的處理避免錢到帳還要等,有損服務的體驗。

咱們作個調查,你們搖紅包時搖出這些畫面的請舉手。有一兩個。其實搖出這個畫面時,我會以爲很舒適,我在搖紅包的同時騰訊提醒我要跟父母多聊天,很舒適,這是很正能量的傳播。其實最後一幅圖程序員看到會理解,掛了,服務器掛了。其實我若是不看同事的分享,我也以爲是很舒適的提示,甚至咱們騰訊內部搖到鞭炮掛了,跑到論壇上說:我搖到這個畫面是否是中了獎。當知道這是服務器掛了意思,就哈哈一笑而過了。我想春節自己是很喜慶的畫面,搖出這個畫面讓用戶沒有感知服務器掛了,讓用戶感知這是很溫情、很溫暖的東西。用咱們開發同事總結的話說:咱們預計必定會掛,但就是如何更優雅的掛掉。

在海量方面,包括剛纔我講的滴滴打車以及騰訊紅包搖一搖,咱們已經放出來了,若是你們感興趣的話能夠關注相關的公衆號來關注資訊。最後想講一點本身的體會,其實中國的開源還在路上,還有不少未知的領域在探索。前不久我跟負責微信法國的同事聊天,他說其實在中國,他想作以中國母語爲(基礎的)開源協議(英),其實一直都是依據美國法律作的,在中國許多法律是對應不上的。若是咱們的開源發展的愈來愈好了,有更多的商業東西進來了,其實很是須要可以有一部你們可以達成一致、而且適合法律的開源協議,它目前也在推動和聯合一些企業作這樣的事情。

我以爲中國的開源須要探索和探求的東西仍是很是多的。但願咱們的開源越作越好,感謝你們!開源的精神永遠都在,謝謝!

相關文章
相關標籤/搜索