開發必備工具

工欲善其事,必先利其器。開源社區提供了大量易用的開發協作工具。掌握好這些工具,對於高效的開發來說十分重要。

Linux Foundation ID

超級賬本項目受到 Linux 基金會的支持,採用 Linux Foundation ID(LF ID)作為社區唯一的 ID。

個人申請 ID 是完全免費的。可以到 https://identity.linuxfoundation.org/ 進行註冊。

用戶使用該 ID 即可訪問到包括 Jira、Gerrit、RocketChat 等社區的開發工具。

Jira - 任務和進度管理

Jira 是 Atlassian 公司開發的一套任務管理和事項跟蹤的追蹤平臺,提供 Web 操作界面,使用十分方面。

社區採用 jira.hyperledger.org 作為所有項目開發計劃和任務追蹤的入口,使用 LF ID 即可登錄。

登錄之後,可以通過最上面的 Project 菜單來查看某個項目相關的事項,還可以通過 Create 按鈕來快速創建事項(常見的包括 task、bug、improvement 等)。

用戶打開事項後可以通過 assign 按鈕分配給自己來領取該事項。

一般情況下,事項分為 TODO(待處理)、In Process(處理中)、In Review(補丁已提交、待審查)、Done(事項已完成)等多個狀態,由事項所有者來進行維護。

Gerrit - 代碼倉庫和 Review 管理

Gerrit 是一個負責代碼協同的開源項目,很多企業和團隊都使用它負責代碼倉庫管理和代碼的審閱工作。Gerrit 使用十分方便,提供了基於 Web 的操作界面。

社區的 Fabric、Cello 等項目都採用 gerrit.hyperledger.org 作為官方的代碼倉庫,並實時同步代碼到 github.com/hyperledger 作為只讀的鏡像。

用戶使用自己的 LF ID 登錄之後,可以查看所有項目信息,也可以查看自己提交的補丁等信息。每個補丁的頁面上會自動追蹤修改歷史,審閱人可以通過頁面進行審閱操作,贊同提交則可以加分,發現問題則註明問題並進行減分。

RocketChat - 在線溝通

除了郵件列表外,社區也為開發者們提供了在線溝通的渠道—— RocketChat。

RocketChat 是一款功能十分強大的在線溝通軟件,支持多媒體消息、附件、提醒、搜索等功能,雖然是開源軟件,但在體驗上可以跟商業軟件 Slack 媲美。支持包括網頁、桌面端、移動端等多種客戶端。

社區採用 chat.hyperledger.org 作為服務器。最簡單的,用戶直接使用自己的 LF ID 登錄該網站,即可訪問。之後可以自行添加感興趣項目的頻道。

用戶也可以下載 RocketChat 客戶端,添加 chat.hyperledger.org 作為服務器即可訪問社區內的頻道,跟廣大開發者進行在線交流。

一般地,每個項目都有一個同名的頻道作為主頻道,例如 #Fabric#Cello 等。同時各個工作組也往往有自己的頻道,例如大中華區技術工作組的頻道為 #twg-china

郵件列表 - 常見渠道

最後,各個項目和工作組都建立了專門的郵件列表,作為常見的交流渠道。當發現問題不知道往哪裡報告時,可以先發到郵件列表進行詢問,一般都能獲得及時的回答。

例如大中華區技術工作組的頻道為 twg-china@lists.hyperledger.org

用戶在 https://lists.hyperledger.org/g/main/subgroups 看到社區已有的郵件列表並選擇加入。

提問的智慧

為什麼我在社區提出的問題會過了很長時間也無人迴應?

開源社區是鬆散自組織形式,大部分開發者都是利用業餘時間進行開發和參與社區工作。因此,在社區提出問題時就必須要注意問題的質量和提問的方式。碰到上述情況,首先要先從自身找原因。

如果能做到下面幾點,會讓你所提出的問題得到更多的關注。

  • 正確的渠道:這點十分重要。不同項目和領域有各自的渠道,一定要在相關的渠道進行提問而不要問跟列表主題不相關的話題,例如每個項目相關問題應該發送到對應的郵件列表。

  • 問題的新穎性:在提問之前,應該利用包括搜索引擎、技術文檔、郵件列表等常見方式進行查詢,確保提出的問題是新穎的,有價值的,而不是已經被回答過多遍的常識性問題。

  • 適當的上下文:不少提問者的問題中只包括一條很簡單的錯誤信息,這樣會讓社區的開發者有心幫忙也無力回答。良好的上下文包括完整的環境信息、所使用的軟件版本、所進行操作的詳細步驟、問題相關的日誌、以及自己對問題的思考等。這些都可以幫助他人快速重現問題並幫忙回答。

  • 注意禮儀:雖然技術社區裡大家溝通方式會更為直接一些,但懂得禮儀毫無疑問是會受到歡迎的。要牢記,別人的幫助並非是義務的,要對任何來自他人的幫助心存感恩。

Last updated