| 設計:劉穎潔
| 責編:陳梅梅
開源軟體的解釋與佈道近來在國內也是甚囂塵上( exactly )。我無意於代表某種嚴謹的定義,也沒想著坐而論道。只是作為一個實際的一線開發人員,分享我所看到、體會到的東西。
優秀的程式碼參考無需多言。這是一個很明顯的現象,如果你的程式碼會被別人看到、會被別人評審,更直接的說,垃圾程式碼的合併請求會被否決、垃圾程式碼的作者會被議論,那麼開發者對自己的程式碼品質就會有更高的自我要求。同時,垃圾程式碼也能夠被社群中的貢獻者所修正。
雖然我經常調侃 Flink 的程式碼,但是過度的面向物件和非同步化程式碼確實在我需要這方面的幫助的時候提供了典型且有效的指導。另外諸如 Spark 和 Etcd 也是各自領域以及語言的代表作,以至於有段時間人們提起 Scala 會跟 Spark 混淆起來,而 Etcd 則是了解 Go 語言程式設計的比複雜的 Kubernetes/Docker 更親民的例項。
曾幾何時,我們自然地以為華貴的服飾和稀有的食材只有特權階級才能享受的起,工匠和學者只把自己的經驗學識由血緣或師徒紐帶傳承,甚至還要留一手。但是隨著時代的發展,如詩中所言【舊時王謝堂前燕,飛入尋常百姓家】,我們已經進入到了一個文明高度發展,自由和平等被高度重視的時代。軟體的未來,必定不是某家公司所壟斷的命運。
軟體自由流通的實現,不應該像普羅米修斯盜火一樣伴隨著巨大的犧牲,而應該在工程師的開源文化潛移默化當中成為共識。我們開發軟體,是為了改善人的生活,為了社會的發展。軟體開發的經驗和結果,自然應該自由地流通在社會上。
最新評論
延伸閱讀