亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

如何做一個真正牛X 的開源項目

系統(tǒng) 2313 0

近年來,越來越多的開發(fā)者選擇將自己的產(chǎn)品以開源形式發(fā)布,有時的結果是——你滿懷誠意地開源,卻無人問津。盡管你的產(chǎn)品做得相當好,但是僅把產(chǎn)品的源代碼公布出來,這還不算開源,因為其他用戶可能無從下手。沒有用戶,久而久之,你的滿腔熱情就會熄滅。?

那么如何才能讓開源項目為更多人所知,成為一個真正牛X的開源項目呢?除了項目自身優(yōu)秀外,你還需要注意以下事項。?

一、有一個真正有用的README?

即使你為你的開源項目制作了一個很好的網(wǎng)站,但是一些潛在用戶很可能會首先通過閱讀README文件來了解這個項目。因此,你要確保在README中提供盡可能全面的信息:?

1.? 依賴、安裝信息?

盡可能寫清楚依賴、安裝信息,最好能夠讓用戶通過復制粘貼相關代碼來添加依賴。比如這樣。?

2. 項目成熟度狀態(tài)?

不至于讓用戶在生產(chǎn)環(huán)境中用了幾個月后才發(fā)現(xiàn)你的項目才處于Alpha階段。?

3.? 詳細說明項目支持的語言、運行環(huán)境和工具的版本?

不至于讓用戶花費大量的時間去摸索你的項目的兼容性。?

4.? 明確所使用的許可證?

這個許可證需要是流行的、用戶都知道的,如果你自己創(chuàng)造一個或使用一個陌生的(比如WTFPL),那么沒有用戶敢于在自己的產(chǎn)品中使用你的開源項目的。你可以選擇比較友好的?Apache Public License 2.0或Eclipse Public License等。需要注意的是一些許可證(比如MIT)也是比較流行的,但是沒有提供任何專利保護。你也可以采用APL2/GPLv2雙許可,讓用戶挑選適合他們的。?

二、為你的項目寫一個文檔?

寫文檔并不容易,且比較費時,但是對于用戶來說,文檔是了解一個項目最便捷、最省時的方式,還可以讓用戶相信你不會輕易放棄這個項目。?

在文檔中,把你的項目可以幫助用戶完成的事情放在首位,這是用戶決定是否使用這個項目的關鍵。此外,你要讓用戶相信做這個項目的是個人,而不是一個會產(chǎn)生代碼的機器人。?

關于開源項目文檔,建議你閱讀:開源項目文檔應規(guī)避的13處“硬傷”?

三、項目可以很容易地升級?

隨著項目中bug的修復和一些功能的改進,你需要發(fā)布另一個版本。需要注意的是:?

1.? 向后兼容?

不要因為不向后兼容,而讓用戶重寫大量代碼。這樣會讓用戶憤怒,繼而拋棄你的項目。當然,你也不必像OpenJDK那樣兼容15年前的產(chǎn)品。?

2.? 更新日志?

有一個清晰明確的更新日志,需要包含:該版本發(fā)生了什么變化?會破壞用戶現(xiàn)有項目的代碼嗎?等等。比如Twitter的做法:?
?

  • 每修復一個bug,就在更新日志中寫上一個簡短的條目
  • 每添加一個功能,就簡要描述一下并附上一些示例代碼
  • 每改變一個API,就需要在日志中用粗體明確指出

如果你有多個分支,就需要為每個分支都寫一份更新日志。?

3.? 版本標簽?

為你的項目的每一個版本打上一個標簽,比如v1.0.0-alpha1、v1.0.0、v1.1.2,可以讓你的用戶很清晰地分辨出項目的版本。?

4.? 發(fā)布公告?

項目發(fā)布后,接下來就需要為這個事件寫一篇博文,或直接將公告發(fā)布到項目的郵件列表中。?

在公告中需要說明這個項目有什么用,是否向后兼容,并給出更新日志的鏈接。?

5.? 項目狀態(tài)標簽?

有些項目很長時間一直使用相同的版本號,比如1.1.0,而項目一直在改進。如果這是一個開發(fā)版本,你也需要通過標簽來說明項目所處的開發(fā)階段。比如:?
?

  • 1.1.0.pre1
  • 1.1.0-alpha1
  • 1.1.0-SNAPSHOT

總之,你要確保項目有一個嚴格的版本命名規(guī)劃。?

四、使用GitHub?

在GitHub上,你可以很容易地做下面的事情:?
?

  • 發(fā)布你的項目
  • 瀏覽和搜索代碼
  • 專注于項目issues
  • 參與貢獻,合并用戶的貢獻

五、確保有一個為用戶提供支持的地方?

如果你的項目達到一定的普及程度,你就會不斷收到用戶的提問。你需要有一個收集和回答用戶提問的地方,比如論壇、郵件列表等。只要有一個交流的地方,用戶也可以彼此提供幫助。久而久之,就會形成一個很不錯的社區(qū)。?

六、項目傳遞?

不排除這種情況——你可能會對項目維護失去興趣,或者你換了一個新工作不再使用當前的項目了。你可以在郵件列表上公布,讓其他開發(fā)者接管你的項目。在Github上項目所有權轉(zhuǎn)移會更容易,尤其是在別人為你的項目引入了新功能后。?

無論如何,不要讓項目死掉。?

七、總結?

總之,在你打算發(fā)布開源產(chǎn)品時,請確保它有:?
?

  • 清晰的依賴/安裝說明
  • 至少有一個簡短的文檔/指南
  • 庫中包含更改日志和相關標簽
  • 一些關于支持語言、運行環(huán)境、工具版本、項目成熟度的信息
  • 郵件列表,供用戶提問、相互幫助

八、最后?

總之,要想讓你的開源項目“發(fā)揚光大”,首先應該讓它對用戶更友好。除了項目文檔外,其他事情花費不了多長時間。?

另外,將項目開源出來容易,長時間維護就難了,因此,你還需要具備堅毅的精神和打持久戰(zhàn)的準備。當然,如果你只希望將項目開源出來,而不指望它能夠發(fā)展得多好,那么你完全可以忽略以上的所有內(nèi)容。?

英文原文: How to Make Your Open Source Project Really Awesome

?

如何做一個真正牛X 的開源項目


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久久依人综合影院 | 日韩一区二区不卡 | 日本高清不卡在线观看 | 欧美成人免费观看久久 | 欧美一级a俄罗斯毛片 | 亚洲免费毛片 | 99久久亚洲综合精品网站 | 日日爱夜夜操 | 欧美理论在线观看 | 99热这里只有精品首页精品 | 四虎a级欧美在线观看 | 四虎成年永久免费网站 | 亚洲国产视频在线 | 黄视频网站免费看 | 99热这里只有精品6免费 | 国产一级特黄aa级特黄裸毛片 | 麻豆传煤一区免费入 | 美女操穴 | 免费播放一区二区三区 | 男人猛桶女人下面视频国产 | 大乳女做爰中文字幕 | 亚洲综合激情六月婷婷在线观看 | 一级一级女人18毛片 | 亚洲精品影院 | 欧美黑人乱大交ⅹxxxxx | 欧美美女xnxx | 国产成 人 综合 亚洲网 | 亚洲欧美在线观看一区二区 | 国产精品久久久久影院色 | 久精品视频村上里沙 | 这里只有精品在线观看 | 天天曰天天干天天操 | 中文字幕日韩专区 | 国产99re| 免费乱理伦片在线观看老妇 | 国产亚洲精品热视频在线观看 | 一级毛片特级毛片黄毛片 | www.色在线| 久揄揄鲁一二三四区高清在线 | 伊人色在线 | 欧美成人一区二区三区在线视频 |