機構框架
Hamming 在 Bell Labs 到 Naval Postgraduate School 等機構多次發表〈你與你的研究〉演講。其核心建議始終如一:專注重要問題,而非僅忙碌的問題。腦中常存十個重要問題。當新技術出現時,思考它是否能解決其中任何一個問題。
然而演講中隱含一個假設:你在機構內工作。Bell Labs 支付 Hamming 的薪水,讓他能在週五下午思考而不需產出可計費的成果。他能走進其他樓層與同事交談,有實體期刊的圖書館,以及只需填表即可使用的運算資源。
當他說「把門打開」,假設門後是走廊另一端的同事。當他說「投資自己」,假設雇主會補助參加會議的旅費。當他說「累積知識」,假設有穩定的就業環境讓知識有時間複利成長。
1986 年 Hamming 首次在 Bell Communications Research 發表此演講時,這對認真的研究者而言幾乎是普遍現實。到了 2026 年,開源已徹底打破這個假設。研究者只需一個家用目錄、一個公開 git 遠端,以及一群關心相同問題的陌生人社群,就能產出有影響力的成果。
本課程將 Hamming 的核心觀點延伸至這個框架中——並非取代他,而是更新其建議所處的環境。
翻譯「開門」概念
Hamming 談論開門時說道:「我注意到,如果你把門半開,你的工作效率會降低,但你會聽到真正重要的事。偉大的科學家傾向於保持門開著——不是一直開著,而是偶爾開著。」
他指的是字面意義。同事走過時可能會提到某個問題。Hamming 會捕捉到關於新技術的片段對話。這些偶遇發生在實體空間、午餐時、走廊上,或咖啡機旁。
The 10-Problems Technique Outside an Institution
Hamming 的 10 個問題技巧:在你的領域中,持續維護一份最重要的未解決問題清單。當新的方法、工具或結果出現時,問問自己它是否解決了這 10 個問題中的任何一個。這能讓注意力集中,並創造出看似幸運的突破:一項新技術在研討會中出現,Hamming 能在幾分鐘內看出它解決了哪個問題。
在開源世界中,這些問題存在於公開的地方:issue 追蹤器、安全資料庫(CVE、CWE)、會議演講、從未解決的 Stack Overflow 討論串,以及警告「這是已知限制」的函式庫變更日誌。MOAD 管線系統性地應用 Hamming 的技巧:跨生態系統掃描 CWE-407、將確認的發現對應到上游專案、提交 issue、送出修補程式。
這個管線不需要薪水。它只需要:一份問題清單(MOADs)、一種掃描方法(grep 模式、靜態分析器),以及上游存取權限(git、郵件列表、GitHub、GitLab)。任何擁有終端機與網路連線的人都能執行它。
Hamming 的複合知識:專注於最重要的問題,你學到的每一項新技術都有機會解決其中之一。開源則以不同方式複合:每一個被合併到上游的修補程式,會自動傳播到所有下游分支。修正不需要原研究者額外努力就能擴散。2020 年提交給 Python email 函式庫的修補程式,在 2021 年已觸及所有 Python 安裝。
機構曾提供:薪資穩定性、運算資源、圖書館存取、同儕網絡,以及作為驗證的聲望。到了 2026 年,這些大多數已免費出現在網路邊緣:雲端運算、開放期刊存檔、GitHub、Stack Overflow、學術 Twitter。剩下的稀缺資源是注意力與判斷力,而非存取權限。
應用 10 個問題技巧
針對你所在領域的 Hamming 問題:
機構提供什麼,以及它們不提供什麼
Hamming:「要勇氣才能處理重要的問題。大多數人都不處理重要的問題。如果你不處理重要的問題,就不太可能做出重要的工作。」
機構的支持提供了一種勇氣:終身教職消除了被解雇的威脅。薪資的持續性消除了收入焦慮。同儕的認可證明該問題值得解決。機構承擔失敗嘗試的成本。
在機構之外工作,會移除這些支持。一個你提交的補丁可能被其他有優先事項的維護者忽略。你揭露的問題可能被視為不是真正的漏洞。你維護多年的專案可能永遠吸引不到貢獻者。沒有人保證你的努力會有結果。
但開源也移除了一種機構特有的恐懼:你不會因為維護一個專案而被解雇。沒有經理會因為客戶的要求而把你導向較不重要的問題。沒有績效考核會因為你花了五年才看到成果而懲罰你。一個公眾領域的補丁不需要許可就能存在。它只需要是正確的。
Permacomputer 原則:以公眾領域的方式發布補丁。補丁不需要歸屬就能存續。它不需要機構的背書就能被採用。它只需要正確且可取得。如果上游維護者忽略它,就 fork 該倉庫並在 fork 中發布修正。正確性不會因接受度而改變。
開源的閉門
Hamming 觀察到,科學家關上辦公室門短期內能完成更多工作,但長期來看會落後,因為他們不再聽到什麼才是重要的。