不造假!如何讓你的開源項目在一周內收集3500個Github star?
作為全球***的開源社區(qū),GitHub 對于程序員群體而言是非常重要的,許多互聯(lián)網企業(yè)的HR,都會查詢一名候選人的 GitHub 主頁,從而進一步了解候選人的開源貢獻、技術熱情和編程習慣等。
與Twitter或Facebook不同的是,在GitHub上,你可以通過廣告獲得新的粉絲或喜歡 - 只有當你的項目給某人留下深刻印象時,你才能得到Star書。GitHub的Star不僅僅是一個數字,它們是一種重要的參考依據,可以在人們決定是否使用你的產品時,Star就會產生一定的影響。
那么,如何在GitHub上獲得更多的Star數呢?無論你是一個GitHub老司機還是小白,本篇文章都將清楚的告訴你GitHub Star的全部作用,以及如何將它用于展示和改進你的項目。
本文章的作者最近推出了一款名為Froala Design Blocks的新產品。幾天后,就被列入GitHub trending repositories。一周后,就擁有超過3500顆星,兩周后仍然每天獲得500顆星,下面就是他想和我們分享的Star秘籍(博客原文):
寫一個漂亮的README文件
在GitHub上,README文件就像你網站的登錄頁面。這是訪客***眼看到的,你想給人留下好印象。有些訪客可能會點擊Star按鈕,只是因為他們喜歡你使用的那些圖像,或者是因為項目聽起來很有趣。
一個優(yōu)秀的README文件需要包含所有的基本信息,以便開發(fā)人員能夠更好的了解項目內容,諸如為什么要使用它,以及如何使用它等。有很多README文件模板可供挑選,但我會推薦創(chuàng)建比利·湯普森創(chuàng)建的那個。
盡管README通常是用Markup編寫的,除了寫的好以外它還得美觀好看,除了重要的項目信息,它還需要一個設計,人類的大腦非常善于視覺處理,但閱讀文本卻需要更多的認知努力,因此,從某種意義上來說README的外觀設計比內容還要重要
那你要怎么做出一個漂亮的README文件呢?我們從Matias Singers創(chuàng)建的某個列表中研究了幾個優(yōu)秀的README文件。但是如果你的時間比較匆忙,這里還幫你提供了一些其他的選擇:
- 使用badges - 它們總結了開發(fā)人員正在尋找的最重要的信息,可以增強信任感
- 使用圖篇或GIF - 諸如項目logo之類的,***是展示產品的東西。
再者,請不要因為閱讀人群是開發(fā)者就忽視了它的作用。
清楚你需要什么
讓人們知道你希望他們參與,貢獻或提出建議。正如GitHub所說,你應該積極尋找貢獻者。
我們會在TODO list中列舉一些issues,同時也表達了我們的想法。關于GitHub的issue的問題并不僅局限于項目的含義,它們還可能是Bug(實際上是問題),但也可能是新特性。除此之外,我們還擁有可以改進的代碼以及我們希望與用戶討論的主題。這些都是彼此交流的開始。
***,我們分別給這些issue標記上help wanted,good first issue,enhancement,和discuss。有些標簽不僅僅是訪客的指南。GitHub上鼓勵用戶尋找有助于發(fā)現問題的辦法,并將help wanted和good first issue的這些請求標記出來,因為這表明他們正在積極尋找小伙伴的項目。
讓人們訪問GitHub頁面
在你的GitHub repository頁面全部設置好之后,就要想盡一切辦法把其他開發(fā)者吸引到你的項目上去。
我們在網站上(https://www.froala.com/)添加了幾個按鈕,將人們引導到GitHub,我們要么就是收集反饋,提高 Star,例如,盡管我們的GitHub repository頁面有很多其他推介,但我們的網站仍然是最受推薦的。
開發(fā)人員在哪呢?
首先,開發(fā)人員在GitHub上,因此在repository中添加topics(主題),topics將使你的項目更容易被發(fā)現,并將幫助開發(fā)人員在其主題領域中找到項目或找到特定問題的解決方案。
其次,將你的項目列在熱門Package Managers(包管理器上)上也是一種很好的方式來吸引觀眾。如果你的項目是針對前端開發(fā)人員,那么請查看NPM和CDNJS。根據你使用的編程語言選擇包管理器。例如,Ruby開發(fā)人員使用RubyGems,對于PHP,我們有Composer,Python自帶PyPi,.NET庫在NuGet上發(fā)布。
向社區(qū)尋求反饋
不要羞于加入Facebook,Google +和LinkedIn上的新社區(qū),并尋求幫助或反饋。但是如果你在這點上沒有做好,你的幫助帖子可能很快就會變成垃圾郵件并拖累你。
我建議只在云訊你尋求幫助或反饋的社區(qū)中這樣做,我們已經成我們項目相關的社區(qū)的活躍成員,我們還根據每個社區(qū)的特點發(fā)布各自不同的帖子和照片。
如何運用Email
如果你有登錄頁面并且人們訂閱了您的產品,那么,這就是和他們取得聯(lián)系的***時機。
我們收到了超過2000人的訂閱者列表,我們會讓他們了解新產品發(fā)布情況。我建議你使用自動化工具進行電子郵件營銷,以避免任何不愉快的意外。
添加推文按鈕
Twitter是在開發(fā)者中傳播的***渠道之一。話雖這么說,還是得自己額外寫一些代碼來實現
通過在README標題旁邊添加帶有預定義文本的tweet按鈕,這樣就可以幫助他們輕松分享有關你項目相關的推文了。
下面是我們用于tweet按鈕的代碼,你可以通過改變自定義text,url,via,和hashtags參數來自定義。
盡量不要通過廣告途徑
廣告是另一個將人們帶到GitHub 項目的渠道,如果你有錢的話。請記住,不要去買星星。來自廣告的流量只會為你的項目加注星標。如果我上面告訴你的那些方法效果不錯,根本沒必要做廣告
我們花在Facebook廣告上的花唯一的錢是3美元/天,我們一共做了5天,所以總共花費了15美元。它只是為了啟動項目并獲得前100顆星。雖然它可能在前兩天有效,但后面三天基本都是在浪費錢,因為我們的產品已經獲得足夠的發(fā)展?jié)摿α恕?/p>
對于我的下一個GitHub項目,我會投入的更多,但僅在前幾天推廣,加速它的發(fā)展而已。
免費和開源
這是一個非常有影響力的因素。雖然大多數人只是出于尊重或欣賞而對開源項目進行宣傳,但其他人則強烈反對那些付費項目。
Froala Design Blocks就是免費的開源軟件,這對我們有很大的幫助。相比之下,我們的其他的那些由***科技公司付費和使用的項目就沒有它來的流行。
GitHub Trending Repositories列表
進入Trending Repositories列表是最難的事情,因為這個需要你與世界各地的開發(fā)人員競爭,可能需要對一種語言有很強的掌握度,但作為***種語言并不適合所有人,通過上述的方法可能會讓你上榜
首先,早期用戶會密切關注該列表。其次,GitHub Trending將在Twitter上發(fā)布關于這個列表的信息,從而讓更多的人看到。
接受負面反饋
每個人都是***的,都有自己的需求和喜好。如果你有一個受歡迎的項目,請做好接受負面評價的心理準備。它可以幫助你做一些改進,去根據別人的評價發(fā)現更多當下開發(fā)者的喜好
接受負面反饋并嘗試思考為什么你的項目會得到這樣的評價,但也別氣餒,因為不可能人人都去使用你的項目。
留意周末帶來的影響
在周末GitHub流量較低。根據你對項目的定位對象,在一周結束時將項目公開可能是好事也可能壞事。
周末的GitHub,所有項目的流量都很低,而不僅僅是你的。周末不會對你的項目產生負面影響,但可能會推遲其增長。
自由職業(yè)者和早期用戶則是在周末更活躍。如果你的目標是他們并且你確定他們會對你的項目感興趣,那么在周末公開則更可能有機會進入GitHub Trending。
為什么要這么做?
“我為什么要這么做?”這個問題很直白,因為你想獲得GitHub Star,就會面臨種種障礙。于是我列出了一個簡短的清單,關于這樣做我們有何幫助:
獲得流量:GitHub是讓Froala Design Blocks獲得訪問量的首要推薦。無論你為你的域名做了多少的SEO,這都是很長的路,直到你可以和GitHub一樣。
向GitHub上的同行學習:在學習如何編寫代碼方面,GitHub是最重要的渠道之一。盡管如此,它經常被忽視或低估。作為開發(fā)人員和創(chuàng)業(yè)公司的創(chuàng)始人,我相信讓你的項目在其他開發(fā)人員中流行,就足以為你提供***的編程知識資源。
我們就從項目的反饋和貢獻中發(fā)現了許多新的概念,技術和改進現有代碼的方法??偠灾?,這有助于我們塑造更好的產品,同時提升我們的技術知識。
發(fā)展社區(qū):增加你的影響力,人們也會開始關注你的社交網絡,這可以在下次發(fā)布內容時轉化為更好的推廣渠道。
激發(fā)信任感:除了早期用戶之外,開發(fā)者們很容易被他們計劃要采用的項目的受歡迎度而影響。GitHub Star的數量是一個可靠的指標,其中包括issue的數量或活躍的貢獻者數量。
獲得成就感:除了實質性收獲以外,當我們看到我們的項目被數千人使用時,作為開發(fā)人員就會獲得滿滿的巨大成就感。
如果你發(fā)現這篇文章有用,那么我們也可以幫助別人,***,祝你的項目越來越好