SRS的2021,盐碱地里种西瓜的王婆
本來寫了20380個字的年終總結(jié),后來畫了一張圖差不多就說清楚了,壓縮到了4131字,是下圖大圖哈,不是上面小圖哈哈哈:
Note: 我本來準(zhǔn)備了一堆的具體數(shù)字,后來我仔細(xì)想了想,數(shù)字似乎看起來挺有說服力,可惜不能證偽,所以并沒有實際價值,干脆用這張定性的圖更好點(diǎn)。
?伸手黨:不能自理的用戶,往往可能不是水平差,而是不想自己花時間,不看文檔就提問,抓住一個人溺水式提問——問死你,伸手黨是絕對的貶義詞,社區(qū)未來重點(diǎn)打擊對象。?白嫖黨:開源大部分都是白嫖,也無可厚非,我并不覺得這個是貶義詞,就像我自己又反饋過多少開源項目呢,Google過多少答案自己又回答過多少。?開發(fā)者:從使用到反饋,不管是提交Patch,還是反饋問題,還是測試新功能,還是回答問題,還是提交Issue,還是吐槽,對項目有反饋的朋友都統(tǒng)稱為開發(fā)者。?活躍開發(fā)者和TOC:比較持續(xù)發(fā)揮作用的活躍開發(fā)者,以及核心功能和模塊的維護(hù)者,在SRS技術(shù)委員會的就是這群同學(xué),這是火車頭,質(zhì)量大于數(shù)量。
刪掉總結(jié)中的不痛不癢的話,最終還是留下了一些失敗的故事,請大家別對號入座,失敗的故事都是說的我本人而已。
故事一:從同類項目中導(dǎo)流,往往沒有什么效果
大約在2015年左右,SRS發(fā)展2年了,各方面都覺得自己比NginxRTMP強(qiáng)。而且NginxRTMP也大概在這時候不維護(hù)了,還有個Issue問是否NginxRTMP這個項目是不是死了,我就在這個Issue里面興高采烈的給大家介紹,可以用一個更牛逼的開源項目SRS。
結(jié)果就被大家鄙視和噴得不行,NginxRTMP的粉絲回復(fù)說“在其他開源項目中打廣告是非常非常不禮貌的行為,而且絕對不可取”,我只好灰溜溜的刪除了評論。
被批評當(dāng)然是很難受的,當(dāng)然人家也是非常不高興。別的項目不維護(hù),并不能成為遷移到新項目的理由,NginxRTMP不維護(hù)了,難道SRS就能一直維護(hù)?難啊,相當(dāng)?shù)碾y。
其實NginxRTMP有fork在維護(hù),而且還有NginxFLV,NginxTS等項目,因為Nginx是個龐大的生態(tài),RTMP這個不維護(hù)了,不代表大家就立刻不能用了,還是可以繼續(xù)使用的,代碼大家都有,可以自己改的。
另外,對于服務(wù)器是否應(yīng)該要提供全一點(diǎn)的功能,還是只提供單一的比如RTMP+HLS功能,其實大家有不同看法。只是我以為SRS的方式是最好的,只是一廂情愿而已。
這個失敗的故事,我明白了,做好自己的事情才是最重要的。別的開源社區(qū)的開發(fā)者,并不能直接轉(zhuǎn)移過來。社區(qū)的開發(fā)者轉(zhuǎn)移,是有很高成本的,這也是開源項目值得投入的原因吧。
詳細(xì)的故事,請參考?NginxRTMP #605[1]
故事二:全球大餅很大,牙口不好也啃不動
SRS在線的實例中,有接近一半是海外的量,其實SRS的用戶是全球化的了。但是SRS的核心開發(fā)者一直沒有國外朋友,如果搜索英文的流媒體服務(wù)器,包括各種Wiki和媒體上,還是國外的開源項目的介紹。也就只有少量的華人在介紹SRS的用法。
為何國外這么廣闊的市場,SRS不去重點(diǎn)攻這個市場呢?因為搞不定。
首先是語言的問題,SRS其實是有英文WIKI的,但水平一看就肯定是中國人寫的,都是我自己寫的,語病很多。這天然就造成了沒那么信任了,特別是Issue中大家溝通有障礙,比如有個國外朋友問了個問題,我沒聽明白是什么意思,我就回他說:“I don't understand what's your problem.”
中國人都很了解,意思是我沒聽懂。而其實這句英文翻譯過來應(yīng)該是:“你丫這是什么毛病”。因為problem并不是我們理解的問題,而是毛病的意思。這無異于是雞同鴨講了,還怎么愉快的玩耍呢。
其實也有各種國家的朋友,通過Skype咨詢,不過那信號太差了,聊不起來。而且不同國家的口語差別還挺大,基本上整不明白。經(jīng)常Yeah一會兒了就掛了,頭痛得不得了。
從這事我算是明白了,無論別的項目海外做得多好,吃餅還需自己牙口好。最近開始猥瑣發(fā)育,在StackOverflow上回答SRS的相關(guān)問題。
詳細(xì)的故事,請參考?SRS #1092[2]
故事三:開源不是商業(yè)PK,口水仗無益
開源社區(qū)是一個繁榮的社區(qū),輪子非常多。新的用戶往往不知道如何選擇,所以會有比較常見的問題就是想知道開源產(chǎn)品的差異,也有好事之徒喜歡看社區(qū)之間互噴,還有新的開源項目為了吸引流量喜歡對比來凸顯自己的優(yōu)勢。
常見的商業(yè)產(chǎn)品之間的PK對比,在開源項目之間也有,個人認(rèn)為是不可取的,口水仗無益。
我就經(jīng)常干這種不可取的錯事。
我認(rèn)為對比開源項目的合理原因包括:
?新的開發(fā)者想快速了解開源項目,通過對比和PK,是比較容易,也比較方便了解這個領(lǐng)域的大概功能,以及要解決的問題是什么。?開發(fā)者喜歡看PK,這是一種更具備娛樂性的互動,喜歡爭論哪個是最好的語言,哪個是最好的框架。爭強(qiáng)好勝的心理,大概是與生俱來的吧。?能簡單粗暴的客觀的對比出目前的水平,能快速做出判斷,選擇哪個開源項目是更合適的。能提高開發(fā)者的效率,不需要花大量時間調(diào)研就能做出選擇。
我認(rèn)為對比開源項目的壞處是:
?數(shù)據(jù)是客觀的,也具有誤導(dǎo)性,沒有準(zhǔn)確的真相。PK的結(jié)果有時候來源于自己的項目的了解程度,就好像我們評測漢語和英語一樣,總覺得漢語更博大精深一些(我也如此認(rèn)為),而漢語中自己的方言聽起來更舒服一些,評測并不客觀。?只能對比到表象,而無法對比根本。表象就是現(xiàn)狀,根本就是社區(qū)的活躍開發(fā)者。我們能對比性能和功能,卻不可能評估出社區(qū)的開發(fā)者的狀態(tài),他們之間的關(guān)系以及是否能持續(xù)貢獻(xiàn),這是開源項目的根本。評測可能會把有坑的開源項目推薦給開發(fā)者。?優(yōu)勢就是劣勢,是優(yōu)勢還是劣勢要看開發(fā)者的情況。對于解決問題的能力很弱的開發(fā)者,所有開源項目都是坑。比如C++11,對于有些開發(fā)者是信仰,是高效率的關(guān)鍵,而對于C語言的開發(fā)者就是糟糕的根源。開發(fā)者的水平才是決定性的根本。
開源項目對比,是個錯誤,卻停不下來。
詳細(xì)的對比,請參考?如何選擇音視頻開源項目,避坑指南,入坑躺平?以及?SRS Compare[3]
故事四:開源要征得老板同意,悄悄做不可取
這個話題比較敏感,這是多個真實的故事,混淆之后的一個半真半假的故事。
開源最難處理的就是和老板或上級的關(guān)系,因為開源最直接的受益者是自己,對公司有什么好處?對直接上級又有什么好處?現(xiàn)在都很難講清楚。
壞處倒是很明顯。
?有可能泄漏公司商業(yè)代碼吧,不是故意的也可能是不小心的,這是數(shù)據(jù)安全事故的風(fēng)險。對領(lǐng)導(dǎo)來說,只有風(fēng)險沒有收益,這也太難為人了。?是不是花了太多的時間了,KPI完成了么。要做好開源不容易,你肯定花了很多時間吧。如果這些時間都投入在產(chǎn)品上,公司業(yè)績肯定會更好啊。?是不是會讓競爭對手更強(qiáng)大,至少讓他起步更快了吧。而且開源的質(zhì)量可能比商業(yè)產(chǎn)品還高,比如改WebRTC改來改去的,最后還不如WebRTC。
每次開發(fā)者提交了比較多的代碼,或者大塊的功能,或者需要投入時間來參與到SRS,我總要仔細(xì)盤問:和你領(lǐng)導(dǎo)商量過了么?領(lǐng)導(dǎo)同意么?
從法律上來說,我們的產(chǎn)出全部屬于公司,當(dāng)然需要征得公司同意才能開放自己的代碼。
?業(yè)余時間寫的代碼也屬于公司的么?是的。?不拿公司代碼,自己全部寫的也是公司的么?是的。?用自己的個人電腦寫的代碼,也是公司的么?是的。
當(dāng)然,開源對公司也不見得只是壞處,也能有好處。
故事五:開源社區(qū)和商業(yè)化,真的不一樣
SRS在2016年左右嘗試過商業(yè)化,那時候我們覺得好的代碼,高性能的服務(wù)器,一定會有市場,所以就提供了開源版本和商業(yè)版本,當(dāng)然后來沒有做成:不一定好就買單,何況當(dāng)年還遠(yuǎn)不算不上多好。
想想當(dāng)年我們做SRS商業(yè)化,失敗主要的原因包括:
?開源社區(qū)太小,商業(yè)化的用戶就沒有了。SRS其實是發(fā)展非常慢的一個社區(qū),因為社區(qū)不只是有代碼,不只是高性能,不只是功能。當(dāng)時開源一年左右,SRS除了一些用戶,連提交代碼的開發(fā)者都沒有幾個。?音視頻的市場比較分散,服務(wù)器的細(xì)分市場也不大。比如Adobe AMS咋樣了,Real的Helix又咋樣了,Apple的Darwin是不是也咋樣了。活得比較滋潤的是Wowza吧,也開始弄云平臺了。SRS是服務(wù)器,用戶更多是用來做私有化部署,以及學(xué)習(xí)用的,這個市場就更小了。?混淆了開源文化和開源商業(yè)化。開源沒有經(jīng)驗,開源商業(yè)化也沒有經(jīng)驗。只是覺得好東西就有市場,當(dāng)然要掛掉了。好東西,有市場買單,中間差得千山萬水太遠(yuǎn)了。
開源的基礎(chǔ)是開發(fā)者,包括開發(fā)者的能力、習(xí)慣和協(xié)作方式,國內(nèi)目前相對比較初級的階段。從國內(nèi)發(fā)起的開源項目,還比較少能算上成功的。
我的感覺,目前國內(nèi)做開源,就好像王婆在鹽堿地里種西瓜,不僅收成不好,還要自賣自夸。當(dāng)然,鹽堿地也是我們自己的土地,除了堅持做持續(xù)做,沒有第二條路可以走。
這個話題不敢多聊,主要是自己真的不懂商業(yè)化,只知道SRS目前的定位還是做開源社區(qū),目標(biāo)并不是商業(yè)化。
故事六:為什么做開源,難以啟齒的理由
到底為什么做開源?這不是我第一次回答,回答過很多次了,都是些冠冕堂皇的理由,列下我記得的理由吧:
?覺得自己能造個更圓的輪子,證明自己牛逼。?做技術(shù)的人,一定曾經(jīng)受益于開源,想回饋開源社區(qū)。?中國要有自己的開源的路徑,走出自己的開源之路。?開源是長期主義者,猛攻行不通,要細(xì)水長流,容易建立時間壁壘。?能認(rèn)識很多優(yōu)秀的開發(fā)者,能避免獨(dú)學(xué)而無友。?開源是和開發(fā)者溝通的橋梁,能建立持久而廣泛的影響力。?開源能解決錢解決不了的問題,開源的社會協(xié)同價值更高。
我說下不那么好意思講的,難以啟齒的理由:
?已經(jīng)被打上了開源的標(biāo)簽,騎虎難下,不如發(fā)揮自己優(yōu)勢,持續(xù)投入開源,挖掘更多價值。?羊毛出在豬身上,不一定在開發(fā)者身上直接賺錢,Github不也是大部分白嫖黨,不一樣也有很高的商業(yè)價值。?目前開發(fā)者中白嫖黨多,下一代越來越有錢了,未來趨勢是付費(fèi)意愿越來越強(qiáng),未來搞不好可以找到盈利點(diǎn)。?心理反噬:以前家里太窮,一直都是為了賺更多錢,不想賺錢的想法在潛意識越來越強(qiáng)大,開源各方面都很好就是不賺錢。?一直都活得太一本正經(jīng)了,其實自己本質(zhì)上就是個屌絲,潛意識中充滿了娛人娛己的精神,因為最初音視頻和最大的場景是互動娛樂,現(xiàn)在大家不也覺得開直播當(dāng)主播很LowB么。
緣起我就來做開源,緣滅時我就不做了。
References
[1]?NginxRTMP #605:?https://github.com/arut/nginx-rtmp-module/issues/605
[2]?SRS #1092:?https://github.com/ossrs/srs/issues/1092
[3]?SRS Compare:?https://github.com/ossrs/srs/tree/2.0release#compare
本文轉(zhuǎn)載自公眾號SRS開源服務(wù)器:
掃描圖中二維碼或點(diǎn)擊閱讀原文
了解大會更多信息
總結(jié)
以上是生活随笔為你收集整理的SRS的2021,盐碱地里种西瓜的王婆的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 音视频技术开发周刊 | 227
- 下一篇: 关于WebRTC发展的担忧和思考