打造受歡迎的社區(qū) | GitHub開源指南系列之四


Section 1?

建立成功的項(xiàng)目

現(xiàn)在的你,已經(jīng)啟動(dòng)了屬于自己的項(xiàng)目,而且正在傳播它,更重要的是現(xiàn)在已經(jīng)有人將之下載到本地進(jìn)行觀摩。這真是令人振奮!那么你現(xiàn)在要做的就是,怎么能夠讓這些有興趣的人們堅(jiān)持下去,持續(xù)跟進(jìn)項(xiàng)目。


一個(gè)受歡迎的社區(qū)對(duì)于項(xiàng)目的未來至關(guān)重要,如果你的項(xiàng)目是剛剛開始收到他人的首次貢獻(xiàn),那么你需要給貢獻(xiàn)者們一次愉悅的體驗(yàn),以鼓勵(lì)他們進(jìn)一步的繼續(xù)參與。

讓大家感到受歡迎

可以通過被@MikeMcQuaid稱之為貢獻(xiàn)者漏斗的方法思考項(xiàng)目的社區(qū)。

當(dāng)建立了自己的開源社區(qū),你需要考慮如何讓那些處在漏斗上方的人(潛在用戶)轉(zhuǎn)移到漏斗下方(活躍的維護(hù)者)。目標(biāo)是減少貢獻(xiàn)者們?cè)诿總€(gè)階段所遇到的摩擦。當(dāng)人們能夠輕易的取得成績(jī)時(shí),他們就會(huì)樂意去做更多事。

從你的文檔開始:

讓大家很容易上手。?一份友好的 README以及清晰的代碼示例將讓大家很容易的上手。

清楚的解釋如何做貢獻(xiàn),使用你的 CONTRIBUTING 文件以及持續(xù)更新issues。

好的文檔能夠邀請(qǐng)他人參與你們項(xiàng)目的互動(dòng)。最終,一些人會(huì)開一個(gè)issue或者pull request。將這些互動(dòng)視為機(jī)會(huì),將他們轉(zhuǎn)移到漏斗的下方。

當(dāng)一些人選擇了你們的項(xiàng)目,請(qǐng)對(duì)他們表示感謝!?僅僅只是一次消極的經(jīng)歷就足以讓一些人再也不想回來。

及時(shí)回應(yīng)。?如果你們一個(gè)月都沒有回答他們的問題,他們可能早已忘記了你們的項(xiàng)目。

對(duì)你以后接受的所有貢獻(xiàn)者持開放態(tài)度。?很多貢獻(xiàn)者是從一份bug報(bào)告或者小的修復(fù)開始的。這里有很多為項(xiàng)目做貢獻(xiàn)的方式。讓大家選擇他們喜歡的方式。

如果你不贊成一個(gè)貢獻(xiàn),?首先你需要對(duì)他們的想法表示感謝,同時(shí)?解釋為什么它不適合項(xiàng)目,如果有必要的話你可以給出相關(guān)的文檔鏈接。

Mikeal Rogers

為開源做貢獻(xiàn)對(duì)一些人來說很簡(jiǎn)單,但對(duì)另外一些人可能就不是這樣了。有很多人因?yàn)闆]有做正確的事而害怕叫喊,或者只是不適合。(。。。)通過允許貢獻(xiàn)者參與一些對(duì)技術(shù)要求比底的工作(文檔,web content markdown,etc),可以極大的減少你對(duì)這些情況的關(guān)注。

—?@mikeal,?“現(xiàn)代開源項(xiàng)目下如何增長(zhǎng)貢獻(xiàn)者”

多數(shù)開源貢獻(xiàn)者是“臨時(shí)貢獻(xiàn)者”,因?yàn)樗麄冎皇桥紶枀⑴c項(xiàng)目貢獻(xiàn)。一位臨時(shí)貢獻(xiàn)者可能沒有充足的時(shí)間全程跟蹤你的項(xiàng)目,所以你的工作是能讓他們很輕松地參與貢獻(xiàn)。

鼓勵(lì)其他的貢獻(xiàn)者也是對(duì)項(xiàng)目的一種投資。當(dāng)你去授權(quán)大量的粉絲做他們感興趣的工作時(shí),壓力就會(huì)少很多。

記錄一切


Jan Lehnardt

你是否參加過一個(gè)(技術(shù))活動(dòng),你不認(rèn)識(shí)在場(chǎng)的人,但是似乎每個(gè)人站在一個(gè)小組里像老朋友一樣聊天?(。。。)現(xiàn)在想象下你想為一個(gè)開源項(xiàng)目做貢獻(xiàn),但是你不知道為什么或者這個(gè)是如何發(fā)生的。

—?@janl,?“讓開源可持續(xù)發(fā)展”

當(dāng)你開始一個(gè)新項(xiàng)目,你會(huì)覺得保持工作的私有性是正常的。但是開源項(xiàng)目開始于你在公共平臺(tái)記錄自己的工作進(jìn)程。

當(dāng)你把事情記錄下來,會(huì)有更多的人能夠按照預(yù)定的方式參與到每一個(gè)過程中。你可能會(huì)得到意想不到的幫助。

書寫內(nèi)容絕不僅僅只是技術(shù)文檔。任何時(shí)刻,你們有寫一些東西或者私自討論項(xiàng)目的沖動(dòng),請(qǐng)?jiān)儐栕约菏欠衲軐⒅_。

保持項(xiàng)目透明的項(xiàng)目路線:你們期待什么類型的貢獻(xiàn)者,如何審查貢獻(xiàn),或者你們?yōu)槭裁醋瞿承Q定。

如果你注意到有多個(gè)用戶遇到過同樣的問題,那么你應(yīng)該將答案記錄在 README 中。

對(duì)于經(jīng)常遇到的問題,你們可以考慮發(fā)布你們的筆記或者相關(guān)的 issue。在這種情況下得到的反饋常常會(huì)出乎意料。

記錄一切也適用于你自身的工作。如果你正在進(jìn)行大量的更新工作,請(qǐng)將其放入PR,并標(biāo)記為正在進(jìn)行(WIP)。這樣,可以讓其他人感覺參與過早期的工作。

積極回應(yīng)

一旦你推廣項(xiàng)目,人們將會(huì)給你們反饋。他們可能會(huì)問項(xiàng)目是如何工作的,或者參與項(xiàng)目初期需要你的幫助。

當(dāng)有人列出一條issue,提交一個(gè)pull request,或者詢問項(xiàng)目的有關(guān)問題時(shí),你們應(yīng)該盡量回答他們。當(dāng)你們快速地做出回應(yīng)時(shí),人們將感覺到他們參與了對(duì)話,以及他們將會(huì)更熱情地參與。

如果你無法及時(shí)審查請(qǐng)求,請(qǐng)盡早確認(rèn),這樣會(huì)有助于提高參與度。這里是@tdreynoMiddleman上所回應(yīng)的一個(gè)pull request:

一份Mozilla研究發(fā)現(xiàn)?如果貢獻(xiàn)者在48小時(shí)內(nèi)收到代碼審查,他們會(huì)有很大的回頭率,且極有可能會(huì)再次貢獻(xiàn)。

與項(xiàng)目有關(guān)的話題也可能發(fā)生在互聯(lián)網(wǎng)的其它地方,例如Stack Overflow、Twitter、或者 Reddit。你可以在像這樣的一些網(wǎng)站設(shè)置通知,這樣當(dāng)有人提及項(xiàng)目時(shí),可以即時(shí)的收到提醒。

為你們的社區(qū)提供一個(gè)聚會(huì)的場(chǎng)所

有兩個(gè)理由可以解釋為什么要給社區(qū)提供一個(gè)聚會(huì)的場(chǎng)所。

第一個(gè)理由是為了貢獻(xiàn)者。線下聚會(huì)可以幫助人們相互認(rèn)識(shí)。因?yàn)橛兄餐d趣的人會(huì)想要一個(gè)可以聊天的地方。同時(shí)當(dāng)信息是公開的而且是適宜的時(shí)候,任何人可以閱讀過去的檔案以至于能夠快速的追趕以及參與。

第二個(gè)理由是為了社區(qū)本身。如果社區(qū)沒有提供一個(gè)公共的場(chǎng)所來談?wù)擁?xiàng)目,他們可能會(huì)直接與你聯(lián)系。剛開始時(shí),回復(fù)私有來信可能對(duì)你來說很輕松。但是經(jīng)過一段時(shí)間后,尤其是如果項(xiàng)目變得流行的時(shí)候,就會(huì)感到疲于應(yīng)付。不要私下和人們談?wù)撃銈兊捻?xiàng)目,而是直接指明他們?nèi)ブ付ǖ墓睬馈?/p>

公共交流和指明人們開一條 issue 一樣簡(jiǎn)單,而不是直接發(fā)送電子郵件或者在博客上發(fā)表評(píng)論。你也可以為了方便人們談?wù)擁?xiàng)目設(shè)置一個(gè)郵件列表,或者創(chuàng)建一個(gè)Twitter賬號(hào),Slack,IRC頻道。或者嘗試上述的所有方式。

Kubernetes kops?每隔一周抽出辦公時(shí)間幫助社區(qū)成員:

Kops每隔一周都會(huì)留出時(shí)間為社區(qū)提供幫助和指導(dǎo)。Kops維護(hù)者已經(jīng)同意留出時(shí)間專門與新手一起工作,幫助PRs,以及討論新特性。

公開交流需要特別注意的事項(xiàng):

1)有關(guān)安全方面的 issues?

2)敏感的行為準(zhǔn)則。應(yīng)該為大家提供一個(gè)私下報(bào)告這些 issue 的方式。若不想使用自己的個(gè)人郵箱,那么就創(chuàng)建一個(gè)公用的郵箱。


Section 2

社區(qū)成長(zhǎng)

社區(qū)擁有強(qiáng)大的能量。這種能量可能是正面的也可能是負(fù)面的,這一切都取決于你如何駕馭它。隨著項(xiàng)目社區(qū)的成長(zhǎng),要想辦法讓之成為建設(shè)性的力量,而不是具有破壞性的。


不要容忍糟糕的角色

一些流行的項(xiàng)目將不可避免地會(huì)吸引到一些破壞它們的人。這些人可能會(huì)從一些沒必要的爭(zhēng)論開始,對(duì)一些細(xì)枝末節(jié)進(jìn)行糾纏不清,甚或用語(yǔ)言傷及他人。

對(duì)于這類人,必須采取零容忍的政策。一旦猶豫不決,那么這些消極的人會(huì)給社區(qū)的其他人帶來不愉快的感覺。那時(shí)就會(huì)出現(xiàn)劣幣驅(qū)逐良幣的現(xiàn)象。

Karissa McKelvey

事實(shí)上是,擁有一個(gè)支持性社區(qū)才是項(xiàng)目成功的關(guān)鍵。如果沒有來自我的同事,互聯(lián)網(wǎng)上一些友好的陌生人,以及聊天渠道IRC的幫助,我不可能做好這些工作。(。。。)不要退而求其次。不要滿足于混蛋。

—?@karissa,?“如何運(yùn)營(yíng)一個(gè) FOSS 項(xiàng)目”

對(duì)項(xiàng)目的微不足道的問題進(jìn)行定期辯論會(huì)分散別人的注意力,包括你自己,要將精力集中在重要的任務(wù)上。新人如果看見人們將大量精力浪費(fèi)在瑣碎的事情上這樣的情景,他們可能不會(huì)加入到項(xiàng)目中來。

當(dāng)發(fā)現(xiàn)社區(qū)中有消極的行為時(shí),要即時(shí)、公開的指出來。特別說明的是,要用堅(jiān)定的語(yǔ)氣解釋他們的行為為什么是不可接受的。如果這種問題繼續(xù)發(fā)生,你有必要要求他們離開。你的行為準(zhǔn)則是為這些情景準(zhǔn)備的建設(shè)性指南。

知道貢獻(xiàn)者在哪里

隨著項(xiàng)目的成長(zhǎng),好的文檔會(huì)變得愈加重要。臨時(shí)貢獻(xiàn)者或路人是不可能一下子就對(duì)項(xiàng)目非常熟悉,一份好的文檔,能夠很快找到他們需要的。

在 CONTRIBUTING 文件里,需要明確告訴新來的貢獻(xiàn)者該如何開始。而且若是可能為了想要達(dá)到這個(gè)目的,還需要準(zhǔn)備一個(gè)專門的部分。

在issue列表中,缺陷的標(biāo)簽需要做到適合不同類型的貢獻(xiàn)者:例如,“僅供入門者”,?“優(yōu)質(zhì)Bug首秀”, 或者?“文檔”.?這些標(biāo)簽能夠幫助新人快速瀏覽 issues 并快速上手。

最后,撰寫讓人賞心悅目的文檔,進(jìn)一步讓人感到愉悅和舒服。

你不可能做到與項(xiàng)目中的絕大多數(shù)人產(chǎn)生互動(dòng),你們可能沒有收到一些貢獻(xiàn),因?yàn)橛行┤烁械胶ε禄蛘卟恢涝搹暮翁庨_始,有時(shí)候即使是幾個(gè)字也能阻止一些人沮喪地離開你們的項(xiàng)目。

例如,這里是Rubinius如何開始它的貢獻(xiàn)指南

我們想感謝你們使用Rubinius。這個(gè)項(xiàng)目是一個(gè)充滿愛的工作,我們希望所有用戶查找bugs,取得性能上的提升,以及幫助完善文檔。每一個(gè)貢獻(xiàn)都是有意義的,所以感謝你們的參與。話雖如此,但我們還是要求你們遵守一些指南,這樣我們就能夠找到你們的issue。

分享項(xiàng)目的所有權(quán)

Sarah Sharp

社區(qū)的領(lǐng)導(dǎo)者們有著不一樣的意見,而這也是所有健康社區(qū)能夠成長(zhǎng)的原因之所在!終究你會(huì)明白,粗暴魯莽的做法不能得到大家的認(rèn)同,謙虛低調(diào)的做法更容易讓大家接受,才是王道。

—?@sarahsharp,?“是什么成就一個(gè)好的社區(qū)?”

當(dāng)大家覺得自己就是項(xiàng)目的主人時(shí),他們就會(huì)非常樂意為項(xiàng)目做貢獻(xiàn)。但這并不意味著要去改變項(xiàng)目的愿景,又或者接受不想要的貢獻(xiàn)。但是社區(qū)越信任他們,他們就會(huì)越忠實(shí)。

要盡可能地與你的社區(qū)分享所有權(quán),并嘗試各種各樣的方法,這里有一些經(jīng)驗(yàn)和大家分享:

不要親自去修復(fù)簡(jiǎn)單(非關(guān)鍵)的缺陷。?相反,將這些缺陷作為招募新貢獻(xiàn)者的工具,或者指導(dǎo)想要參與貢獻(xiàn)的人。開始時(shí)可能效果不是很理想,但經(jīng)過一段時(shí)間你們會(huì)得到想要的結(jié)果。例如,@michaeljoseph要求一位貢獻(xiàn)者提交一個(gè)PR在一個(gè)Cookiecutter?issue的下面,而不是自己修復(fù)它。

在項(xiàng)目中添加一個(gè)貢獻(xiàn)者或者作者文件?用于記錄每一個(gè)參與貢獻(xiàn)的人。

如果社區(qū)有了一定的規(guī)模,那么?發(fā)送一封信或者發(fā)表一篇博客?感謝貢獻(xiàn)者們。Rust的Rust周報(bào)和Hoodie的Shoutouts就是兩個(gè)非常好的范例。

給每個(gè)貢獻(xiàn)者提交的通道。?@felixge?發(fā)現(xiàn)這樣會(huì)使大家越發(fā)樂意斟酌他們的補(bǔ)丁,他甚至發(fā)現(xiàn),在他沒有工作的一段時(shí)間,項(xiàng)目依然有新的維護(hù)者進(jìn)來。

如果項(xiàng)目是托管在 GitHub 上,那么?將項(xiàng)目從你們的個(gè)人賬號(hào)轉(zhuǎn)移到一個(gè)組織,以及添加至少一個(gè)備份管理員。組織能讓與其他人一起工作在同一個(gè)項(xiàng)目在變得更加容易。

事實(shí)上很多項(xiàng)目只有一個(gè)或者兩個(gè)做大量工作的維護(hù)者。隨著項(xiàng)目以及社區(qū)越來越大,就會(huì)有更多的人參與進(jìn)來。

雖然并不是一直都有人在回答問題,但是你可以去增加一些信息,以讓他人有能夠接觸的機(jī)會(huì),越是盡早開始,越是能夠獲得幫助。

Gregor Martynus

你們最大的興趣是招募喜歡你們項(xiàng)目以及能夠做你們不能做的事的貢獻(xiàn)者。你喜歡編碼,但不喜歡回答 issues ?那么讓社區(qū)中能做這件事的人去做。

—?@gr2m,?“打造受歡迎的社區(qū)”


Section 3
解決沖突

在項(xiàng)目的早期,做決定是件蠻容易的事。幾乎是想做什么就可以做什么。


隨著項(xiàng)目的愈加流行,會(huì)有更多的人對(duì)社區(qū)的決策開始感興趣。即使社區(qū)沒有大量的貢獻(xiàn)者,如果項(xiàng)目擁有很多用戶,就會(huì)發(fā)現(xiàn)大家的重點(diǎn)在決策上或者增加他們的 issues。

在大多數(shù)情況下,如果你們培養(yǎng)了一個(gè)友好,頗受尊重的社區(qū)并公開記錄你的過程,社區(qū)應(yīng)該能夠找到解決方案。但也有時(shí)候會(huì)遇到難以解決麻煩。

建立友好的氛圍

當(dāng)社區(qū)正在討論一個(gè)很難的 issue 時(shí),氣氛會(huì)很激烈。人們可能會(huì)為此變得憤怒或者沮喪,甚至?xí)獾街苯拥娜松砉簟?/p>

作為一名維護(hù)者的工作是不要讓這種情況出現(xiàn)。即使這些你對(duì)話題有很強(qiáng)烈的觀點(diǎn),也要盡量站在一個(gè)主持者或者推動(dòng)者的位置,而不是參與爭(zhēng)吵以及推動(dòng)自己的觀點(diǎn)。如果有人不友好或者壟斷話題,那么立即采取行動(dòng),以保持有禮貌和豐富的討論。

Kenneth Reitz

作為一名維護(hù)者,尊重你們的貢獻(xiàn)者非常重要。他們經(jīng)常處理一些你們描述親切的事情。

—?@kennethreitz,?“保持和善,要么滾蛋”

一些人希望得到指導(dǎo)。撰寫一個(gè)清晰的示例。當(dāng)然仍然可以表達(dá)失望、不高興或者憂慮,但須做到心平氣和。

保持你們的??并不容易,但是展示領(lǐng)導(dǎo)力能促進(jìn)社區(qū)健康的發(fā)展。開源會(huì)感謝你們。

將你們的 README 視為最高法則

README?不僅僅是一組指令。它也是一個(gè)談?wù)撃繕?biāo)、產(chǎn)品愿景和路線的地方。 如果人們過分專注于討論特定功能的優(yōu)點(diǎn),它可能有助于重新審視您的 README,并談?wù)擁?xiàng)目的更高的愿景。關(guān)注 README 也會(huì)使對(duì)話變得個(gè)人化,以進(jìn)行更多的建設(shè)性討論。

專注過程,而不是結(jié)果

一些項(xiàng)目用投票的方式做重要決定。雖然看上去是明智的,投票強(qiáng)調(diào)的是得到一個(gè)“答案”,而不是傾聽以及解決每個(gè)人的想法。

投票會(huì)變成政治,社區(qū)成員在做感興趣的事或者表決一個(gè)明確的方法時(shí)會(huì)感到壓力。不是每個(gè)人都參與了投票,可能在你們的社區(qū)中保持沉默的人占了多數(shù),或者用戶不知道投票這件事正在發(fā)生。

有時(shí)候,投票是必要的手段。盡你們所能強(qiáng)調(diào)“尋求共識(shí)”而不是共識(shí)本身。

在尋求共識(shí)的過程中,社區(qū)成員討論主要問題,直到他們感到他們的意見已經(jīng)得到充分的表達(dá)。當(dāng)僅遺留下一些無關(guān)緊要的問題時(shí),社區(qū)需要向前邁進(jìn)?!皩で蠊沧R(shí)”不能確保社區(qū)能得到一個(gè)完美的答案。而是側(cè)重聆聽和討論。

Lee Dohm

Atom Issues不存在投票系統(tǒng)的部分原因是因?yàn)?Atom 團(tuán)隊(duì)在所有情況下都不會(huì)遵循投票系統(tǒng)。有時(shí)我們必須選擇我們認(rèn)為是對(duì)的事,即使它不流行。(。。。)我能通過社區(qū)的反饋知道我能夠提供什么以及做什么樣的工作。

—?@lee-dohm?on?Atom 決策流程

即使不確定是否采用尋求共識(shí)的方式,作為維護(hù)者,讓大家知道他們正在受到關(guān)注。讓其他人知道,以及承諾解決他們的問題,這在很大程度上減少了敏感情況的發(fā)生。然后,就去堅(jiān)決的執(zhí)行。

不要為了獲得決議而急于做出決定。在做一個(gè)決議之前請(qǐng)確保每個(gè)人已經(jīng)知道以及所有的信息都是公開的。

將對(duì)話的重點(diǎn)聚焦于行動(dòng)

討論很重要,但是富有成效和沒有效果的對(duì)話是有很大區(qū)別的。

鼓勵(lì)討論,只要它正積極地朝著解決問題的方向進(jìn)行著。如果對(duì)話已經(jīng)無法再進(jìn)行下去,只有很少的人在參與或者大家正在討論無關(guān)緊要的問題,這時(shí)候就該結(jié)束對(duì)話了。

允許這些對(duì)話進(jìn)行下去不僅對(duì)解決問題沒有幫助,而且不利于社區(qū)的健康發(fā)展。它釋放了這樣一個(gè)信號(hào),表示允許或甚至鼓勵(lì)這種類型的對(duì)話,它可能阻止人們提高或者解決未來的問題。

當(dāng)你們或者其他人每提出一個(gè)觀點(diǎn)時(shí),請(qǐng)自問:“這如何使我們更接近一個(gè)決議?”

如果對(duì)話開始有解散的征兆,問團(tuán)隊(duì):“我們下一步該做什么?”,然后再去開始下一輪的對(duì)話。

如果一個(gè)對(duì)話沒有清晰的方向,沒有明確的措施可以采取,或者合適的措施已經(jīng)被使用,那么關(guān)掉 issue 并解釋為什么關(guān)掉它。

Karl Fogel

指導(dǎo)一件事朝著正確的方向發(fā)展是一門藝術(shù)。它對(duì)阻止人們浪費(fèi)時(shí)間或者要求他們發(fā)表有建設(shè)性的看法沒有作用。(。。。)反而,你們必須為接下來的進(jìn)展給出條件:給大家一個(gè)路線,跟隨一個(gè)可以得到你們想要的結(jié)果的途徑,這樣就不像是些無用的口頭行為。

—?@kfogel,?打造開源軟件

去明智的做一些事情

上下文非常的重要??紤]誰(shuí)參與討論,以及他們?nèi)绾未砩鐓^(qū)的其他人。

社區(qū)中的每個(gè)人是否都對(duì)這個(gè)問題感到不滿,甚至參與其中?或者僅僅只是一部分人感到困惑?不要支取關(guān)心活躍者的聲音,也要去關(guān)注那些社區(qū)中經(jīng)常保持沉默的人。

如果某個(gè)問題并不代表社區(qū)廣泛的需求,而 只是少數(shù)人的擔(dān)心。如果這是一個(gè)反復(fù)出現(xiàn)的issue,沒有一個(gè)清晰的解決方案,那么就將指向他們以前討論的話題。

找出社區(qū)中的決策者

通過一個(gè)態(tài)度端正和目標(biāo)清晰的對(duì)話,很多困難都是可以解決的。即使在富有成效的對(duì)話中,對(duì)于如何進(jìn)行的意見也可能存在差異。在這些情況下,確定一個(gè)人或一組人,可以作為決策者。

決策者可以是項(xiàng)目的主要維護(hù)者,或者是大家投票選出的一個(gè)小團(tuán)體。理想情況下,在使用 GOVERNANCE 文件之前,其實(shí)已經(jīng)確定了決策者應(yīng)該負(fù)責(zé)的事項(xiàng)了。

使用決策者應(yīng)該是你們最后才去采取的手段。有分歧的 issues 是讓社區(qū)成長(zhǎng)和學(xué)習(xí)的絕佳機(jī)會(huì)。請(qǐng)利用這些機(jī)會(huì)并精誠(chéng)合作,盡量找出問題的解決方案。


Section 4

社區(qū)是開源的??

健康,蓬勃的社區(qū)每周都會(huì)有開源人士付出他們大量辛勤的勞動(dòng)。許多貢獻(xiàn)者都會(huì)說明可以工作或無法工作的原因,無論如何這些都是開源的名義進(jìn)行。通過學(xué)習(xí)如何建設(shè)性地利用這股力量,你會(huì)幫助他人有一個(gè)難忘的開源體驗(yàn)。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容