科技 科普

發明 Linux、Python、Redis、Nginx、SQLite 的人算不算天才?一場關於軟體工程師價值的辯論

Linux 核心、Python、Redis、Nginx、SQLite 支撐了絕大部分現代網路服務,但把它們的作者稱為「天才」其實模糊了軟體工程的真實樣貌。本文拆解這五位開發者的貢獻與「天才」一詞的爭議。

Techroomage 編輯部 閱讀約 8 分鐘
發明 Linux、Python、Redis、Nginx、SQLite 的人算不算天才?一場關於軟體工程師價值的辯論

一則在知乎流傳的提問這樣寫:發明 Linux、Python、redis、nginx、sqlite 的人算不算天才?這五個名字背後的軟體,幾乎撐起了當代絕大多數的網站、手機服務與企業系統,但它們的作者究竟應該被當作「天才」崇拜,還是被理解為某個時代的工程結晶,這個問題本身就值得拆解。

TL;DR

Linux、Python、Redis、Nginx、SQLite 的作者都是頂尖工程師,但「天才」這個標籤會掩蓋掉這些專案真正的成功因素:長期維護、開放原始碼協作模式,以及對正確問題的判斷力。把他們捧為「天才」,反而讓一般開發者誤以為這種貢獻距離自己太遠。

關鍵事實

  • 涉及軟體:Linux 核心、Python 程式語言、Redis 記憶體資料庫、Nginx 網頁伺服器、SQLite 嵌入式資料庫
  • 主要作者:Linus Torvalds(Linux)、Guido van Rossum(Python)、Salvatore Sanfilippo(Redis)、Igor Sysoev(Nginx)、D. Richard Hipp(SQLite)
  • 釋出年代(公開資料):Linux 約 1991 年、Python 約 1991 年、SQLite 約 2000 年、Nginx 約 2004 年、Redis 約 2009 年
  • 共通點:皆為開放原始碼、皆被廣泛部署於生產環境、單一作者或極小團隊主導初始設計

為什麼「天才」這個詞會引起爭議

「天才」這個標籤在軟體工程圈其實爭議不小。問題不在於這些作者夠不夠優秀——他們確實是業界公認的頂尖工程師——而在於這個詞會把一個複雜的故事壓縮成單一個人特質。

實際上,這五個專案能走到今天,從來不是「一個人寫完然後全世界就用」這麼簡單。Linux 核心到現在累計已收到全球數萬名開發者的貢獻,每個版本都是企業、學界與個人協作的成果。Python 從 1990 年代到今天,也歷經多次重大版本演進與社羣提案流程。把這些歷程全部歸給「天才」,等於把整套開放原始碼協作機制都刪掉。

更精準的說法是:這些作者具備「在對的時間,判斷出對的問題」的能力。Linus Torvalds 在個人電腦普及的關鍵時刻,提供了一個免費的類 Unix 核心;Guido van Rossum 在腳本語言生態尚未成熟時,設計了一個強調可讀性的語法;D. Richard Hipp 則看到了嵌入式資料庫這個被大型資料庫廠商忽略的市場缺口。

五個知名開源軟體專案的成功因素條列圖卡,列出問題判斷、長期維護、開源協作與低調選型

把「工程判斷力」與「天賦」分開看

如果硬要把這些作者的特質拆開,會發現他們共同具備的不是某種神祕天賦,而是工程判斷力:知道什麼該做、什麼不該做、什麼時候該捨棄完美換取可用。

舉例來說,SQLite 的設計哲學是「盡可能不依賴外部套件」,整個資料庫可以編譯進一支程式裡,這個取捨讓它成為全世界部署量最大的資料庫之一,幾乎每一支手機 App、每一個瀏覽器都內建它。Redis 則刻意把資料結構放在記憶體裡,用犧牲持久性的代價換取極快的讀寫速度,這個取捨在快取與即時運算場景裡被證明是對的。

這種「知道在什麼地方犧牲」的能力,其實與理解固態硬碟為什麼不建議分區背後的邏輯類似:技術選型往往不是「誰比較聰明」,而是「誰對使用情境的理解比較準確」。一個能判斷出「不需要這個功能」的工程師,有時比一個會把所有功能都做出來的工程師更珍貴。

維護才是這些專案真正的護城河

另一個被「天才敘事」掩蓋的事實是:這五個專案之所以能活到今天,靠的不是初版寫得多漂亮,而是長達數十年的維護。

Linus Torvalds 從 1991 年至今仍參與核心決策;Guido van Rossum 直到退休前都還在參與 Python 的發展;D. Richard Hipp 至今仍維護 SQLite 並親自回覆問題。這種長期投入的紀律,往往比一次性爆發的靈感更稀缺,也更難被複製。

這也是為什麼開放原始碼圈對「天才」一詞始終保持距離。當一個專案被歸功於單一英雄,參與維護的數千名貢獻者、回報臭蟲的使用者、撰寫文件的志工,就很容易被遺忘。開源專案的本質是一條治理鏈與責任鏈,而不是一個人的神話——再權威的技術決策,背後也有一整個問責與審查的流程在支撐。

開源軟體成功關鍵在於長期維護而非初始天賦的引言圖卡

所以,他們到底算不算天才

如果「天才」的定義是「具備常人無法企及的天賦」,那麼這個標籤其實並不精準——它低估了協作、維護與判斷力的分量。但如果「天才」指的是「在關鍵時刻對關鍵問題做出正確判斷的人」,那麼這五位作者確實符合。

更務實的看待方式是:把這些作者當作「值得研究的工程決策者」,而不是「只能仰望的天才」。理解他們為什麼選擇某個取捨、為什麼堅持某個設計、為什麼拒絕某些功能,對任何一位軟體工程師的成長,都比單純崇拜更有幫助。

五個改變現代網路的知名開源軟體專案統計圖卡

常見問題 FAQ

Q:Linux 和 Python 是同一個人發明的嗎? 不是。Linux 核心的主要作者是 Linus Torvalds(芬蘭),Python 的主要作者是 Guido van Rossum(荷蘭)。兩者是各自獨立的專案,只是剛好都在 1991 年前後對外發布。

Q:為什麼這些軟體可以免費使用? 因為它們都採用開放原始碼授權,例如 Linux 核心採用 GPL、Python 採用相容於 GPL 的寬鬆授權、SQLite 屬於公共領域。開放原始碼讓任何人都能檢視、修改與重新散布程式碼,這也是這些專案能被廣泛採用的主因。

Q:Redis 和 Nginx 為什麼常被一起提到? 因為兩者在現代網站架構裡經常搭配使用:Nginx 負責處理使用者的請求與反向代理,Redis 則負責快取與即時資料。一個管流量入口,一個管資料速度,是高流量網站常見的組合。

Q:普通人能不能寫出這種級別的軟體? 單靠一個人寫出第一版是有可能的——這五個專案初始都是極小團隊。但要讓它走到全球規模,靠的不是個人而是一整個協作生態。與其問「能不能」,不如問「我能不能找到一個值得長期投入的問題」。

結論

這五位開發者值得尊敬,但尊敬的方式不該停在「天才」兩個字。把鏡頭拉遠一點,會看到一套更值得學習的東西:對問題的精準判斷、對取捨的清楚拿捏、對長期維護的紀律,以及一個讓陌生人願意一起改程式碼的開放機制。這些才是現代軟體工程真正的核心資產,也是任何一位開發者實際能夠學習與累積的能力。

#科技#科普#開放原始碼#軟體工程