在 erlang-questions 和其他地方,總是有許多關於 Erlang 執行期系統和語言的增強、變更和擴展的討論串。
為了記錄各種提案和所做的決策,我們採用了受 Python 增強流程啟發的 Erlang 增強流程。 EEP 0 包含所有提交的 EEP 的列表。
由於 Erlang 是一種在世界上運行數百萬行關鍵業務程式碼的程式語言,因此開發過程必須施加一定的嚴謹性,並對接受過早的變更提供阻力。 使用者有 Erlang 程式碼、以 C 語言編寫的連結驅動程式,以及嵌入 Erlang 的應用程式,因此盡量減少升級到新版本 Erlang 的不便非常重要。 語言變更也可能會使新用戶更難學習該語言。
為了確保仔細考慮變更,重大的變更必須在 EEP(Erlang 擴充提案的縮寫)中描述。 每個 EEP 除其他外,應說明為什麼需要變更、記錄其應如何運作,並概述其應如何實作。 EEP 作者應聽取社群的回饋,並在必要時編輯 EEP。
在提交 EEP 之前,請閱讀 EEP 1 - EEP 的目的和指南,其中詳細說明了 EEP 的目的、生命週期和規定的格式。 EEP 編輯器將拒絕不符合指南的 EEP。 在重新發明之前,也請檢查現有的 EEP 列表。
有一個 EEP 的郵件列表:eeps (at) erlang (dot) org,請參閱 郵件列表。 任何有興趣的人都可以訂閱該列表。 EEP 編輯器以及 EEP 儲存庫擁有者都會訂閱該列表。 新的 EEP 應在此處發送,以及 EEP 更新。 請注意,與所有 erlang.org 郵件列表一樣,只有訂閱者才允許向列表發佈內容。
EEP 原始文字位於 Github GIT 版本控制 儲存庫 中。 任何擁有 Github 帳號的人都可以 fork 該儲存庫,新增或變更任何 EEP,將新版本告知 eeps 郵件列表,原始儲存庫擁有者將(如果批准)提取 commit。