Zilliz 顧鈞:「精英程式設計師」與「程式設計師精英」

2022-03-21 21:00:08

1

前兩天看到開源中國發了兩篇很有意思的文章:《FreeBSD大敗局》[1]和《Linux敗局已定——FreeBSD大敗局》[2]。也許很多人只當這是兩個作業系統互噴的八卦,但在我看來,這場爭論帶出了一個很重要的問題:自由軟體與開源軟體究竟哪裡不同?FreeBSD 所繼承的BSD 某種程度上是自由軟體精神的發端。而 Linux 則是開源軟體的最佳代表。

我們會在很多文章裡面看到諸如以下的表述:

  • 自由軟體強調軟體自由,使用者有權利得到所執行的程式的原始碼;

  • 開源軟體繼承了自由軟體程式碼開放的理念;

  • 自由軟體開源軟體被並稱 Free and Open Source Software (FOSS)

這些講法都沒有錯,但他們卻往往給人造成一種困惑:開源軟體自由軟體是一樣的,那麼為什麼要有兩個概念呢?

我的回答是自由軟體開源軟體是兩回事,他們的主力參與者是兩種人。從宏觀上看,不同人群都會有共同點。(比如,上帝和安拉都禁止人們盜竊。)但人與人的差異往往在細微之處。

2

自由軟體的土壤是小型機 (minicomputer)  UNIX 作業系統。DEC[3] 公司發明的小型機成功把計算機從大公司普及到了大學與研究機構,使得更多人有機會接觸到計算機。但前提是你得能進入頂尖的大學或研究機構,這便是標題中所指的精英程式設計師」——來自精英階層的程式設計師。

開源軟體則源於 X86 個人電腦 (personal computer),網際網路與 Linux 作業系統。個人電腦進一步把計算機從大學、研究機構普及到了普通人家。你不再需要先進入精英階層才能接觸程式設計了。這樣的草根程式設計師很多沒有計算機理論基礎,也沒有學習過什麼高等數學知識,他們有的是濃厚的興趣。其中佼佼者會成長為程式設計師精英,比如 Linus

但你可以想象精英程式設計師是如何看待這些草根的,我參照一下《還有人記得Linux之前,那個理想又驕傲的BSD嗎?》[4] 中的的內容:

不僅是 Bill Joy,整個 BSD 的傲氣都十分外漏。Marshall Kirk McKusick 後來深度參與了 FreeBSD,他就曾表示,90%  committers 所貢獻的程式碼都不能用,還剩下的一小部分則需要「were peed upon to make them smell like Berkeley」(不翻譯了,大家自行體會。)而這也是FreeBSD 儲存有整個等級制度的原因。

lola,《還有人記得Linux之前,那個理想又驕傲的BSD嗎?

除了階層上的優越感,裝置上的鄙視鏈也是個重要的因素。DEC 開發的小型機當年一度把 IBM 的大型電腦 (mainframe) 打得找不著北。IBM 如何應對 DEC 的強勢崛起?除了不斷完善大型電腦,真正的殺手鐗就是做出了 PC 個人電腦。當然任何產品初期的時候都是比較稚嫩的。因此不難想象,那些用過小型機的精英程式設計師是如何看待用著玩具般的 PC 的計算機草根們。

回顧過去的歷程,顯然精英程式設計師輸給了程式設計師精英。有趣的是今天中國網際網路大廠們的校招風格依然是精英程式設計師的思路,特別重視本科學歷。在業務上似乎也取得了不錯的成果。但在技術上呢?

大廠內部精英程式設計師們也很難展開合作。比如資料庫,一個大廠沒幾個互相 PK 的資料庫團隊,都不好意思說自己投入了基礎軟體的研發。


現在我們正處於又一個計算環境變革的時代,程式設計師精英與開源模式能不能繼續發揚光大呢?

附錄

[1]: FreeBSD大敗局

[2]: Linux敗局已定——FreeBSD大敗局

[3]: Digital Equipment Corporation 

[4]: 還有人記得Linux之前,那個理想又驕傲的BSD嗎?


本文轉載自「燃燼1400」公眾號,作者:顧鈞Jun,原文連結:

 

展開閱讀全文