開源 – “這是最好的時代,這是最壞的時代”
今天一早,我給一位遠(yuǎn)在西安還從未謀面的程序員小鄧發(fā)出了一份很不錯的offer。一周前,他觀看騰訊開發(fā)者大會的直播視頻,聽了我的演講之后,加了我的微信,并主動告訴我,很想加入濤思數(shù)據(jù)。雖然他畢業(yè)的學(xué)校還有工作的經(jīng)歷,不是那么靚麗,但我一下看到了他簡歷里列的GitHub地址以及參與的開源項目,因此馬上進(jìn)GitHub瀏覽他的程序,發(fā)現(xiàn)程序挺漂亮,結(jié)構(gòu)、層次都很清晰,代碼可讀性很強(qiáng),更讓我驚訝的是,用英文寫的文檔以及注釋完全不輸給我這個在美國留學(xué)工作10多年的海歸。我立即讓另外一個同事也去看一下他的代碼,得出的結(jié)論是,這人很優(yōu)秀,即使遠(yuǎn)程工作,也值得馬上錄用。因此我們馬上視頻交流,很快,我就定下了錄用的決定。
如果沒有GitHub,沒法翻看他寫的上萬行代碼以及文檔,沒法查看修改記錄,我絕不會考慮錄用一個連面都沒有見過的小伙子,而且招聘時,還是會更傾向于我中國科大的師弟師妹,或有過其他名校就讀和大廠工作經(jīng)歷的人。開源,改變了我的面試流程,改變了濤思數(shù)據(jù),也改變了一個程序員的人生軌跡。
TDengine 在 GitHub 上的頁面
開源給程序員提供了一個展現(xiàn)自己個人能力的絕好機(jī)會,特別是對于大廠、大系統(tǒng)的開發(fā)者。這個展現(xiàn),能讓大家更加客觀地評價一個程序員的價值。長期以來,大家更容易相信在大廠工作過的,雖然他有可能從沒貢獻(xiàn)過核心代碼,從沒解決過重大技術(shù)問題,只是一個濫竽充數(shù)之輩;大家更傾向于相信名校畢業(yè)的,即使他早已停止學(xué)習(xí),只是曾經(jīng)高考分?jǐn)?shù)不錯;大家更容易相信35歲以下的人,不相信大齡程序員依然有很強(qiáng)的戰(zhàn)斗力。開源的代碼,能讓大家拋棄對教育、年齡、性別、經(jīng)驗、膚色、地域、文化的偏見,看到一個程序員背后真正的價值,便于組建團(tuán)隊,便于協(xié)同作戰(zhàn)。
開源讓程序員的代碼成為了作品,與畫家的畫、音樂家的曲子一樣,可以被全球程序員欣賞、使用,并傳承。對于閉源的軟件而言,這是不可能的,大家看到的只是UI或API,無法讓人看到程序本身,更無從欣賞。你在微軟為Windows 操作系統(tǒng)開發(fā)的核心模塊,無論設(shè)計得多么優(yōu)雅,你在騰訊為微信后臺設(shè)計的消息處理模塊,無論高并發(fā)能力有多么強(qiáng)悍,都無法讓人欣賞、驚嘆。但開源之后,一切都變了。只要你的代碼足夠好,解決了重大問題,那一定會成為傳世之作。即使有瑕疵,后來者也可以在你的基礎(chǔ)上修改,但你的名字永遠(yuǎn)會鐫刻在代碼上,而不會被歷史沖刷掉。

GitHub?上 tref.c 的一段源代碼
對于初入茅廬的程序員而言,參與開源項目,更是一種學(xué)習(xí)的機(jī)會。不僅可以觀摩、學(xué)習(xí)絕頂高手的代碼,更可以參與其中,貢獻(xiàn)一段代碼。自己寫的代碼有問題,一定會被測試出來、被人指出毛病,甚至直接被人修改或拋棄。與大俠直接過招,相比閉門造車,相比自己摸索,成長的速度要快N倍。而且參與的方式有很多種,除直接貢獻(xiàn)產(chǎn)品代碼外,還可以貢獻(xiàn)測試?yán)?、測試代碼,貢獻(xiàn)文檔,貢獻(xiàn)使用案例等。就象TDengine,測試代碼的行數(shù)將會遠(yuǎn)超過產(chǎn)品本身的代碼行數(shù),而且對技術(shù)的要求一點都不亞于產(chǎn)品本身。我的第一行程序是1984年寫下的,當(dāng)時正讀高中一年級,只能看到譚浩強(qiáng)編寫的《BASIC語言程序》這本書,書里盡是一些簡單得不能再簡單的程序。如果當(dāng)時就能像現(xiàn)在這樣訪問無數(shù)優(yōu)秀的開源代碼,對于一個如饑似渴的學(xué)生而言,那無疑找到了世界上最好的課本和老師。

這臺Mac為TDengine貢獻(xiàn)了4萬多行代碼
“這是最好的時代”,開源,讓程序員的價值能更客觀地展現(xiàn),讓程序員有了屬于自己的作品,讓程序員去追求極致,有動力去打磨作品,讓其成為傳世之作。對于真正的程序員而言,毫無疑問,這是最好的時代。
“這是最壞的時代”,開源,讓濫竽充數(shù)的程序員無所遁形,能傳承下去的一定是精美的作品,不再會有劣幣驅(qū)逐良幣之說。對于靠拍、靠混,依賴炫酷的PPT和報告升遷的程序員而言,毋庸置疑,這是最壞的時代。
無論年齡,無論學(xué)歷,無論是在BAT還是在startup工作,? 只要你熱愛編程,就一定要參與到開源的浪潮中。無論你是全職加入濤思數(shù)據(jù)這樣的開源軟件公司,還是作為社區(qū)貢獻(xiàn)者參與一個開源項目,只要持續(xù)努力,你一定會給世界留下一個印跡,給人類留下一幅作品。
陶建輝
2020年12月27日于北京望京
閱讀原文,體驗或參與開源的TDengine?
