讓每一個來自社區的聲音被聽見、有迴響:EMQ X 開源項目正式採用 RFC 流程

爲了使我們的開源項目以更具創新、更加積極的狀態高效迭代快速推進,EMQ X 團隊宣佈,開始正式採用 RFC 流程,以收集來自社區的意見,持續完善產品功能。

RFC(Request For Comments,請求意見稿)是一種爲了保證重大特性更新和架構更改能夠順利推進的一種流程機制。

我們將管理該流程的存儲庫命名爲 EIP,全稱爲:EMQ X Improvement Proposals。

項目地址:https://github.com/emqx/eip

爲什麼需要 EMQ X EIP

EMQ X 開源項目發展至今,功能愈發強大,項目架構也愈發複雜,一些新功能的設計和實現可能會對系統架構和現有功能或多或少產生影響。因此,在規劃和實現新功能之前,都需要團隊認真討論和評估。同時,隨着用戶和社區羣體的增長壯大,我們也收到了來自越來越多用戶針對 EMQ X 所提出的充滿創新的優秀功能設計建議,以及把這些想法融入到 EMQ X 未來版本中的意願。

因此,EIP 項目應運而生。我們將爲大家提供一個平臺,用於記錄想法、設計或實現新功能的詳細信息。當有一些想法或者更新會涉及到系統架構、功能、API 的變更等——如上文所述,都需要在開發工作開始前經過一個討論與審覈流程,此時 EIP 將是一個更合適的途徑來保證 EMQ X 團隊與社區用戶達成共識。

EIP 具有以下三個特性:

  • 開放創新協作。EMQ X 是一個開源項目,我們遵循開源項目原則——不僅保持源碼的開放,對於功能設計與討論也將開放出來,使 EMQ X 與社區用戶更加緊密的聯繫起來。人人都可參與,人人都可瞭解。通過更多參與者幫助、指導和完善 EMQ X 的設計,讓更多具有創造力的想法得以順利落地。
  • 保證項目穩定性。EIP 能讓我們儘可能降低每次迭代對老用戶的影響,所納入的想法建議和設計都將經過認真的審覈與討論,最大程度保證每一個功能的輸入都可靠且穩定,爲大家提供最佳的使用體驗。
  • 追蹤設計。通過 EIP,每個功能的想法和設計都將包含一個 PR 和討論記錄。當我們對一項功能特性進行了新增、取消或修改,我們希望用戶可以通過每一個 EIP 文檔和背後的 PR 看到我們對此所作的思考與妥協。這對於 EMQ X 長期的發展和想要深入瞭解 EMQ X 的開發者來說都非常重要。

此外,小部分的特性功能更新、Bug 修復的代碼變更仍然可以遵循普通的 GitHub 流程,通過提交 Issue,發起 Pull Request 和 Code Review 來完成。

如何使用 EMQ X EIP

所有的 EIP 均爲 Markdown(* .md)格式文件。

新的 EIP 首先應通過創建新的 Pull Request,經過討論批准後進入 active 目錄。 設計並完成該功能後,會將其放入 implemented 的目錄中。

提交 EIP 之前,請閱讀 0000-proposal-template,這是一個演示 EIP 格式的模板,大致結構如下:

# An Example of EMQ X Improvement Proposal

## Change log

* 2020-10-21: @emqxplus Initial draft
* 2020-02-05: @terry-xiaoyu Restructure
* 2021-02-21: @zmstone Add 'Declined Alternatives' section

用於記錄修改信息,包含修改的日期,作者,和修改內容

## Abstract

對要解決的技術問題的簡短描述(約200字)。

## Motivation

此處應清楚地解釋爲什麼此 EIP 建議的功能是必要的。沒有足夠動機的 EIP 提交可能會被完全拒絕。

## Design

此處應詳細描述功能的設計。 如果對體系結構進行了更改,則可能需要一些圖表。

## Configuration Changes

此處應列出對配置文件的所有更改(如果有的話)。

## Backwards Compatibility

此處應說明如何使此功能向後兼容。如果它與以前的 emqx 版本不兼容,請解釋和建議如何解決不兼容問題。

## Document Changes

如果文檔有任何更改,請在此處簡要說明。

## Testing Suggestions

最終實現必須包括單元測試或通用測試代碼。如果需要手動進行更多測試,例如集成測試或基準測試,請在此處列出。

## Declined Alternatives

這裏討論有哪些替代方案,但被認爲比當前的方案更差一些。這是爲了幫助人們瞭解我們如何達到當前狀態,防止再次進行討論。

您也可以參考在 implemented 中的 EIP 文檔。通過已實現的實例參考來編輯您需要提供的想法和建議的文檔。

開始你的第一個 EMQ X EIP

至此,我們歡迎各位讀者、用戶和開發者們積極參與到 EIP 項目中來,爲 EMQ X 提供更多新穎和強大的功能建議與想法。

結合 EMQ X EIP,讓每一個聲音被聽到、有迴響,使 EMQ X 成爲所有社區用戶爲之自豪的開源項目,一個 IoT 時代偉大的開源項目將由我們共同創造。

版權聲明: 本文爲 EMQ 原創,轉載請註明出處。

原文鏈接:https://www.emqx.cn/blog/emqx-rfc

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章