開源的現實很骨感_風聞
code2Real-有人就有江湖,有code就有bug2021-11-09 14:31
軟件開發領域有一個流行的原則:DRY,Don’t repeat yourself。
翻譯過來就是:不要重複造輪子。
開源項目的主要目的是共享,其實就是為了讓大家不要重複造輪子,尤其是在互聯網這樣一個快速發展的領域,速度就是生命,引入開源項目,可以節省大量的人力和時間,大大加快業務的發展速度,何樂而不為呢?
然而現實往往沒有那麼美好,開源項目雖然節省了大量的人力和時間,但帶來的問題也不少,相信絕大部分技術人員都踩過開源軟件的坑,小的影可能是宕機半小時,大的問題可能是丟失幾十萬條數據,甚至災難性的事故是全部數據都丟失。
除此以外,雖然DRY原則擺在那裏,但實際上開源項目反而是最不遵守DRY原則的,重複的輪子好多,你有MySQL,我有PostgreSQL;
你有MongoDB,我有Cassandra;
你有Memcached ,我有Redis;
你Gson,我有Jackson;
你有Angular,我有React……
總之放眼望去,其實相似的輪子很多!
相似輪子太多,選擇就是讓人頭疼的問題了。
類似的事情經歷多,以至於我對一切美好的口號抱着天然的警惕。
早期的計算機發展沒有實現標準化,每家推出的計算機兼容性都比較差,分發軟件時,只好提供源碼,用户下載源碼後自行編譯安裝。
簡單的話就是三板斧:
1)./confgure
2) make
3) make install
幸運的話,三板斧能解決問題,否則需要到處找各種依賴的庫。
因此,微軟經常宣傳:“免費的才是最貴的”,我們的產品整體上是最便宜的。
問題是,在中國人力是最不值錢的,三合大神有的是時間和精力。