很多人都有疑問,到底是什麼因素決定了一個人能成爲以太坊核心開發者(Ethereum core developer),或者說,這個詞到底意味着什麼。作爲以太坊社區的開發者聯絡人,我深入參與到了以太坊 1.0 協議開發的日常運營中,也一直在運營以太坊核心開發者視頻會議(也就是 “AllCoreDevs call”);自 2016 年下半年以來,每兩週一次會議,安排在週五。那麼,下文並不是一個權威意見,只代表我個人看法。本文中的任何內容都不代表我的僱主以太坊基金會的意見。

歷史

以太坊 “core team”(核心團隊)的稱呼可以回溯到 2014 年 7 月的 Reddit 論壇上的一個 “有問必答” 帖子 中,是由早期的以太坊團隊回答的。在該帖子中,以太坊團隊在自己的名字中添加了一個詞,於是成爲 “Ethereum core team”。到 2015 年底,以太坊聯合創始人 Gavin Wood 創建了一個名爲 “AllCoreDevs” 的 Gitter 頻道,以太坊的核心開發者可以在其中溝通協議的開發事項。第一場以太坊核心開發者視頻會議也是在這個頻道中組織的。我也在我的舊文 “ 以太坊協議開發智力與網絡升級協作 ” 中展開了 “AllCoreDevs” 視頻會議的歷史。

定義

以太坊核心開發者就是那些正在(currently)爲以太坊底層協議開發提供重要貢獻的人。重大貢獻的一個例子就是給以太坊軟件(在比 dApp 層更底層的層面,比如客戶端代碼)提交多個代碼。(核心開發者的)另一個例子就是在爲以太坊 2.0 撰寫協議規範(protocol specification)的人。我在這裏使用 “currently” 一詞是因爲,“核心開發者” 並不是一個授予某人的頭銜,也絕不是永久性的。如果你不再提供貢獻了,那你就只是一個 “前以太坊核心開發者”。舉例而言,雖然以太坊聯合創始人 Gavin Wood 曾經爲早期的以太坊作出重大貢獻,他現在已經不再被認爲是以太坊核心開發者了,只是前核心開發者。

這裏還有一個我在幾年前寫的定義,我放在了 一個核心開發者會議記錄的代碼庫裏 ,用於定義哪些人能參加會議:

底層協議開發者、客戶端開發以及核心的以太坊研究員受邀參與該會議。一般來說,每一種以太坊客戶端都有代表參加,還有 Layer-1 研究/擴展方案團隊的重要成員。有時候,雖非核心開發者、但對某個領域有專業經驗的人員也會受邀討論特定議題。如果你覺得你出席會議會對大家有所幫助,請通過 [email protected] 聯繫 Hudson Jameson。

因爲我承擔了組織以太坊核心開發者會議的責任,我一直在負責挑選參加會議的人選。請求列席會議的絕大多數人都能受到邀請。決定誰來參加會議基本上完全沒有爭議,因爲會議實際上非常無聊,如果你對以太坊 1.0 協議改進沒有興趣,你根本就不想來參加。 會議的議程是公開的會議是實時直播的,也會保存在 YouTube 上會議記錄也有人撰寫和公開 ,所以非核心開發者實際上不需要參加會議,可以在 YouTube 上看,或者事後閱讀會議記錄。

那研究員怎麼歸類呢?

現在有很多 “技術生態會議”,以太坊核心開發者會議、Eth2.0 會議、無狀態以太坊會議。人們有時覺得以太坊核心開發者只包括那些參加了以太坊核心開發者會議的人,但這其實是不準確的。以太坊 2.0 的研究員和其他正在做重要研究(比如 beam sync 和無狀態以太坊)的也是核心開發者,在我看來。我覺得以太坊 2.0 研究員被叫做 “Eth2 研究員” 在先、“核心開發者” 在後,只是因爲他們所參與的會議名字和跟他們相關的事情。畢竟,通過會議而非 GitHub 庫的代碼提交來區分核心開發者和 Eth2.0 研究員,要更容易。

誰來決定某個人是不是核心開發者?

沒有人能做這樣的決定。沒有誰被指定去決定誰有資格當以太坊的核心開發者。它是由貢獻和聲譽來主導的突變過程。下面這句話,來自 Jameson Lopp 的精彩博文 “ 誰控制着 Bitcon Core? ”,說明了如何定義比特幣核心維護者:

誰算是比特幣核心維護者?在一段時間內做出高質量貢獻、從而具備可觀社會認可度的貢獻者。

這個定義也是用於以太坊核心開發者。

有沒有人能自稱是核心開發者?

沒有什麼硬性手段能阻止一個人自稱是以太坊的核心開發者。本來也是,任何人都能爲以太坊協議開發作貢獻(雖然他們的貢獻不一定會被接受)。在以太坊社區中,我們還沒有遇到 “冒名核心開發者” 引發的大問題。如果此類問題抬頭,我猜怎麼點出來還是取決於社區。而且就算那樣,最終來說那也不過是一個帽子,我們不應該太過認真。

我曾經遇到一些人要求剝奪某人的核心開發者頭銜的情況(因爲該人在社區中的意見和行爲)。因爲這個頭銜本身不是由某個人指定的,那整個社區自然完全有權宣佈某人不是核心開發者。但這既不會把某個人對以太坊協議的貢獻一筆勾銷,也不意味着 TA 不再能參加核心開發者會議。這只不過意味着整個社區覺得某人當不起這個頭銜。就我所知,迄今爲止還沒有出現過這種情況。

現在的核心 開發者/開發團隊 都有誰?

爲以太坊協議開發的團隊和個人太多了,數不勝數。此外,還有些人雖然在開發協議,但並不希望被掛上這個頭銜,也不想在什麼博客中露面。以太坊客戶端開發的美麗之處在於,以太坊 1.0 和 2.0 都有多個用不同語言開發的客戶端,爲網絡提供了冗餘性。客戶端們致力於實現一個技術規範,而不是讓某個客戶端本身變成規範,讓大家都來跟隨它。因爲我深度參與了以太坊 1.0 客戶端開發的生態,我這裏會列出幾個活躍的以太坊 1.0 客戶端。這個列表沒有包括其他重要的團隊,比如 測試團隊 和 ConsenSys Quilt 研究開發團隊。

結論

標籤和頭銜當然重要,但也不該過分看重。定義一組人爲核心開發者,在你對以太坊協議層開發有疑問、想要問人的時候,是很有幫助的。但不用太在意誰是或不是以太坊核心開發者,因爲最終來說,這是根據聲譽和貢獻而授予的榮譽,你不能把那些貢獻都一筆抹消。

如果你對以太坊協議開發有興趣,想作出自己的貢獻,不要猶豫,來聯繫我!我會高高興興把你引薦到合適的人那裏去。

(完)

原文鏈接: https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/

作者:Hudson Jameson

翻譯:阿劍

相關文章