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

我今天分享的主題其實也與社區有關係——《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億次。

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

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

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

我覺得中國的開源需要探索和探求的東西還是非常多的。希望我們的開源越做越好,感謝大家!開源的精神永遠都在,謝謝!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章