Up to date
This page is up to date for Godot 4.3.
If you still find outdated information, please open an issue.
參與貢獻程式碼
學習、使用、修改與重新發行對 Godot 原始碼的修改,是 Godot 的 MIT 授權條款提供給你的基礎權利,因此 Godot 也是 自由與開放原始碼軟體。
也因如此,人人都能修改 Godot 的原始碼 ,並以修正檔 (一種描述如何直接套用修改的文字檔) 或所謂的「Pull Request (PR)」這種我們所用的現代工作流程來將這些修改送回上流專案,如,可以提議將一個或多個 Git Commit (修正檔) 合併回主要開發分支上。
向上游專案貢獻程式碼修改有兩大好處:
所撰寫的程式碼會經過其他開發者的審閱與改進,接著會進一步直接在上游專案中被維護,因此接下來每次更新到新版本後就不需要再重新套用這些修改。另一方面,由於這個改動不能只對你自己的專案有利而已,還必須要讓一般的使用者都能從中獲益,因此這也是一種責任。所以,如果這些改動只適用於你的專案的話,則這些情況就應該只將改動保持在自己的專案裡就好了。
The whole community will benefit from your work, and other contributors will behave the same way, contributing code that will be beneficial to you. At the time of this writing, over 2,000 developers have contributed code changes to the engine!
為了確保大家能順利地協作以及程式碼整體的品質,Godot 開發人員必須遵守一些程式碼貢獻的規則,如一些關於 C++ 的程式碼樣式 (縮排、分號…等) 與 Git 及 PR 工作流程。
在 GitHub 上搜尋有 junior jobs (或十月時的 Hacktoberfest) 標籤的 Issue 是個不錯的開始。
也參考
有關 PR 工作流程的技術性細節,將在 Pull Request 工作流程 中詳細說明。
有關程式碼樣式的方針與用來強制套用這些樣式的 clang-format 工具,將於 程式碼樣式方針 內說明。
所有的拉動請求在被接受之前必須經過一個審查過程。根據修改的範圍,負責引擎修改部分的維護者可能需要一些時間來提供他們的審查。我們重視所有的貢獻者,並希望他們在此期間保持耐心,因為在像Godot這樣的開源專案中,預計會有更多的貢獻者來驗證它們。
為了確保你的時間和精力不被浪費,建議在實施該想法並將其作為PR進行審查之前,先對其進行審查。為此,Godot有一個`提案系統 <https://github.com/godotengine/godot-proposals>`_ 。我們鼓勵使用該系統來計畫修改並與社區討論。實施細節也可以在 Godot貢獻者聊天 中與其他貢獻者討論。
備註
只有在進行增強或新功能的工作時,才需要提出建議,錯誤報告對於修復問題已經足夠了。
測試與回報問題
另一種參與貢獻 Godot 的好方法就是測試開發版本或是開發分支,並回報問題。回報在穩定版上發現的問題也不錯,這樣這些問題就能在開發分支與未來的維護版本中被修復。
測試開發版本
若要協助測試,則有幾種方法:
自行從原始碼編譯,請參考各個平台的 編譯 頁中的說明。
測試官方公告的預覽版本 (通常會在部落格或其他社群平台公告),如 Alpha 版、Beta 版與 RC (Release Candidate, 候選) 版。
測試開發分支的「可信」非官方版本;請向社群成員詢問可靠的提供者。雖然,我們建議儘量使用官方發行的版本或自行編譯,以確認二進位文件是否可靠。
就像剛才說的,如果能幫忙留意未來可能持續存在的 Bug 也很有幫助,特別某些只有少數開發者協助測試的功能。
在 GitHub 上提出 Issue
Godot 使用 GitHub 的 Issue Tracker 來處理 Bug 回報與改進建議。要開啟新 Issue 會需要持有 GitHub 帳號,並點擊「New Issue」按鈕。
參與貢獻說明文件
在 Godot 中,所謂的「說明文件」有兩種不同的東西:
類別參考文件。 類別參考文件是 Godot 暴露給 GDScript 與其他腳本語言的完整 Godot API。該參考文件可以離線瀏覽,也可以直接在 Godot 的程式編輯器內瀏覽,或是在 Godot API 上線上瀏覽。如果想參與貢獻類別參考文件,則必須編輯 Godot Git 儲存庫中的 doc/base/classes.xml ,並建立 Pull Request。詳情請參考 參與貢獻類別參照文件 。
教學與引擎說明文件及其翻譯。 也就是你目前正在閱讀的部分。這些教學與說明文件有 HTML 版、PDF 版與 EPUB 版。教學與說明文件的內容是從以 reStructured Text (rst) 格式的純文字檔所產生而來的,而你也可以通過在 godot-docs GitHub 版本庫中開啟 Pull Request 來參與貢獻。詳情請參考 doc_documentation_guidelines 。
參與貢獻翻譯
為了要讓包含母語不是英語在內的所有人都能使用 Godot,我們的社群也協助將 Godot 編輯器與其說明文件翻譯為其他許多語言。
詳情請參考 本地化編輯器與說明文件 。