怎樣做好一個開源項目

溝通創造價值,分享帶來快樂。這裏是程序員閱讀時間,每天和你分享讀書心得,歡迎您每天和我一起精進。

作者:十三

解讀:張飛洪

現在的很多程序員基本上可以說是面向GitHub編程,遇到新項目要啓動就會到GitHub上一頓猛烈搜索,然後採用拿來主義,這對那些想要做開源項目,甚至通過開源來收割韭菜的人來說,開源就是一個非常好的機會。

十三從2017年二月份開始開源之旅,差不多和他的博客之路同時開啓。根據他個人的體會,開源的辛酸和挫敗從一開始就伴隨着他,中間有好多次想打退堂鼓。原因很簡單,不要以爲自己開源了,就會有人看,你要堅信就算你真的是拿出你的家底出來,可能還是有99.99%的人聽都沒聽過,更別提去關注和了解你。

三個階段

十三提到他做開源的三個心理階段:

第一階段:要不要做?

總是在猶豫到底要不要做開源,我爲什麼要做開源,能和自己的預期一樣嗎?

第二階段:能堅持嗎?

不知道要做什麼,堅持不了怎麼辦?沒有人關注怎麼辦?最後十三是這麼想的:“我不怕千萬人阻擋,只怕自己投降”。

第三階段:如何做好?

既然下定了決心,那麼就要開始思考怎麼做了,這個也是本篇要談的重點。

如何做好開源?

  • 前期規劃

既然開源是一份需要持續投入的工作,那麼開頭的規劃就非常重要了。十三幫我們羅列了他的做法,比如說:

  1. 要做什麼項目?
  2. 要選什麼題材?
  3. 什麼類型?
  4. 一年內大概有幾個版本?
  5. 最終的形態是什麼樣的?
  6. 這個項目是爲了解決什麼而出現的?

這些一定要想清楚,好的開源項目有以下幾個標準:

  1. 訪問量
  2. star數量
  3. folk數量
  4. clone數量
  5. issue數量

明確以上的指標,你的開源之旅就可以開啓了。

  • 邁出第一步

第一個項目主要使用spring和spring mvc加mybatis框架整合實踐項目ssm-demo,這些框架都是大部分公司的常用框架,稍微修改以下就提交到開源倉庫了,所以開源好像也不難。這裏開源的並不是底層框架性的基礎架構,而是基於知名科技進行業務整合。這種方式確實對一般3-5年的程序員都不是問題。

  • 升級迭代

接下來就和我們平時開發一樣,按照最小功能清單進行版本迭代。如此這般,堅持了三年,中間因爲spring boot的出現,進行了底層框架的替換。包括常用的後臺攻略心跳,資訊發佈系統,博客系統,商城系統,以及由此衍生出的各種項目。

每次升級都會在博客裏面進行宣講,讓你的關注者有所期待,能瞭解你的動態和決心,這是和讀者互動的重要窗口。

  • 雙贏心態

從整合自己手頭的項目開始,通過文檔編寫既能梳理自己的知識,加深理解,也能幫助那些需要的朋友,這裏難能可貴的是利他心裏,只有利他才能得到他人的幫助,開源的本質其實就是分享。

設身處地去想一下,你去開源項目網站上搜索項目時,是不是爲了解決自己目前所面對的問題呢?如果你搜到了一個開源項目,但是代碼不全,文檔不完整,下載之後根本用不了,那麼這種項目你還會使用或者分享給其他人嗎?所以我們如果做開源項目,那麼這個項目一定要能用,要幫助別人解決當下的問題。我認爲這是衡量一個開源項目最基本的標準,也是非常現實的一個標準。

十三基於spring boot技術棧爲主的新風商城項目,因爲代碼和相關的文檔非常齊全,幫助了很多的開發者快速掌握spring boot,並使用spring boot技術棧去開發一個大型的商城項目。而且項目幫助了很多在校大學生完成畢業設計這個難題,也幫助了很多的Java求職者找到了工作。

  • 文檔+示例

好的開源如果缺失文檔,對讀者是很不友好的,所以成功的開源都是以程序員爲中心,想對方之所想,反過來思考,我們閱讀開源項目的時候,也會希望對方如果有配套的文檔就更好了。

有了文檔再加持示例和Demo,整個體驗就會是立體的,你要儘可能把開源當作產品來打磨,否則很難獲得成長,所以開源真的不容易,需要持續投入時間和精力。

失敗的示範:

  1. 當你進入他的倉庫時一時想不通這個項目是幹嘛的,或者他能夠幫助你幹什麼。
  2. 項目文檔雖然有,但是就幾句話,或者只有初始化項目時的默認文檔,還沒什麼排版。
  3. 寫好代碼並且開源出去就會有人來關注,來看你。

良好的示範:

生活中我們都知道第一印象的作用,我們自己做的開源項目也是這樣,當別人打開我們的倉庫,那一瞬間就可以看到詳細的文檔和恰到好處的圖片,他可能纔會進一步的去了解和研究這個項目,而不是直接點擊關閉按鈕與我們擦肩而過。

所以總結來說,就是要明白項目基礎信息展示的影響力。

具體操作十三介紹了以下幾種方式,概況來講就是:

  1. 一句話介紹我們的項目
  2. 項目的特性和優點
  3. 項目所使用的技術棧以及合適的圖片
  • 降低預期

認清自己,並且降低自己的心理預期,這也是一個很真誠的建議。我們並不是開源世界的大佬,也不是流量很大的牛人,在開源項目發佈出去的一段時間,不要急功近利,不要給自己設立一些難以實現的目標,這樣只會給自己壓力,而且徒增煩惱。

開源是爲了分享和交流,分享者一定要放寬心,如果沒有很好的成績,我們就繼續努力,我能做的就是不斷的進化,不斷地進步。

我很相信那句話,酒香不怕巷子深。

可能你會覺得我這個人有點傻乎乎的,傻是傻了點啊,但是不痛苦,也沒壓力,輕裝上陣,跑得快。

關鍵點總結

以上就是十三通過個人經歷的分享,另外他也給我們分享了開源項目給他帶來的收穫:

  • 擺脫由學生身份轉變後的一個糾結狀態;
  • 認識了很多志趣相投的朋友;
  • 經常受到各種公司的面試邀約,人也自信了一點;
  • 接收信息的渠道增加了,接收到的信息更多了,對自身的進步有很大的積極作用;
  • 在機緣巧合之下,也開啓了副業,寫起了專欄,寫起了書;
  • 最重要的是我發現了一個更大的世界,活得不再閉塞。

十三的GitHub:https://github.com/zhenfeng13

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章