學(xué)習(xí)資料:開源軟件指南(Open Source Guides,GitHub:XNoteW/opensource.guide)
為什么會有人為開源做貢獻(xiàn)?
為開源貢獻(xiàn)力量,得到的回報(bào)就是能夠?qū)W習(xí)到很多、受教很多、且能夠鍛煉任何你能夠想到的經(jīng)驗(yàn)。
鞏固現(xiàn)有技能
無論是撰寫代碼、設(shè)計(jì)用戶界面、圖形設(shè)計(jì)、撰寫文檔、亦或是組織活動,假如你有實(shí)踐的愿望,你總能在開源項(xiàng)目中找到自己的位置。
遇見那些和你”臭味相投”的人
開源項(xiàng)目一般都會有一個和諧、熱心的社區(qū),以讓大家團(tuán)結(jié)一致。實(shí)際上,開源界經(jīng)常發(fā)生這樣的情形,很多人的深厚友誼都是通過共同參與開源所建立起來的,至于具體的方式,可能是在一次技術(shù)研討會上相談甚歡,也可能是一直在聊天室中探討問題。
尋找導(dǎo)師,并且嘗試幫助他人
和他人共同在一個共享的項(xiàng)目下工作,這意味著需要向他人解釋清楚自己是如何做的,同理,也需要向他人求助,詢問別人是如何做的。相互學(xué)習(xí)和彼此教學(xué)對于每位參與者都能滿載而歸。
在公眾間建立你的聲譽(yù)(職業(yè)口碑)
根據(jù)開源的定義,你在開源下所有的工作都是公開的,這也就意味著開源項(xiàng)目是一個很好展示你實(shí)力的地方。
學(xué)習(xí)領(lǐng)導(dǎo)和管理的藝術(shù)
開源為實(shí)踐領(lǐng)導(dǎo)力和管理技能提供了很好的機(jī)會,比如解決沖突、組織團(tuán)隊(duì)、工作的優(yōu)先級排列。
鼓勵作出改變,哪怕改變是很微小的
在開源的世界里,作出貢獻(xiàn)的不一定非得是花了很長時間擁有大量經(jīng)驗(yàn)的人。你是否遇到過瀏覽某些網(wǎng)站發(fā)現(xiàn)有拼寫錯誤,希望有人能修改它?其實(shí),在開源的項(xiàng)目中,你只需要做就可以了。沒有那么多的顧忌,開源讓人們在很舒服的狀態(tài)做事,而這才是這個世界應(yīng)有的體驗(yàn)。
開源貢獻(xiàn)意味著什么?
如果你是一名開源界的新手,可能會對貢獻(xiàn)的流程心生畏懼。比如:該如何找到正確的項(xiàng)目?不懂編碼又想?yún)⑴c怎么辦?萬一做錯事情了怎么辦?
你不需要具備編碼的能力
對于為開源做貢獻(xiàn)常見的誤解就是:為開源做貢獻(xiàn)必須得提交代碼。事實(shí)上,代碼固然重要,但是項(xiàng)目中不需編碼的重要部分經(jīng)常被忽視。你若做了這部分,對于項(xiàng)目來說可是莫大的貢獻(xiàn),而這根本就不需要什么撰寫代碼!
即使你是一位開發(fā)者,非代碼的貢獻(xiàn)對于項(xiàng)目來說也是舉足輕重的,尤其是對于社區(qū)的其他成員來說。用心維系這些關(guān)系能夠讓你有到項(xiàng)目的其它部分的工作機(jī)會。
是否熱衷于規(guī)劃事件?
- 為項(xiàng)目組織研討會或線下分享,一如 @fzamperin 為 NodeSchool 所做的那樣
- 為項(xiàng)目組織大型會議(假如它有的話)
- 幫助社區(qū)成員尋找合適的技術(shù)會議,且?guī)椭袑?shí)力的成員提交演講的擬稿
是否偏向于設(shè)計(jì)?
- 重新布置布局以提高項(xiàng)目的可用性
- 進(jìn)行用戶研究以重新組織和完善項(xiàng)目的導(dǎo)航或菜單
- 整理一個風(fēng)格指南,以幫助項(xiàng)目有一致的視覺設(shè)計(jì)
- 創(chuàng)建 t 恤的藝術(shù)或一個新的標(biāo)志,就像 hapi.js 的貢獻(xiàn)者那樣
你是否熱衷于寫作?
- 撰寫和改進(jìn)項(xiàng)目的文檔
- 能夠以實(shí)例來展示項(xiàng)目該如何使用的
- 為項(xiàng)目撰寫新聞稿,或者到郵件列表高調(diào)布道
- 為項(xiàng)目撰寫教程,一如 pypa 的貢獻(xiàn)者所做的
- 翻譯項(xiàng)目的文檔為本土語言
你喜歡組織活動嗎?
- 鏈接重復(fù)的問題,并建議新的問題標(biāo)簽,使事物井井有條
- 通過開放的問題,并建議關(guān)閉舊的,就像 @nzakas 為 eslint 做的
- 把最近開放的問題闡述清晰,以推動討論
享受編碼的樂趣?
- 找到一個開放的問題并解決它,就像 @dianjin 為 Leaflet 做的
- 想一想你是否可以幫忙寫一個新的功能
- 自動化項(xiàng)目設(shè)置
- 改進(jìn)工具和測試
熱衷于幫助他人?
- 回答關(guān)于項(xiàng)目的問題,例如在 Stack Overflow(像 Postgres 的這個示例)或者 reddit 上
- 為人們解答公開的問題
- 幫助緩和討論板或?qū)υ捛?/li>
在編碼方面是否喜歡幫助他人?
- 為他人的提交審核代碼
- 為如何利用項(xiàng)目撰寫教程
- 為其他貢獻(xiàn)者做導(dǎo)師,正如 @ereichert 為 @bronzdoc 所做的那樣,哦,是 Rust 項(xiàng)目
其實(shí)不必一定是軟件項(xiàng)目!
盡管人們一提起”開源”二字,默認(rèn)就是指開源軟件,其實(shí)不盡然,開源可以是任何事情的修飾,而不僅僅是指軟件而言的。比如圖書、食譜、列表、以及任何可以開源的項(xiàng)目類。
舉例來說:
- @sindresorhus 創(chuàng)建了 “驚奇” 列表
- @h5bp 維護(hù)了針對前端開發(fā)者的面試題
- @stuartlynn 和 @nicole-a-tesla 制作了收集關(guān)于海雀的有趣的事實(shí)
盡管你是一名軟件開發(fā)者,也可以去撰寫一些文檔去幫助新的入門者。其實(shí)項(xiàng)目中那些看起來令人生畏的項(xiàng)目并不是寫代碼,做開發(fā)者總得挑戰(zhàn)自己,其實(shí)在做得過程中可以增強(qiáng)信心和獲得全新的體驗(yàn)。
分析感興趣的開源項(xiàng)目
每一個開源社區(qū)都是不一樣的。
在某一個開源項(xiàng)目扎根多年,這意味著你只是對這一個開源項(xiàng)目無比的熟悉。若是切換到不同的項(xiàng)目,可能會發(fā)現(xiàn)完全是另外一回事,所謂的使用詞匯、習(xí)慣用語、溝通方式都發(fā)生了變化。
然而,很多的開源項(xiàng)目還是遵循相似的組織結(jié)構(gòu)的。理解不同的社區(qū)角色和全部的流程,可以很好的幫助你快速的切入新的項(xiàng)目。
一個典型的開源項(xiàng)目均會有如下類型的人:
- 作者: 項(xiàng)目的創(chuàng)始人或創(chuàng)始組織
- 歸屬者: 代碼倉庫或組織的管理員(不一定和作者是同一個人)
- 維護(hù)者: 貢獻(xiàn)者,負(fù)責(zé)項(xiàng)目的未來走向和組織的管理(他們通常也是項(xiàng)目的作者或歸屬者。)
- 貢獻(xiàn)者: 只要是為項(xiàng)目做出了貢獻(xiàn),就算。
- 社區(qū)成員: 那些使用項(xiàng)目的人們。他們或許是積極的討論者,又或者是為項(xiàng)目的方向提出意見的人。
一個較大的項(xiàng)目,可能下面還會細(xì)分子社區(qū),或者是針對不同的任務(wù)分成不同的小組,比如工具小組、分流、社區(qū)事務(wù)、以及活動組織等。徑直到項(xiàng)目到 web 站點(diǎn),找到”團(tuán)隊(duì)”頁面,或者是查看治理文檔,從而獲得類似到信息。
靠譜的開源項(xiàng)目,一般都會有文檔的,這些文檔文件通常會在代碼倉庫的頂級目錄列出。
- LICENSE: 根據(jù)開源軟件的定義,每一個開源項(xiàng)目必須是有開源許可協(xié)議的. 可以這么認(rèn)為:假如說某個項(xiàng)目源碼開放,但是沒有任何的許可協(xié)議,那么它就不能叫做開源。
- README: README 是一個介紹性的說明文件,對初次光臨社區(qū)的人們表示歡迎,它通常會解釋項(xiàng)目有何用處,為何發(fā)起,以及如何快速入門等。
- CONTRIBUTING: READMEs 幫助人們來認(rèn)識項(xiàng)目,CONTRIBUTING 這個文件則是幫助對項(xiàng)目如何做貢獻(xiàn)。它解釋了目前項(xiàng)目需要什么樣類型對貢獻(xiàn)者,社區(qū)的流程是什么樣的。并非所有的項(xiàng)目都會有這個文件,它某種程度上也是展示項(xiàng)目對于貢獻(xiàn)者的友好程度。
- CODE_OF_CONDUCT: 顧名思義,即是一些參與社區(qū)時的一些禮儀、說話方式、行為等,幫助形成一種友好的氛圍,不是所有的項(xiàng)目都會撰寫行為準(zhǔn)則文件,它某種程度上也是展示項(xiàng)目對于貢獻(xiàn)者的友好程度。
- 其它文檔: 有些項(xiàng)目也許還有其它文檔,例如教程、導(dǎo)游,或者是治理規(guī)則,這在大型項(xiàng)目中常見。
此外,開源項(xiàng)目還會利用如下一些工具來進(jìn)行組織討論,閱讀這些歸檔對于理解社區(qū)的想法、是如何工作的有非常大的作用。
- 問題追蹤:(Issue tracker) 這里是人們討論項(xiàng)目相關(guān)問題的地方。
- Pull requests: 審核代碼、以及相關(guān)的問題討論。
- 論壇或郵件列表: 一些項(xiàng)目會實(shí)用會話式的主題(例如 “How do I…“ 或 “What do you think about…“ 來替代 Bug 報(bào)告或特性請求)。然而有一些項(xiàng)目關(guān)于討論全部實(shí)用問題追蹤。
- 即時在線聊天: 有一些項(xiàng)目會實(shí)用聊天頻道(諸如 Slack 或 IRC),從而能夠隨意的談話、協(xié)作和快速交流
找一個合適的項(xiàng)目做貢獻(xiàn)
你也可以利用如下列出的資源來找到合適的新項(xiàng)目:
- GitHub 探索
- Open Source Friday
- First Timers Only
- CodeTriage
- 24 Pull Requests
- Up For Grabs
- 像忍者一樣貢獻(xiàn)
在你貢獻(xiàn)之前需要一份檢查列表
當(dāng)你找到了你打算貢獻(xiàn)的項(xiàng)目時,在進(jìn)一步行動之前,作一個快速的掃描工作,以確保項(xiàng)目是否接受貢獻(xiàn)的。否則,你煞費(fèi)苦心的工作可能沒有任何的回報(bào)。
這是一個簡易的檢查表,用來評估一個項(xiàng)目是否適合新的貢獻(xiàn)者。
符合開源的定義
- 有許可協(xié)議嗎?通常情況下,會在根目錄有一個叫做
LICENSE的文件。
項(xiàng)目被接收的提交活躍度
在主干上確認(rèn)提交的活躍度。在 GitHub 上托管的開源項(xiàng)目,你可以在倉庫主頁上看到這些信息。
最后一次提交是在什么時候?
項(xiàng)目目前有多少貢獻(xiàn)者?
人們提交的頻繁嗎? (在 GitHub,可以在頂欄里點(diǎn)擊"commits"來展現(xiàn)。)
接下來,就是看項(xiàng)目的 issue 數(shù)量。
目前有多少個還處于開放狀態(tài)的 issue?
項(xiàng)目的維護(hù)者對于處于開放狀態(tài)的 issue 響應(yīng)是否迅速?
是否有討論很活躍的 issue?
issue 均是近期產(chǎn)生的嗎?
有沒有關(guān)閉的issue? (在 GitHub, 點(diǎn)擊 "closed" 標(biāo)簽就可以看到所有已經(jīng)關(guān)閉的 issue。)
同樣再來看看 PR 的情形。
現(xiàn)下有多少處于開放狀態(tài)的 PR?
當(dāng)提交了 PR 后,維護(hù)者響應(yīng)是否迅速?
是否有活躍討論的 PR?
均是近期的 RP 嗎?
最近有多少 PR 合并? (在 GitHub, 點(diǎn)擊 RP 頁面的 "closed" 的標(biāo)簽頁來查看已經(jīng)關(guān)閉的標(biāo)簽頁。)
項(xiàng)目的受歡迎程度
一個項(xiàng)目的友好程度和受歡迎意味著更能吸引新的貢獻(xiàn)者。
在 issue 的問題中,維護(hù)者的回答是否非常有幫助?
人們在 issue 的討論中、在線聊天室、論壇是否很友好?
PR 是否被 review?
維護(hù)者是否對做貢獻(xiàn)的人們道聲"謝謝"?
如何提交貢獻(xiàn)
你已經(jīng)找到了你喜愛的項(xiàng)目,也已準(zhǔn)備好貢獻(xiàn)了,迫不及待、躍躍欲試了。好吧!以下就是帶領(lǐng)你如何以正確的姿勢作貢獻(xiàn)。
有效溝通
無論你處于什么樣的目的:僅僅是一次性的貢獻(xiàn),亦或是永久性的加入社區(qū),都的和他人進(jìn)行溝通和交往,這是你要在開源圈發(fā)展必須修煉的技能。
[作為一名新手,] 我很快的就意識到,我若是要關(guān)閉一條 issue 時,我不得不問更多的問題。我瀏覽了代碼庫,一旦我覺得有什么問題的時候,我就得需要更多的指點(diǎn),瞧! 在我得到所有的所需要的信息后,我就可以解決這個問題!
— @shubheksha, 一名菜鳥進(jìn)入開源世界的坎坷之旅
在你開啟一個 issue 或 PR 之前,或者是在聊天室問問題之前,請牢記下面所列出的幾點(diǎn)建議,會讓你的工作更加的高效。
給出上下文 以便于讓其他人能夠快速的理解。比方說你運(yùn)行程序時遇到一個錯誤,要解釋你是如何做的,并描述如何才能再現(xiàn)錯誤現(xiàn)象。又比方說你是提交一個新的想法,要解釋你為什么這么想,對于項(xiàng)目有用處嗎(不僅僅是只有你?。?/p>
?? “當(dāng)我做 Y 的時候 X 不能工作”
?? “X 出問題! 請修復(fù)它?!?/p>
在進(jìn)一步行動前,做好準(zhǔn)備工作。 不知道沒關(guān)系,但是要展現(xiàn)你嘗試過、努力過。在尋求幫助之前,請確認(rèn)閱讀了項(xiàng)目的 README、文檔、問題(開放的和關(guān)閉的)、郵件列表,并搜索了網(wǎng)絡(luò)。當(dāng)你表現(xiàn)出很強(qiáng)烈的求知欲的時候,人們是非常欣賞這點(diǎn)的,會很樂意的幫助你。
?? “我不確定 X 是如何實(shí)現(xiàn)的,我查閱了相關(guān)的幫助文檔,然而毫無所獲。”
?? “我該怎么做 X ?”
保持請求內(nèi)容短小而直接。 正如發(fā)送一份郵件,每一次的貢獻(xiàn),無論是多么的簡單,都是需要他人去查閱的。很多項(xiàng)目都是請求的人多,提供幫助的人少。相信我,保持簡潔,你能得到他人幫助的機(jī)會會大大的增加。
?? “我很樂意寫 API 的教程?!?br> ?? ” 有一天我駕駛汽車行駛在高速公路上,在某個加油站加油的時候,突發(fā)奇想,我們應(yīng)該這么做,不過在我進(jìn)一步解釋之前,我先和大家展示一下。。?!?/p>
讓所有的溝通都是在公開場合下進(jìn)行。 哪怕是很不起眼的小事,也不要去給維護(hù)者發(fā)私信,除非是你要分享一些敏感信息(諸如安全問題或嚴(yán)重的過失)。你若能夠保持談話是公開的,很多人可以你們交換的意見中學(xué)習(xí)和受益。
?? (評論) “@維護(hù)者 你好!我們該如何處理這個 PR?”
?? (郵件) “你好,非常抱歉給發(fā)信,但是我實(shí)在很希望你能看一下我提交的 PR。”
大膽的提問(但是要謹(jǐn)慎?。?/strong>。 每個人參與社區(qū),開始的時候都是新手,哪怕是非常有經(jīng)驗(yàn)的貢獻(xiàn)者也一樣,在剛進(jìn)入一個新的項(xiàng)目的時候,也是新手。出于同樣的原因,甚至長期維護(hù)人員并不總是熟悉一個項(xiàng)目的每一部分。給他們同樣的耐心,你也會得到同樣的回報(bào)。
?? “感謝查看了這個錯誤,我按照您的建議做了,這是輸出結(jié)果。”
?? “你為什么不修復(fù)我的問題?這難道不是你的項(xiàng)目嗎?”
尊重社區(qū)的決定。 你的想法可能會和社區(qū)的優(yōu)先級、愿景等有差異,他們可能對于你的想法提供了反饋和最后的決定的理由,這時你應(yīng)該去積極的討論,并尋求妥協(xié)的辦法,維護(hù)者必須慎重的考慮你的想法。但是如果你實(shí)在是不能同意社區(qū)的做法,你可以堅(jiān)持自己!保持自己的分支,或者另起爐灶。
?? “你不能支持我的用例,我蠻失望,但是你的解釋僅僅是對一小部分用戶起作用,我理解是為什么。感謝你的耐心傾聽。”
?? “你為什么不支持我的用例?這是不可接受的!”
最重要的是,保持優(yōu)雅 開源社區(qū)有來自世界各地的協(xié)作者,所以跨語言、文化、地理位置和時區(qū)的情況下會丟失上下文語境。另外,書面交流使得傳達(dá)語氣或情緒變得更加困難。對話過程中善意的理解對方的意圖。禮貌地反駁他人的想法,詢問更多的上下文語境,或進(jìn)一步澄清你的立場都是好事。我們要讓互聯(lián)網(wǎng)變得更加美好。
收集上下文
在正式開始之前,做一些快速的檢查項(xiàng),以確保你的想法是沒有被討論過的。遍歷項(xiàng)目的 README、問題(開放的和關(guān)閉的都算)、郵件列表、Stack Overflow。毋需去花好幾個小時去全部折騰一遍,但是使用幾個關(guān)鍵的詞匯來搜索一下是必要的。
如果你沒有找到和你想法一樣的內(nèi)容,你就可以繼續(xù)了。如果項(xiàng)目是在 GitHub 上的話,你可以通過開啟一個 issue 或 PR:
- Issues 開啟一次對話或討論
- Pull requests 請求接受自己的解決方法
- 少量的溝通, 諸如澄清或how-to的問題,嘗試到 Stack Overflow、IRC、Slack 或其它聊天頻道。
在你創(chuàng)建 issue 和 PR 之前,請檢查項(xiàng)目的貢獻(xiàn)者文檔(文件名通常叫做 CONTRIBUTING,或者就直接包含在README中),找一些你需要的較具體的東西,例如,他們會要求你遵循某個模版,或者是要求你使用某個測試。
如果你做的是一個非常實(shí)際的貢獻(xiàn),在正式開啟之前,先創(chuàng)建一個 issue。監(jiān)視項(xiàng)目是很有幫助的(在 GitHub,點(diǎn)擊 “Watch”,所有的對話都會通知到你),要讓社區(qū)的成員們知道你要做的工作,免得你做了之后,再讓他們知道,他們不同意,就浪費(fèi)了。
創(chuàng)建 issue
你應(yīng)該在遇到下列情況下,去創(chuàng)建一個 issue:
- 報(bào)告你自己無法解決的錯誤
- 討論一個高級主題或想法(例如. 社區(qū)、遠(yuǎn)景、政策等)
- 期望實(shí)現(xiàn)某新的特性,或者其它項(xiàng)目的想法
在 issue 的溝通中幾點(diǎn)實(shí)用的技巧:
- 如果你剛好看到一個開放的 issue,恰是你打算解決的, 添加評論,告訴他人你將負(fù)責(zé)這個。這樣的話,可以避免他人重復(fù)勞動。
- 如果說某個 issue 已經(jīng)開放很久了, 這可能是已經(jīng)有人正在解決中,又或者是早已經(jīng)解決過了,所以也請?zhí)砑釉u論,在打算開啟工作之前,最好是確認(rèn)一下。
- 如果你創(chuàng)建了一個 issue,但是沒多久自己解決了, 也要添加評論,讓其他人知道,然后關(guān)閉該 issue。記錄本身就是為社區(qū)的貢獻(xiàn)。
創(chuàng)建 pull request
在下面的情形時,請你務(wù)必使用PR:
- 提交補(bǔ)丁 (例如,糾正拼寫錯誤、損壞的鏈接、或者是其它較明顯的錯誤)
- 開始一項(xiàng)別人請求的任務(wù),或者是過去在 issue 中早就討論過的
一個 PR 并不代表著工作已經(jīng)完成。它通常是盡早的開啟一個 PR,是為了其他人可以觀看或者給作者反饋意見。只需要在子標(biāo)題標(biāo)記為”WIP”(正在進(jìn)行中)。作者可以在后面添加很多評論。
如果說項(xiàng)目是托管在 GitHub 上的,以下是我們總結(jié)出的提交 RP 的建議:
- Fork 代碼倉庫 并克隆到本地,在本地的倉庫配置”上游”為遠(yuǎn)端倉庫。這樣你可以在提交你的 PR 時保持和”上游”同步,會減少很多解決沖突的時間。(更多關(guān)于同步的說明,請參考這里.)
- 創(chuàng)建一個分支 用于自己編輯。
- 參考任何相關(guān)的issue 或者在你的 RP 中支持文檔(比如. “Closes #37.”)
- 包含之前和之后的快照 如果你的改動是包含了不同的 HTML/CSS。在你的 PR 中拖拉相應(yīng)的圖片。
- 測試你的改動! 若測試用例存在的話,跑一遍,以覆蓋你的更改,若沒有的話,則創(chuàng)建相應(yīng)的用例。無論測試是否存在,一定要確保你的改動不會破壞掉現(xiàn)有的項(xiàng)目。
- 和項(xiàng)目現(xiàn)有的風(fēng)格保持一致 盡你最大的努力,這也就是意味著在使用縮進(jìn)、分號、以及注釋很可能和你自己的風(fēng)格大相徑庭,但是為了節(jié)省維護(hù)者的精力,以及未來他人更好的理解和維護(hù),還請你容忍一下。
如果這是你第一次提交 PR。可以瀏覽 PR 制造的文檔,這是 @kentcdodds 專門為初次創(chuàng)建 PR 的人寫的公開的資料。
你提交貢獻(xiàn)之后發(fā)生了什么
很不錯,你做到了!恭賀你成為開源貢獻(xiàn)者。我們希望這是一個良好的開端。
在你提交了貢獻(xiàn)之后,下面幾種情形中的某種是可能發(fā)生的:
?? 沒有人響應(yīng)你。
希望你確認(rèn)在開始工作之前檢查過了項(xiàng)目的活躍度,不過即使檢查過了,也不保證一個活躍的項(xiàng)目,沒有人理會你的貢獻(xiàn)也是很正常的。
如果過去了一周,依舊沒有人響應(yīng),請心平氣和的在后面跟帖,詢求他人幫助你審核下。如果你熟悉某個人可以審核你的貢獻(xiàn),你可以使用@+名字,直接提醒他一下。
千萬不要 私下里去聯(lián)系他人;一定要記住,開源項(xiàng)目所有的溝通都應(yīng)該是公開的。
如果你做了所有該做的事情,還是沒有人理你,那就是真的沒有人對你的貢獻(xiàn)做出響應(yīng)。這可能感覺上不太好受,但是千萬不要灰心。每個人都會遇到這樣的情況。其實(shí)有太多種原因沒有人響應(yīng)你的提交了,包括很多個人情形都是不在你控制范圍的。再接再厲,換一種方法去提交,或者換一個項(xiàng)目。這年頭,很多社區(qū)成員都在積極的參與和響應(yīng)他人,都在搶奪優(yōu)秀的人才,若沒有人搭理你,你換地方是沒有任何不對的地方的。
?? 有人要求你對自己的提交做出變更。
被要求對你的提交進(jìn)行更改是很常見的,無論是對你的實(shí)現(xiàn)上的反饋,還是你代碼改動上的反饋。
當(dāng)有人提出變更時,請表現(xiàn)出大度的地方,要及時響應(yīng)。他們花時間審核了你的提交,要尊重他們。開啟了 PR,然后一走了之,是一種惡習(xí)。如果你不知道如何修改,請花時間深入研究問題的所在,如果還是沒有想到好的辦法,那么是該向他人求助的時候了。
如果你因?yàn)闆]有時間而無法繼續(xù)在此 issue 繼續(xù)工作(舉例來說,如果對話已經(jīng)過去了一個月了,沒有任何的回復(fù)和進(jìn)度,環(huán)境肯定變得不一樣了),那么請向維護(hù)者告知你無法在及時的響應(yīng)了,肯定有人非常樂意接替你的工作的。
?? 你的貢獻(xiàn)沒有獲得通過。
你的提交最后可能沒有被接受。真心希望你沒有在此作出過多的努力。如果你不確定為什么沒有被接收的話,這正是一個很好的詢問維護(hù)者反饋和澄清的機(jī)會。最終,無論如何,你都要對他們的決定表示尊重。不要去做過多無謂的爭論或者是充滿敵意的謾罵。如果你堅(jiān)持自己,你可以隨意的 fork 項(xiàng)目,按照自己的思路發(fā)展出分支來。
?? 你的貢獻(xiàn)被接收。
太棒了!你已經(jīng)成功的做到了,為開源做貢獻(xiàn)也不過如此!