即使你沒(méi)有很好的時(shí)間來(lái)開(kāi)源你的工作。你也可以開(kāi)源一個(gè)想法,正在進(jìn)行中的工作,或是關(guān)閉了多年的源碼。
一般來(lái)說(shuō),如果你樂(lè)意于他人對(duì)你工作的查看和反饋,你就應(yīng)該開(kāi)源你的項(xiàng)目。
無(wú)論您決定開(kāi)展項(xiàng)目的哪個(gè)階段,每個(gè)項(xiàng)目都應(yīng)包括以下文檔:
作為維護(hù)者,這些組件將幫助你交流你的期望,管理貢獻(xiàn)并保護(hù)每個(gè)人的合法權(quán)益(也包括您自己的)。他們能夠大大增加你積極體驗(yàn)的機(jī)會(huì)。
如果您的項(xiàng)目在 GitHub 上,則將這些文件放在您的根目錄中,并使用推薦的文件名將有助于 GitHub 識(shí)別并自動(dòng)將其顯示給讀者。
開(kāi)源許可證保證其他人可以使用,復(fù)制,修改和貢獻(xiàn)給您的項(xiàng)目,而不會(huì)產(chǎn)生不良后果。 它也可以保護(hù)您免受繁瑣的法律影響。啟動(dòng)開(kāi)源項(xiàng)目時(shí),請(qǐng)務(wù)必包含許可證。
法律工作是非常無(wú)趣的。但好消息是,您可以將現(xiàn)有許可證復(fù)制并粘貼到存儲(chǔ)庫(kù)中。只需要花這么一點(diǎn)時(shí)間,就能保護(hù)你的辛苦工作。
MIT , Apache 2.0 , 和 GPLv3 都是非常流行的開(kāi)源許可證, 但你可以選擇其他選項(xiàng) .
當(dāng)你在GitHub上創(chuàng)建新項(xiàng)目時(shí),你可以選擇許可證。包括開(kāi)源許可證將使你的GitHub項(xiàng)目成為開(kāi)源。
如果您在管理開(kāi)放源碼項(xiàng)目的法律方面有其他問(wèn)題或疑慮,我們已經(jīng)在這里 介紹了。
自述文件不僅僅是用于說(shuō)明如何使用你的項(xiàng)目。他們還可以解釋你的項(xiàng)目為什么重要,以及它可以為你的用戶做什么。
在您的自述文件中,嘗試回答以下問(wèn)題:
您可以使用自己的 README 回答其他問(wèn)題,例如處理貢獻(xiàn),項(xiàng)目的目標(biāo)以及許可證和歸屬信息。 如果您不想接受他人的貢獻(xiàn),或者您的項(xiàng)目尚未準(zhǔn)備好作為產(chǎn)品提供使用,請(qǐng)將這些信息寫下來(lái)。
![]()
更好的文檔意味著更多的用戶,更少的求助和更多的貢獻(xiàn)者,等等。要記住你的讀者不是你自己。來(lái)到項(xiàng)目中的每個(gè)人可能有著截然不同的經(jīng)歷。
— @tracymakes , “這樣寫給他人看(視頻)”
有時(shí),人們會(huì)因?yàn)橛X(jué)得項(xiàng)目未完成而不愿意撰寫 README,或者他們不希望做出貢獻(xiàn)。這些都是寫一個(gè) README 的很好的理由。
想要獲得更多靈感,請(qǐng)嘗試使用 @18F 的 “讓 README 可讀” 或者 @PurpleBooth 的 README 模板 來(lái)撰寫一個(gè)完整的 README。
當(dāng)你在根目錄中包含一個(gè) README 文件時(shí),GitHub 會(huì)自動(dòng)將其顯示在存儲(chǔ)庫(kù)的主頁(yè)上。
貢獻(xiàn)文件 (CONTRIBUTING file) 告訴你的受眾如何參與你的項(xiàng)目. 例如,你可以包括一下信息:
除了技術(shù)細(xì)節(jié), 貢獻(xiàn)文件也是一個(gè)供你傳達(dá)對(duì)貢獻(xiàn)期待的機(jī)會(huì), 例如:
使用熱情友好的語(yǔ)氣并提供具體的貢獻(xiàn)建議(例如編寫文檔或者搭建網(wǎng)站)可以大大提高新人的參與度。
例如,Active Admin 以這樣的方式開(kāi)始它的貢獻(xiàn)指南 :
首先, 非常感謝你考慮為 Active Admin 貢獻(xiàn)幫助。正是你這樣的人使 Active Admin 成為一個(gè)很棒的工具。
在你項(xiàng)目開(kāi)始的初期,你的貢獻(xiàn)文件可以很簡(jiǎn)單。你應(yīng)該經(jīng)常解釋如何提交錯(cuò)誤和文件問(wèn)題,以及關(guān)于如何作出貢獻(xiàn)的技術(shù)問(wèn)題(例如測(cè)試)。
隨著時(shí)間的推移,你可以將其他常見(jiàn)問(wèn)題添加到貢獻(xiàn)文件中去。寫下這些信息意味著問(wèn)你相同問(wèn)題的人會(huì)越來(lái)越少。
想要獲得更多有關(guān)編寫貢獻(xiàn)文件的方式,請(qǐng)查閱 @nayafia 的 貢獻(xiàn)指南模板 或者 @mozilla 的 “如何構(gòu)建 CONTRIBUTION.md” 。
在你的 README 中鏈接你的 CONTRIBUTING,這樣更多人就能看到他。如果你在你的項(xiàng)目中放入了 CONTRIBUTING 文件 ,當(dāng)一個(gè)貢獻(xiàn)者創(chuàng)建 issue 或者開(kāi)啟一個(gè) pull request 時(shí),GitHub 會(huì)自動(dòng)鏈接你的文件。
我們都有過(guò)這樣的關(guān)于重復(fù)勞動(dòng)的經(jīng)驗(yàn),無(wú)論是維護(hù)者試著解釋為什么某些事物必須通過(guò)某種明確的方式執(zhí)行,或者是用戶…提出一個(gè)簡(jiǎn)單的問(wèn)題。行為規(guī)范成為一個(gè)便利的參考和可鏈接的文檔標(biāo)明你的團(tuán)隊(duì)會(huì)認(rèn)真對(duì)待具有建設(shè)性的討論。
最后,行為準(zhǔn)則有助于為項(xiàng)目參與者的行為設(shè)定基本規(guī)則。這在你為社區(qū)或者項(xiàng)目推出一個(gè)開(kāi)源項(xiàng)目的時(shí)候尤為有價(jià)值。一份行為幫助你促進(jìn)健康,有建設(shè)性的社區(qū)行為,這也會(huì)減輕你作為維護(hù)者的壓力。
更多信息,請(qǐng)參見(jiàn) 行為規(guī)范指導(dǎo) 。
除了傳達(dá)你期待參與者如何行動(dòng),行為規(guī)范也傾向于描述這些期待針對(duì)誰(shuí),適用于何時(shí),以及對(duì)于違規(guī)行為的處理方法。
就像開(kāi)源許可證一樣,有現(xiàn)成的行為規(guī)范,所以你不必自己編寫。貢獻(xiàn)者公約 是一個(gè)行之有效的行為規(guī)范,已經(jīng)被用在超過(guò)4000個(gè)開(kāi)源項(xiàng)目 ,包括 Kubernetes,Rails,以及 Swift。無(wú)論你使用哪一種,你都應(yīng)該準(zhǔn)備好在必要時(shí)執(zhí)行行為規(guī)范。
將文本直接粘貼到項(xiàng)目存儲(chǔ)庫(kù)中的 CODE_OF_CONDUCT 文件中。將文件保存在項(xiàng)目的根目錄中,以便輕松找到,并從 README 中鏈接到它。
更多建議: