① 什麼是開源
開源即開放源代碼。
開放源代碼(Open source code)也稱為源代碼公開,指的是一種軟體發布模式。一般的軟體僅可取得已經過編譯的二進制可執行檔,通常只有軟體的作者或著作權所有者等擁有程序的原始碼。
有些軟體的作者會將原始碼公開,此稱之為「源代碼公開」,但這並不一定符合「開放原代碼」的定義及條件,因為作者可能會設定公開原始碼的條件限制,例如限制可閱讀原始碼的對象、限制衍生品等。
(1)哪些人需要閱讀源碼擴展閱讀:
開放原始碼的定義由Bruce Perens(Debian創始人之一)定義如下:
自由再散布(Free Distribution):允許獲得原始碼的人可自由再將此原始碼散布。
原始碼(Source Code):程序的可執行檔在散布時,必需以隨附完整原始碼或是可讓人方便的事後取得原始碼。
衍生著作(Derived Works):讓人可依此原始碼修改後,在依照同一授權條款的情形下再散布。
原創作者程序原始碼的完整性(Integrity of The Author』s Source Code):意即修改後的版本,需以不同的版本號碼以與原始的程序碼做分別,保障原始的程序碼完整性。
不得對任何人或團體有差別待遇(No Discrimination Against Persons or Groups):開放原始碼軟體不得因性別、團體、國家、族群等設定限制,但若是因為法律規定的情形則為例外(如:美國政府限制高加密軟體的出口)。
對程序在任何領域內的利用不得有差別待遇(No Discrimination Against Fields of Endeavor):意即不得限制商業使用。 散布授權條款(Distribution of License):若軟體再散布,必需以同一條款散布之。
授權條款不得專屬於特定產品(License Must Not Be Specific to a Proct):若多個程序組合成一套軟體,則當某一開放原始碼的程序單獨散布時,也必需要符合開放原始碼的條件。
授權條款不得限制其他軟體(License Must Not Restrict Other Software):當某一開放原始碼軟體與其他非開放原始碼軟體一起散布時(例如放在同一光碟片),不得限制其他軟體的授權條件也要遵照開放原始碼的授權。
授權條款必須技術中立(License Must Be Technology-Neutral):意即授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。
② 2020 の 澤陽
2020 年的澤陽
在2020年,澤陽設定了一系列目標並為之努力,以下是對他這一年經歷的詳細回顧:
每周一篇短文,三周一篇長文:澤陽在年初設定了每周一篇短文,三周一篇長文的寫作計劃,但遺憾的是,這個計劃只維持到了4月份。他發現自己難以找到一個適合的方向長期作文,且短文質量不高,因此最終未能堅持下去。
深入精通某一個方向,在專業上有所成就:澤陽在網路、運行時性能上進行了深挖,雖然尚未達到有所成就的程度,但他的努力和專業探索精神值得肯定。
成為 Node.js Collaborators:這是澤陽在2020年取得的重要成就之一。他重拾了一直以來未能實現的目標,開始深入研究Node.js源碼,並積極為官方提交PR(Pull Request)。Node.js社區對新手非常友好,感謝first commit的貢獻者,並在Code Review過程中保持禮貌。澤陽通過持續貢獻,最終被TSC(Technical Steering Committee)成員提名為Collaborators。這一過程中,他展現了極高的熱情和毅力,每天下班回到寢室就啃源碼,查看感興趣的issues列表並著手修復,睡前和醒來都會關注PR的Review狀態。
健身,維持體重到120左右:澤陽在回到廣州後,通過跑步和清淡飲食,成功地將體重減到了122左右,雖然略高於目標體重,但他的健身成果仍然值得肯定。
聽一場演唱會:由於疫情的影響,澤陽喜歡的民謠歌手沒有開演唱會的計劃,因此他未能完成這一目標。但他參與了陳奕迅的雲演唱會,也算是一種替代性的體驗。
英語水平能夠和社區的人日常交流:澤陽意識到英語在工作和社區交流中的重要性,因此他開始報班學習英語。雖然目前還需要翻譯來確保語義的准確性,但他希望在明年年底之前能夠不用翻譯就能和社區的人進行日常交流。
總結:
2020年對澤陽來說是一個充滿挑戰和收獲的一年。他在Node.js社區取得了顯著的成就,成為了Collaborators,並深入研究了源碼。同時,他也在閱讀、旅行和健身等方面有所收獲。雖然有些目標未能實現,但他的努力和堅持精神值得肯定。展望未來,澤陽計劃在新的一年裡參與到v8貢獻中,並設定了新的目標和計劃。