對開源的冷思考

duxingzhe發表於2018-12-17

今天,我編譯了一次openssl,終於算是獨立地完成了對這個軟體的編譯。我的開發過程一直都是跟著開源軟體走的。Linux、Android等等。每個專案的實現都是根據開源軟體的程式碼一步步研究。

然而,開源真的很好嗎?顯然不是。隨著開源的接觸逐漸增多,我逐漸發現,其實開源並不是想象中的那麼美好。

首先,開源一般是免費的,由於是免費,也就沒有資金來源,也就是說如果沒有一個良好的社群,很容易造成開源的軟體的不可維護。很容易就出現一種可能性:開源軟體往往開源了事,沒有再升級,隨著時間的推移,開源軟體的技術也逐漸過時。然後,社群和後期維護支援都是靠著開發者的情懷,而情懷都是再有很多前提的。最讓我感到無奈的是,開源軟體的文件是極其落後的,編譯過程繁瑣而複雜。甚至官方的文件或者官方生成的Makefile檔案都有問題。而,這個FFmpeg可以說是讓我受盡折磨,我曾經搞到凌晨兩點也沒有搞好。我也終於明白程式設計師為何老是加班,或許就是軟體的結構複雜導致編譯總是情況百出。這還不算,軟體的編譯時候還要看運氣,很有可能碰到谷歌和百度都沒有記錄的問題。

當然,我應該去理解,因為開源軟體的情懷,我們只能選擇技術的時候選擇成熟的、完善社群技術支援的技術。而不是一個剛剛橫空出世的技術。開源軟體的文件維護、程式碼整合都是對社群的考驗。特別是在沒有資金支援的前提下,保證開源軟體的版本迭代變得十分難以實現。

開源不能盲從,我們必須審慎,我們可以選擇、學習和借鑑,但是一定要基於充分的可行性分析以後才能選擇。

相關文章