# 為什麼應該開放原始碼?

*前六點是 2022 即想到的，最後一點是今年才體會到的*

By [碎片盒](https://paragraph.com/@fragments) · 2023-04-09

---

自己比較晚才接觸到開放原始碼 (開源)，有點小後悔。寫下一些我認為的開源理由，或許能幫助想寫程式碼的同學抉擇自己的專案性質:

1\. 增加睡後資產
----------

閉源時，只有內部的人方可知道你的貢獻，等你離開原團隊時，你的所有貢獻幾乎無法衡量，只能片面得知；相對地，為開源專案做貢獻，任何人都看得到你的成果，即使在你離開了團隊之後。

在注意力時代尤其如此。正如納瓦爾所說，開源的程式碼讓你在睡覺的時候都有人在瀏覽。親測這是真的，有一次一覺醒來發現自己的 GitHub 多了一堆 star。

2\. 破除不信任感
----------

開放原始碼是網路去黑盒化的重大前提。除了工程師，對普通人來說程式碼、機器和設備就像一個黑盒，我們輸入然後得到一個反饋，中間的過程不得而知。雖然開源的專案仍然可能是一個黑盒子，線上部署的程式碼有可能與公開可訪問的不一致，主要的差異體現在配置、密鑰和同外部腳本博弈的部分，但卻已大大降低了使用者對應用的不信任感，因為「即使我看不懂，還有別人看得懂呀」，它增加了眾人審計源碼的可能性。

有人說錢就是信用的象徵，掙錢首先得賺取信用。當程式碼都是公開的，給人的信任大幅提高，靠開放原始碼掙錢也是自然而然的事了，尤其在做大之後受到更大力度監管時更能輕鬆應對。

3\. 更容易定位問題
-----------

將程式碼公開時，它的使用者發現了 bug，有能力的人可以去翻閱源碼，一探究竟發生了什麼事；而閉源時，只能傻傻地提工單或等客服通知，完全取決於維護者要不要跟進你的問題，讓使用者非常地被動、無能為力，非常令人難受。

如果使用者能直接指出是哪一行程式碼出了問題，而不是僅描述「那時」發生了什麼，即使使用者描述得再完整，但工程師無法復現，那也幾乎是無能為力的。因此若使用者能指出程式碼的具體問題，相比於純描述當時的場景，更能提升修復 bug 的效率，同時讓專案更快地得到完善。

縱然使用者沒有能力定位問題，也不應輕易關閉這個途徑。

4\. 知識共享
--------

我看別人的程式碼撰寫程式，別人也從我的程式碼中獲得啟發。正如李錄在《[文明、現代化、價值投資與中國](https://www.books.com.tw/products/0010874449)》所說的，科技時代的進步是 1 + 1 > 4 的，我的一份想法 + 別人的一份想法，我們兩個互相交流之後，各自再激盪出一份想法，總共誕生了 4 份想法。

在以知識作為生產力原料的時代，事實正是如此。

5\. 抄襲變成了替代
-----------

我好像沒聽說過 Notion 的開源抄襲品，卻聽說過 Notion 的開源替代品。

世人對開源就是這麼地寬容。當我們都知識共享時，別人會覺得你好棒：「這怎麼會是抄襲呢，應該是人家抄襲你吧！」

這現象是不是很有意思呢？

6\. 更加有利於原創者
------------

當一個專案完全由自己主導後，任何你提交的 commit 都公開可查，精確到幾點幾分。彼在前、此在後，一翻兩瞪眼。對於違反你方開源協議者，舉證你方的原創記錄，簡直不能再簡單了。即使不上法庭，把證明截圖丟到社區，並附上連結供大家查證，違反協議者也差不多不用玩了。

所以不是說替代品才要開源，正宗原創更適合開源。

然而最終你會發現，當你越開放的時候，人家越不想抄襲你，因為抄襲者會覺得那是每個人都可以做的事。

而事實上，你會看到的別人站在你的肩膀上做出更有意思的作品，你原本無法滿足或沒有心力去滿足的需求，因為開源，別人幫你實現了！這樣的互助精神和效率提升難道不是一件激勵人心的事嗎？

7\. 沒有洩漏機密的疑慮
-------------

這裡又分成兩個小點:

1.  無負擔地使用第三方雲端服務
    
2.  無負擔地向第三方披露
    

隨著大語言模型 LLM 在大眾的視野裡快速普及，很多問題我們都會使用諸如 ChatGPT 這樣的雲端服務去詢問，隨之而來的疑問是: 這個問題我該不該問? 會不會洩漏商業機密? 前幾天就有[新聞報導](https://www.ithome.com.tw/news/156291)某科技廠涉及向 OpenAI 洩漏內部機密，原因就來自於員工向 ChatGPT 詢問工作上的專業問題。

然而，現在若換作是一個完全開放的開源團隊，似乎就不存在這樣的問題了。「趕緊問!」能解決問題才是最重要的。

此外，一個初創的專案偶爾會有向創投機構爭取投資、向政府單位申請補助的時候，各式各樣的表單和文件你是毫無保留地申報還是深怕洩漏商業機密三思而行呢? 如果選擇了後者「語帶保留地填寫」會不會反而降低了專案的吸引力、增加了評審委員們的認知負擔?

這樣的兩難顯然不會出現在一個信奉開源的團隊裡，"Be open and public!" 是核心精神，與其浪費心力去思考這樣的博弈，不如完全開放，把更多心力注入在「創造」上顯得更為實際。尤其在這個「注意力」稀缺的時代，有機會表達和有機會讓人聽你說，肯定要毫無保留地說，下次再逢此良機不知又是何年何月了!

* * *

以上是我想到的 7 大開源理由，如果你有其他理由歡迎來信告訴我，我們下回見!

📫 [tsuiyenche@outlook.com](mailto:tsuiyenche@outlook.com)

---

*Originally published on [碎片盒](https://paragraph.com/@fragments/why-you-shoud-choose-open-source)*
