開源只能交個朋友?

開源只能交個朋友?

| 作者:黃峰達(Phodal)

| 編輯:王皓月

| 設計:劉穎潔

開源社引言

我曾經寫過一個內部培訓材料《如何開始一個正經的開源項目》。在我看來,一個成功的開源項目,需要有一個健康、活躍、高質量的社區,並源源不斷的通過高品質的代碼,來創造有價值的軟件。要做到這一點,關鍵在於“寬進嚴出”。

面向開發者,降低門檻,增加便利,源源不斷的吸引更多的開發者加入。面向使用者,則需要嚴把質量關,重視產品的品質和價值。

這對於開源項目的研發、管理和運營都提出了很高的挑戰。這篇文章就非常簡明扼要的介紹了這些必須的關鍵能力,歡迎閱讀並分享。

開源社理事長 莊表偉

在 Ledge 知識平臺發佈的這一週多里,我一直在思考如何讓這個項目做得更好。在和 CSDN 的討論中,我意識到我可以把這個過程中的相關經驗分享出來。因為畢竟大部分的開源項目做得不好。

除了寫代碼之後,我們做了這麼一些事情,使得這個項目可以好好的運轉下去:

  • 我寫了一篇宣傳方案。擴散到相關的微信群裡,發佈在公號、知乎和其它寫作平臺上;
  • 我通過社交平臺微博、Twitter、Bilibili 等擴散了項目的信息;
  • 我寫了兩篇技術實現原理。發佈在 CSDN 等專業平臺上;
  • 我和我的小夥伴們,建了個微信群,以實現快速反饋;
  • 我們鼓勵開發人員為開源項目做貢獻;
  • 我們聯繫了不同的 DevOps 廠商,來共同發展這個項目;
  • 我們以透明的方式不斷公佈、上線新的特性。
  • ……

它的運作模式和我早期在 GitHub 開源的學習應用 Growth 幾乎是一模一樣的。大抵是因為我對開源的運作模式相當的熟悉。不過,從某種意義上來說,它還是一場關於影響力的遊戲。

不瞭解開源項目的運作模式

從我的觀察來看,大部分的開發人員連 README 也寫不了。因為工作或是業餘開發的需要,我經常在 GitHub 上搜索到相關的項目,而這些項目,它可能:

  • 只是把代碼扔在了 GitHub 上;
  • 缺乏一個可讀的 README;
  • 沒有截圖(對於 UI 項目);
  • 除了看代碼,不需要從哪下手;
  • 找不到任務的相關資料;
  • 對 issue 沒有任何響應;
  • ……

這些技巧基本上都可以在《GitHub 漫遊指南》上找到,這裡就不詳細展開了。而事實上 GitHub 官方也有一份非常不錯的開源指南。讀一讀這些指南,再開展你的開源項目,你會發現開源真的很容易。

不過,事實上,參與一個知名的開源項目,你就知道開源項目可能是怎麼運作的。

缺乏多角色能力

在這個過程中,我承擔了多個角色的責任:

  • 開發人員。沒啥說的;
  • 佈道師。我要持續地寫寫文章,宣傳宣傳項目;
  • 項目領導者。嗯,就是打雜的那個人;
  • 市場人員。總之就是嘗試去對接一些公司,以獲得一些相關的案例,成為合作伙伴;
  • 程序員鼓勵師。是的,作為一個開源項目,大家都是拿業餘時間來練手的,需要不斷地鼓勵他們;
  • 代碼評審者。大部分人是出於提升自己水平的目的參與開源項目,所以給他們一些建議,能幫助他們更好地成長。
  • ……

所以,如果你缺乏這樣的能力,可以找找感興趣的小夥伴來一起搞搞。

看不見收益

從某種意義上來說,開源是一種信仰。而信仰這種東西本身又是一種玄學。所以,多數時候,開心就好。

一談及收益的時候,我們可能也就有了點結果導向的意思。當你開了一個坑,你會期望得到什麼?

  • 額外的收入;
  • 簡歷上新的一筆;
  • 一份新的工作;
  • 讓別人覺得你很優秀。
  • ……

事實上,多數時候,你剛開坑的時候,你也就只能交個朋友了。除非,你做的項目特別優秀,並且絕無僅有,否則你只能通過長期的投入來獲取收益。

Tips:

如果你做的是應用,那麼不妨以練習技術作為目的。

優先不要考慮那些悲傷的問題,比如 IE。誰要用 IE,誰自己來支持

開源最重要的是讓自己開心。

沒有時間投入

我是一個開源的狂熱粉,而使用代碼來創造事物又是我的樂趣,所以我會把時間投入於此。既然是如此,也需要劃分一些時間來做專門的事:

  • 平時修修小 bug;
  • 週末寫寫新功能;
  • 偶爾換個項目,換個心情;
  • 放鬆一下,什麼也不做。

不過呢,對於國內 996 的現狀來說,大部分的開發人員是沒有多餘的意願投入在這個領域。週末陪男朋友玩玩文明不好嗎?週末陪女朋友逛街不好嗎?

不懂得宣傳

在信息同質化 + 越來越垃圾的今天,絕大部分的同類的項目都會迅速地走向死亡。只要別人在宣傳上做得比你好,就有可能獲得後發優勢。一個典型的例子,就是前端框架 Avalon,框架本身非常好,但是卻沒有鋪展開來。

當你覺得你做了一件非常了不起的開源項目,不要畏懼,你可以嘗試:

  • 到相關的技術論壇上發個簡單的介紹。
  • 寫寫文章,發佈到一些寫作平臺上
  • 尋找相關領域的專家,看看他們的意見。
  • ……

關鍵時候,你的軟能力往往比你的代碼硬能力來得更重要。

缺少度量數據

開源最怕的一點是,你發現你辛辛苦苦做的東西可能沒人用。所以,諸如 GitHub 這樣的平臺,提供了大量的度量數據,以幫助開發人員瞭解項目的情況。像 GitHub 的 stars、traffic 都是一些非常好的功能。

所以,不妨通過一些工具,諸如 Google Analytics 建立流量的度量等。

缺乏願景和規劃

大部分項目,可能還沒有到這一步就放棄了。

開源是一個目標明確,過程鬆散的運作模式。大部分項目都會有一個明確的目標,基於此,大家才能一起朝這個方向前進。

所以,你可能需要花點時間:

  • 制定你的發佈計劃;
  • 更新你的 Todo;
  • 勾勒一個美好的未來。

結論:開心就好

堅持你覺得對的事,你就會能得到你要的東西。

如果你過於期待收益的話,那麼你可能就不會開心。

THE ONLY FAIR IS NOT FAIR,ENJOY CREATE & SHARE!

作者簡介:黃峰達(Phodal),ThoughtWorks Senior Consultant,CSDN 博客專家。長期活躍於 GitHub、CSDN,專注於物聯網和前端領域。出版著作《自己動手設計物聯網》,以及《Growth:全棧增長工程師指南》等六本電子書,並譯有《物聯網實戰指南》。


分享到:


相關文章: