如何打造標準開源項目(序):打造開源項目的意義

前言

各位朋友大家好,爲了讓自己的生活充實起來,我決定再開一套新的教程。選這個主題,是因爲我發現網上雖然針對類似的問題有不少回答,但終究沒有一個從頭講到尾的具有可操作性的指導教程。我的目標,就是讓大家能夠根據文章的內容正兒八經地搞一個自己的開源項目。

說實話,CSDN 開了付費專欄功能後我就在想搞個什麼試試水,現在到跟前了我慫了。倒不是怕訂閱的人少面子上過不去,而是專欄的更新頻率居然要求最低一週一篇,我裂開了。在分享知識的偉大事業與平靜的生活之間我毅然選擇了生活,畢竟這事業賺不了幾個錢。(吉良吉影爲我點贊)

圓規正轉,通過這個教程,我想和大家一起動手過一遍開源項目生命週期中的各個流程,並學習、探討如下內容:

  • 打造開源項目有什麼意義?
  • 如何選擇並應用好開源平臺?
  • 一個規範的開源項目有哪些必要內容?
  • 如何豐富項目的表現形式?
  • 一個優秀的項目需要做到哪些方面?
  • 如何運營、維護我們的開源項目?

在解答上述問題的同時,教程還會穿插講解 版本控制系統(Git)、開源平臺(GitHub) 的使用。

整個教程計劃再用 八到十篇 文章寫完,這一篇算是預熱,主要聊聊我對開源項目的一些認識。

一、開源項目還香嗎?

幾年以前,在 GitHub 上活躍的中國程序員並不算多,有一個高星的開源項目是一件很值得裝比的事情。隨着中國開發者人羣的不斷增長,中文項目逐漸霸佔趨勢榜,並在去年引發了整個社區的熱烈討論。不少人認爲這些項目質量不高,水分較大,甚至存在明顯的刷星、刷榜現象。我印象比較深刻的是李某來老師的 python 教程,僅用 5 天時間就獲得了將近 4k stars,當然人家這不是刷星刷榜,人這是粉絲給力,我挺羨慕的,我這 6k 假粉絲兒,唉。

其實更多人開始用 GitHub 了一定是好事,說明中國開發者整體的認知在進步。開頭難免會有些粗糙,咱們慢慢進步就好了,你看這不就有人嘗試號召大家更加規範化地打造開源項目了麼?

去年我爲了做 Vue + Spring Boot 前後端分離開發的教程,把實作的項目上傳到了 GitHub,這也是我第一次正經地去維護一個開源倉庫。這個項目目前是 471 stars,地址如下:

https://github.com/Antabot/White-Jotter

說實話,這個項目在結構與管理上都有很大問題,缺少很多重要要素,沒有嚴格遵守相關規範。但正是因爲我持續地維護着這個項目,纔會意識到存在這些問題。

對於一個開發者來說,擁有優質的開源項目絕對是一件值得驕傲的事。優秀不是一蹴而就的,不要在意別人的目光,堅持進步,喫嘛嘛香。

二、現實的好處

打造自己的開源項目除了獲得認同感,還有許多現實上的好處。

1.技術能力提升

相比自己練習,開源項目處在衆目睽睽之下,更容易激發你的羞恥心,啊不,上進心。而且不用擔心羞恥過度,因爲一開始一般別人根本看不到你的項目,得經過一番積累纔有可能獲得關注。

你可以隨心所欲地進行技術選型,不用受制於公司裏頑固的架構師。

你可以不斷應用自己所學的新技術升級自己的項目,不用擔心項目崩了帶來經濟損失。

你可以裝作大佬審閱別人提交的代碼,體會這個年紀不該有的深沉與寂寞。

2.社交

衆所周知,GayHub GitHub 是全球最大的同X交友平臺。這裏匯聚着行業裏最耿直的一羣逗比,以交流技術爲由進行着靈魂的碰 ♂ 撞。

比如這個女裝項目,也許你會在裏面找到你的真愛。
女裝項目
給你們看其中一個美麗的小姐姐,怕你們愛上她,我把臉和諧了一下。
大佬大佬
項目地址: https://github.com/komeiji-satori/Dress

如果你糾結於提高項目的可靠性,不妨仔細研究一下下面這個項目,作者堪稱程序員界的哲學帶師:
nocode
地址: https://github.com/kelseyhightower/nocode

編程時老拼錯單詞心煩意亂,試試祖安人民開發的自動糾錯程序:
the
地址: https://github.com/nvbn/thefuck

3.經濟上的好處

打造開源項目不一定爲了掙錢,但一個好的開源項目的確是可以掙錢的。掙錢的模式有很多種,比如:

  • 通過開源項目獲得接私活的渠道,掙點辛苦錢
  • 通過開源平臺向適合變現的平臺引流,通過廣告、銷售產品等方式掙錢
  • 通過有實際價值的項目獲取贊助
  • 爲項目編寫付費教程

4.求職、跳槽

我相信一個用心維護的開源項目是值得寫在簡歷裏的,它是你全方位展示自己技術能力的一個絕佳名片。除了項目本身的信息,你還可以聊聊自己在維護過程中發現了哪些問題,積累了哪些經驗,這些會給你的面試帶來積極的影響。

我見過有公司招聘,明確提出有超過 40 stars 開源項目的優先考慮錄用,也見過不少依靠開源項目成功跳槽拿到更高薪水的前輩。說實話,這可能也是很多人入坑的最原始的動力。

5.爲開發者社區做貢獻

這就是比較大的命題了。雖然我們目前只是一名平平無奇的程序員,但總有一天我們也會獨當一面。我們的項目一開始可能沒有價值,總有一天會成爲開發者資源寶庫的一部分,推進整個行業的發展與進步。

我想,我們這個行業之所以會保持如此旺盛的生命力正是源自於這種共享精神。奇妙的是我們一開始通過開源項目得到的都是個人的好處,卻最終能幫助更多的人,形成正向的循環。向開源運動的先驅們致敬!

下一步

一共八到十篇,這麼一想,如果一個月寫兩篇的話豈不是得四個月才寫完,不得了不得了,我還是儘量加快進度吧。

其實這個教程裏並沒有什麼複雜的內容,有些東西只要你知道了也就會了。下一篇計劃講解如何初始化一個開源項目,這一步其實至關重要,把架子搭好,其它的事情才能自然而然地做好。

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