自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Go 是社區(qū)驅(qū)動嗎?哪種模式更好?

開發(fā) 前端
整體看來,似乎沒有完美的答案。因?yàn)閹缀跛兴^的成功的頂級項(xiàng)目,背后都一定有各大公司的影子,只是或多或少罷了。Go 這一門編程語言的模式,可能也是一種比較另類的成長方式。現(xiàn)在被抨擊的點(diǎn),有些也是直接太狠直接推翻社區(qū)導(dǎo)致的。

本文繼續(xù)基于對兩篇文章的前因后果的補(bǔ)充,基于《Is Golang truly community driven and does it really matter?》,煎魚對內(nèi)容有所調(diào)整和補(bǔ)充。

快速背景

幾年前在 Hacker News 社區(qū),針對 Go 的一個問題引發(fā)了激烈的辯論:“Go 是 Google 的語言,而不是社區(qū)的”。

這個討論最初是由在多倫多大學(xué)計(jì)算機(jī)科學(xué)系工作的 Chris Siebenmann(下稱:他)發(fā)起的。

圖片圖片

他在博客文章中寫道:“Go 有社區(qū)貢獻(xiàn),但它不是一個社區(qū)項(xiàng)目。它是 Google 的項(xiàng)目?!?/p>

為什么 Go 不是社區(qū)的語言

Chris 明確指出,社區(qū)的聲音對于 Go 的發(fā)展并不重要,我們必須接受這一點(diǎn)。他認(rèn)為:Google 是 Go 社區(qū)貢獻(xiàn)的守門人;只有 Google 獨(dú)自決定什么是被接受的,什么不被接受。

如果開發(fā)者想要一些重要的特性被接受進(jìn) Go,與其與社區(qū)建立共識,遠(yuǎn)不如說服 Go 核心團(tuán)隊(duì)重要。

他引用了一個例子:Google 的 Go 核心團(tuán)隊(duì)成員之一(指的是現(xiàn)在的 Go 核心團(tuán)隊(duì)負(fù)責(zé)人 rsc)放棄了社區(qū)一直在努力開發(fā)的 Go 依賴管理系統(tǒng)(指的是 dep 等),并引入了一個新的、相對激進(jìn)的不同模型,也就是現(xiàn)在的 Go Module。

注:這里講的是好多年前,Go 還沒有官方的模塊管理。社區(qū)自發(fā)的有 godep 等各種工具。一開始談好要基于某一個社區(qū)工具繼續(xù)開發(fā)轉(zhuǎn)成官方的。結(jié)果后面 rsc 等覺得不好用,最終自研了官方的模塊管理,直接一紙之下取代了。

期望和對比管理方式

Chris 期望的是:Go 核心團(tuán)隊(duì)要關(guān)心社區(qū),并希望他們參與建設(shè),但要限制在一定的程度的參與度。他希望 Go 核心團(tuán)隊(duì)能坦率地誠實(shí)地說明情況,而不是假裝并誤導(dǎo)人們。

他進(jìn)一步補(bǔ)充說:“只有當(dāng) Go 核心團(tuán)隊(duì)成員開始離開 Google,并嘗試?yán)^續(xù)積極參與決定 Go 的方向時,我們才能確定 Go 是一個社區(qū)驅(qū)動的語言?!?/p>

他將 Go 與 C++ 進(jìn)行了比較,稱后者是一個真正的社區(qū)驅(qū)動語言。

圖片圖片

他說 C++ 有多個主要實(shí)現(xiàn),這些都是真正的社區(qū)項(xiàng)目,C++ 的方向由一個開放標(biāo)準(zhǔn)委員會決定,成員分布相對分散。

圖片圖片

社區(qū)驅(qū)動還是企業(yè)所有的區(qū)別

開發(fā)人員中一直流傳著這樣一種觀點(diǎn):一些開源編程項(xiàng)目只是主要由一家公司驅(qū)動的商業(yè)項(xiàng)目。

我們看一下業(yè)內(nèi)的頂級開源項(xiàng)目,它們中的大多數(shù)都有某種企業(yè)合作、支持,甚至直接的資金援助。

例如:

  • 蘋果的 Swift;
  • 甲骨文的 Java、MySQL;
  • 微軟的 Typescript;
  • 谷歌的 Kotlin、Go、Android、MongoDB、Elasticsearch;

僅舉幾例。這就引出了一個問題:企業(yè)對開源項(xiàng)目的所有權(quán)到底意味著什么?

仁慈的獨(dú)裁有兩種結(jié)果。

如果某個項(xiàng)目基于社區(qū)建議進(jìn)行修改,而修改又是個壞主意,企業(yè)團(tuán)隊(duì)可以進(jìn)行干預(yù),阻止修改。

但另一方面,反過來看,即使核心團(tuán)隊(duì)的少數(shù)成員不同意,也可以阻止社區(qū)的好想法得到實(shí)施。

社區(qū)觀點(diǎn)

Chris 的帖子在 Hacker News 上引起了開發(fā)者的廣泛關(guān)注,他們既支持也反對提出的觀點(diǎn)。

以下是摘取的有一定觀點(diǎn)的評論:

  • 網(wǎng)友 A:擁有一個社區(qū)并與它合作很重要,但尤其是對于編程語言來說,必須有一個清晰的概念,哪些特性應(yīng)該實(shí)現(xiàn),哪些不應(yīng)該——僅僅為了使社區(qū)感覺良好而接受社區(qū)貢獻(xiàn)將是錯誤的方式。
  • 網(wǎng)友 B:許多人喜歡 Go 是因?yàn)樗且环N有觀點(diǎn)的語言。我不確定一個社區(qū)運(yùn)行的語言會創(chuàng)造出像那樣的東西,因?yàn)橐庖娞唷TS多人聲稱代表社區(qū),但不是那些不分享他們觀點(diǎn)的社區(qū)。沒有明確的領(lǐng)導(dǎo)者,我擔(dān)心技術(shù)方向和品味將變成政治,這似乎更不確定和風(fēng)險。

總結(jié)

整體看來,似乎沒有完美的答案。因?yàn)閹缀跛兴^的成功的頂級項(xiàng)目,背后都一定有各大公司的影子,只是或多或少罷了。

Go 這一門編程語言的模式,可能也是一種比較另類的成長方式?,F(xiàn)在被抨擊的點(diǎn),有些也是直接太狠直接推翻社區(qū)導(dǎo)致的。

另外結(jié)合 Go 的發(fā)展歷程來看,如果 Go 不是誕生于 Google 團(tuán)隊(duì)內(nèi)部,可能發(fā)展和當(dāng)紅的也不會那么順利,與云原生的結(jié)合可能也會沒有那么深。

責(zé)任編輯:武曉燕 來源: 腦子進(jìn)煎魚了
相關(guān)推薦

2013-12-16 15:07:59

NativeHybrid開發(fā)移動

2024-04-15 10:07:59

2019-01-25 18:00:12

編程語言PythonJava

2021-08-19 09:05:36

頂部導(dǎo)航左側(cè)導(dǎo)航瀏覽

2020-08-13 07:00:00

服務(wù)器硬件技術(shù)

2022-02-15 23:55:35

磁盤F2F備份

2015-08-05 16:21:23

開源社區(qū)

2023-05-15 08:01:16

Go語言

2020-07-20 12:43:31

Go變量命名

2023-05-04 08:47:31

命令模式抽象接口

2023-04-10 09:20:13

設(shè)計(jì)模式訪客模式

2012-07-20 09:37:00

Oracle LinuCentOS

2013-11-08 14:57:37

2017-01-11 09:11:14

大數(shù)據(jù)商業(yè)模式運(yùn)營

2023-05-15 08:51:46

解釋器模式定義

2021-02-25 22:17:19

開發(fā)技術(shù)編程

2021-12-22 10:18:00

建木九州云DevOps

2025-02-11 09:01:57

2024-08-22 08:50:51

2025-01-08 08:47:56

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號