周鵬飛:如何從零到一為開源項(xiàng)目構(gòu)建開源社區(qū) | DEV. Together 2021 中國(guó)開發(fā)者生態(tài)峰會(huì) 關(guān)注 共
6800字,需瀏覽
14分鐘
·
2021-07-05 16:55
內(nèi)容來源 :2021 年 6 月 5 日,由 SegmentFault 思否主辦的 2021 中國(guó)開發(fā)者生態(tài)峰會(huì)圓滿落幕。會(huì)上,KubeSphere 開源社區(qū)經(jīng)理、CNCF Ambassador 周鵬飛發(fā)表了主題為《如何從零到一為開源項(xiàng)目構(gòu)建開源社區(qū)》的演講,分享開源項(xiàng)目和社區(qū)在初步建立時(shí)需要重點(diǎn)關(guān)注的事項(xiàng)。同時(shí),他以 KubeSphere 開源社區(qū)運(yùn)營(yíng)的發(fā)展歷程為例,介紹在圍繞初創(chuàng)開源項(xiàng)目建立社區(qū)時(shí)積累的經(jīng)驗(yàn)、好的工具和避坑指南。 分享嘉賓 :周鵬飛,KubeSphere 開源社區(qū)經(jīng)理,CNCF Ambassador。 速記整理及發(fā)布 :SegmentFault 思否編輯部 在開源項(xiàng)目孵化初期,公司能給到的資源和人力支持通常是非常有限的。特別是在創(chuàng)業(yè)公司,項(xiàng)目早期階段只有幾個(gè)核心研發(fā)人員,在公司內(nèi)部和外部能利用的資源都是捉襟見肘的。在初始階段,公司可以考慮從最基本的事情做起,把社區(qū)和開發(fā)者最關(guān)注的核心內(nèi)容做到最專業(yè) ,然后逐步地借助社區(qū)帶來的用戶和貢獻(xiàn)者資源將開源項(xiàng)目一起做大。 哪些基本的內(nèi)容是社區(qū)和開發(fā)者最關(guān)注的核心內(nèi)容?如何投入有限的資源為項(xiàng)目和社區(qū)的發(fā)展快速破冰?今天將從以下四個(gè)方面跟大家分享和探討: 找到前 1000 個(gè)種子用戶,打造社區(qū)閉環(huán) 競(jìng)爭(zhēng)壁壘:社區(qū)與合作生態(tài) README,不僅僅是說明書,它還是開源項(xiàng)目的第一張名片 。 很多企業(yè)給開源項(xiàng)目做推廣時(shí),花了很大的精力和預(yù)算做 PR 文章,但沒有花更多時(shí)間打磨和完善 README。GitHub 自身就是一個(gè)很大的社區(qū),有自己的搜索引擎。從我們的長(zhǎng)期觀測(cè)來看,我們開源項(xiàng)目的官網(wǎng)和 GitHub 倉(cāng)庫的外部流量來源占比最大的還是來自 github.com,這意味著有大量的開發(fā)者通過 GitHub 自身的搜索引擎找到你的項(xiàng)目,然后從 README 快速了解一個(gè)新的開源項(xiàng)目。 大家都知道,一份看起來專業(yè)、吸引力的 README 更容易讓讀者有興趣下載安裝和體驗(yàn)?zāi)愕拈_源項(xiàng)目。所以 README 的關(guān)鍵不僅需要在 10 分鐘內(nèi),讓新手快速了解你的項(xiàng)目定位(即 What, Why, How),還可以在 README 中盡量體現(xiàn)社區(qū)的活躍度與多元性。我們可以在 README 中靈活地應(yīng)用一些有趣和易理解的圖、文、Gif 動(dòng)畫、視頻和表情包,幫助項(xiàng)目新手快速了解項(xiàng)目的功能和應(yīng)用場(chǎng)景。 但要注意的是,README 中不要帶商業(yè)與市場(chǎng)推廣的內(nèi)容,這是社區(qū)開發(fā)者比較反感的。建議使用英文來書寫 README,用言簡(jiǎn)意賅的技術(shù)語言風(fēng)格,避免寫得過于簡(jiǎn)短或過于冗長(zhǎng)復(fù)雜。 README 最基本的內(nèi)容結(jié)構(gòu) 下圖是 README 最基本的內(nèi)容結(jié)構(gòu),我們可以在 README 頂部放一個(gè)常用資源的導(dǎo)航,比如官網(wǎng)、論壇、文檔的入口,還可以用 asciinema 錄制命令行動(dòng)畫,或放上幾個(gè)關(guān)鍵的 UI 操作截圖和交互的 Gif 動(dòng)畫。如果有必要還可以放一個(gè)跟同類型項(xiàng)目的對(duì)比,在 README 底部可以嘗試用 all-contributors Bot 工具自動(dòng)展示項(xiàng)目所有的貢獻(xiàn)者,并放上跟貢獻(xiàn)者文檔、開發(fā)者指南相關(guān)的鏈接。關(guān)于寫好 README 可以參考的內(nèi)容,推薦大家去看一個(gè)優(yōu)質(zhì)資源列表 Awesome Readme 。 https://github.com/matiassingers/awesome-readme 找到前 1000 個(gè)種子用戶,打造社區(qū)閉環(huán) 世界級(jí)開源公司 HashiCorp 的創(chuàng)始人 Armon 說自己能記住自家開源產(chǎn)品前 1000 個(gè)用戶的名字,另一個(gè)創(chuàng)始人 Mitchell 每年飛 35 萬公里和各大公司的程序員見面,向他們介紹和布道自家工具。這充分說明,種子用戶對(duì)于早期打磨開源產(chǎn)品的重要性。 項(xiàng)目冷啟動(dòng)的推廣:靠技術(shù)活動(dòng)破冰 項(xiàng)目剛開源不久,自然沒幾個(gè)人了解你的項(xiàng)目,前期想自己組織活動(dòng)號(hào)召其他人來參與的難度肯定不小。我們項(xiàng)目在早期也嘗試過花大力氣來辦線下產(chǎn)品發(fā)布會(huì),找過各種渠道招募,但是效果并不佳。后來我們選擇走出去,參加行業(yè)內(nèi)和其他社區(qū)組織的頂級(jí)技術(shù)會(huì)議和活動(dòng),比如 KubeCon、DockOne 社區(qū)、Cloud Native Taiwan 的技術(shù)活動(dòng),出去分享我們項(xiàng)目的技術(shù)架構(gòu)和實(shí)現(xiàn),交流社區(qū)當(dāng)下流行的技術(shù),以 “碼” 會(huì)友,而不是直接去介紹和推廣產(chǎn)品,這樣也就讓很多極客和開源愛好者對(duì)我們的開源項(xiàng)目有了嘗試的興趣。 通過外部的技術(shù)活動(dòng)收獲了一些早期用戶后,產(chǎn)品逐漸有了一些口碑和人脈的傳播,于是我們也開始嘗試自己組織 Meetup,在線下與這些種子用戶和開發(fā)者面對(duì)面交流,同時(shí)也建立了社群保持持續(xù)溝通。社區(qū)的本質(zhì)永遠(yuǎn)是人 ,維系好跟種子用戶間的開發(fā)者關(guān)系,通過他們的反饋快速迭代幾個(gè)版本,產(chǎn)品也將會(huì)逐步貼合更多主流用戶的需求。 了解開發(fā)者關(guān)注的平臺(tái) 找到開發(fā)者所關(guān)注的垂直內(nèi)容平臺(tái)是輸出和發(fā)布技術(shù)內(nèi)容的前提條件。開發(fā)者通常會(huì)關(guān)注自己感興趣的幾個(gè)垂直社區(qū),在國(guó)內(nèi)有 CSDN、SegmentFault、OSChina 這樣的開發(fā)者內(nèi)容社區(qū);而在海外除了三大社交媒體,也有像 Reddit、DZone、InfoQ 這樣的垂直技術(shù)論壇和技術(shù)媒體,我們可以借助一些工具(比如 OpenWrite )將優(yōu)質(zhì)的技術(shù)博客文章分發(fā)到這些平臺(tái),也可以找這些平臺(tái)尋求技術(shù)內(nèi)容層面的合作。 從 CNCF 2020 年度用戶調(diào)研報(bào)告的數(shù)據(jù)來看,大部分開發(fā)者學(xué)習(xí)一項(xiàng)新的技術(shù)都是通過 Documentation 來入門,這個(gè)比例將近 80 %。谷歌和 Kubernetes 首席技術(shù)布道師 Keisey Hightower 在前兩個(gè)月也發(fā)表觀點(diǎn)說“文檔本身就是一項(xiàng)產(chǎn)品功能”,此前還有 Jeff Lawson 表示“文檔就是面向開發(fā)者最直接的 Marketing 材料”。 這些信息都足以證明,開發(fā)者學(xué)習(xí)新技術(shù)最依賴的就是文檔。提供易用和完善的用戶與開發(fā)者文檔,應(yīng)該是每一個(gè)開源項(xiàng)目和社區(qū)在早期需要優(yōu)先重點(diǎn)考慮的工作。文檔最好英文優(yōu)先或者支持中英文雙語,很多開源項(xiàng)目的中文文檔也有社區(qū)貢獻(xiàn)者參與翻譯和維護(hù)。通常情況下,一般人不會(huì)花時(shí)間閱讀完所有的文檔,所以給文檔設(shè)計(jì) 10 個(gè)以上的手把手快速入門示例(Hands-on Labs)也是非常有必要的,這樣小白用戶也能快速上手新項(xiàng)目。 高質(zhì)量的技術(shù)文檔通常還可以作為社區(qū)用戶對(duì)外技術(shù)傳播的內(nèi)容素材。比如很多優(yōu)秀的程序員小哥哥們都有自己的公眾號(hào)和個(gè)人博客,我經(jīng)??吹剿麄兊募夹g(shù)博客或經(jīng)驗(yàn)分享中會(huì)參考和復(fù)用一些文檔中的內(nèi)容。 SEO 其實(shí)是一個(gè)非常專業(yè)的領(lǐng)域,值得長(zhǎng)期投入,但在前期至少需要有一些基本的 SEO 常識(shí),比如知道自己的項(xiàng)目能跟哪些熱度高的關(guān)鍵詞有關(guān)聯(lián),了解新用戶通過哪些關(guān)鍵詞找到了你的項(xiàng)目官網(wǎng)上的哪些內(nèi)容。我們可以用 SEMRUSH 和 Keywords.com 等工具去檢測(cè)和官網(wǎng)相關(guān)度和搜索指數(shù)較高的關(guān)鍵詞,然后有針對(duì)性地根據(jù)這些關(guān)鍵詞來輸出技術(shù)博客和文檔。 在進(jìn)行技術(shù)內(nèi)容創(chuàng)作時(shí),除了靈活應(yīng)用關(guān)聯(lián)度高的關(guān)鍵詞,還有一個(gè)很重要的常識(shí):文檔與技術(shù)博客最好能更多地布道通用的技術(shù),不局限在產(chǎn)品本身,過多的 Self-marketing 內(nèi)容會(huì)適得其反。在輸出了一些技術(shù)內(nèi)容后,我們還需要關(guān)注 Google Search Console 的搜索結(jié)果,做好定期分析與復(fù)盤。 當(dāng)有一大批用戶通過各種渠道了解到我們社區(qū)的開源項(xiàng)目并下載使用后,這時(shí)候我們需要密切關(guān)注種子用戶的反饋,了解用戶是在什么場(chǎng)景下如何使用我們的開源項(xiàng)目。 收集用戶反饋,讓數(shù)據(jù)會(huì)說話 我們始終相信好的產(chǎn)品是用出來的,有很多社區(qū)用戶非常樂意幫助我們打磨產(chǎn)品,他們會(huì)提很多有意思的需求或反饋,有時(shí)候也會(huì)吐槽產(chǎn)品或文檔的不足。 運(yùn)營(yíng)開源項(xiàng)目有一個(gè)問題是你很難知道哪些人下載使用了你的產(chǎn)品,如果想更加精準(zhǔn)地定位社區(qū)用戶的畫像,并對(duì)需求反饋進(jìn)行收集, Hotjar 是一個(gè)很合適的工具,它可以用來收集用戶反饋與監(jiān)測(cè)網(wǎng)站。我們?cè)?KubeSphere 文檔頁面接入了 Horjar 調(diào)研問卷,三個(gè)月內(nèi)就收集了數(shù)千份反饋數(shù)據(jù),也從問卷的數(shù)據(jù)分析中了解到大部分用戶真實(shí)的使用場(chǎng)景,比如在國(guó)內(nèi)有將近一半的社區(qū)用戶會(huì)選擇在物理機(jī)環(huán)境離線部署集群,這個(gè)結(jié)果是我們未曾想到的。 除此之外,還可以使用 Google Analysis 進(jìn)行網(wǎng)站訪問數(shù)據(jù)的分析,以及使用 Kibana 進(jìn)行下載數(shù)據(jù)報(bào)表的自動(dòng)繪制。還有一些你可能會(huì)關(guān)注的數(shù)據(jù),比如統(tǒng)計(jì)開源項(xiàng)目在 GitHub 上的各項(xiàng)指標(biāo)在一段時(shí)間內(nèi)的增長(zhǎng)情況,你可以使用 Nebula Graph 社區(qū)開源的 GitHub Stats 工具 進(jìn)行自動(dòng)統(tǒng)計(jì),它可以幫助你了解開源項(xiàng)目的實(shí)際活躍程度。 與用戶保持互動(dòng),解決問題并反哺產(chǎn)品 有了一批用戶安裝和使用產(chǎn)品后,社區(qū)自然就會(huì)變得非?;钴S,而在這個(gè)時(shí)期跟用戶及時(shí)溝通交流并幫助他們解決落地生產(chǎn)環(huán)境時(shí)遇到的問題就變得非常關(guān)鍵。社區(qū)溝通交流的渠道其實(shí)不太好做限制,我們社區(qū)的做法是,當(dāng)下流行什么工具,我們就用什么工具。比如國(guó)內(nèi)我們用微信群和中文論壇,面向國(guó)際社區(qū)我們用 Slack 和 GitHub issue & Discussion。 對(duì)于搭建、運(yùn)營(yíng)和管理這些溝通平臺(tái),社區(qū)也有成熟的工具來實(shí)現(xiàn)。比如社區(qū)論壇可以用開源的 Flarum 或 Discourse 來部署,KubeSphere 中文論壇就是用 Flarum 來實(shí)現(xiàn)的。對(duì)于想自動(dòng)化管理微信群和群好友,可以嘗試開源的 Chatbot 工具 WeChaty 或 句子互動(dòng) ,這些工具都可以幫助我們提升運(yùn)營(yíng)的效率。 網(wǎng)站建設(shè)與開源協(xié)作自動(dòng)化 前面我們提到過專業(yè)官方文檔在社區(qū)的重要性。而文檔需要靜態(tài)網(wǎng)站來承載,社區(qū)也已經(jīng)有一些免費(fèi)或開源的輪子可以讓我們快速建站與運(yùn)營(yíng)。比如 KubeSphere 官網(wǎng)就用到了 Hugo 框架來搭建,使用 Netlify 提供 Pull Request 的內(nèi)容修改預(yù)覽。 這里我想給大家安利一下 Netlify,官方非常熱心地為開源項(xiàng)目提供了免費(fèi)的賬號(hào)來支持開源,在 Netlify 官網(wǎng)即可申請(qǐng)。最后,還可以借助 Cloudflare 免費(fèi)的全球 CDN 對(duì)網(wǎng)站進(jìn)行加速,這樣就可以確保靜態(tài)內(nèi)容網(wǎng)站能夠基本正常運(yùn)轉(zhuǎn)。 開源協(xié)作肯定離不開在 GitHub PR 和 issue 里的各種溝通。為了提升在 GitHub 上協(xié)作的效率,Kubernetes 社區(qū)開源了一個(gè) ChatOps 工具:Prow,幫助社區(qū)參與者自動(dòng)化地管理社區(qū)的 PR 和 issue、自動(dòng)執(zhí)行 Job 等。我們?cè)陧?xiàng)目初始就把 Prow 用起來了,ks-ci-bot 活躍在 KubeSphere 社區(qū)所有的 PR 和 issue 下,幫助我們實(shí)現(xiàn)自動(dòng)合并 PR、打標(biāo)簽等日常操作。關(guān)于 Prow 工具的詳細(xì)介紹可以參考博客。 https://kubesphere.io/zh/blogs/prow/ 社區(qū)核心:培養(yǎng)社區(qū)歸屬感 在互聯(lián)網(wǎng)運(yùn)營(yíng)中有一個(gè)經(jīng)常被提及的說法是“留存率”。社區(qū)如果要長(zhǎng)期聚集人氣也需要提升留存率,這體現(xiàn)在用戶和貢獻(xiàn)者在參與一個(gè)開源社區(qū)時(shí),社區(qū)能否給他帶來歸屬感。每一個(gè)社區(qū)都會(huì)有它的溫度和屬性,社區(qū)的建設(shè)者對(duì)待社區(qū)的態(tài)度和傳播的價(jià)值起到了決定性的作用。 設(shè)置社區(qū)組織架構(gòu)與榮譽(yù)機(jī)制 對(duì)于開發(fā)者群體而言,開源組織用官方公開的渠道認(rèn)可開發(fā)者的貢獻(xiàn)大多時(shí)候要比物質(zhì)獎(jiǎng)勵(lì)更有效果。很多開源組織和社區(qū)會(huì)使用證書和紀(jì)念周邊的形式給予貢獻(xiàn)者獎(jiǎng)勵(lì),用公開的社媒來表達(dá)對(duì)貢獻(xiàn)者的認(rèn)可。KubeSphere 社區(qū)也不例外,除了根據(jù)不同的貢獻(xiàn)程度設(shè)立不同等級(jí)的貢獻(xiàn)者 title,我們還會(huì)在用戶數(shù)量靠前的幾個(gè)城市設(shè)立用戶委員會(huì),幫助委員會(huì)在當(dāng)?shù)刈孕薪M織活動(dòng)與交流。 社區(qū)的發(fā)展意味著多元化和多樣性,貢獻(xiàn)的形式也不局限于代碼。即使社區(qū)里有一些不會(huì)寫代碼的同學(xué),我們也同樣會(huì)鼓勵(lì)他們來參與社區(qū)貢獻(xiàn),比如參與文檔撰寫、布道與推廣、案例分享、技術(shù)博客、錄制教程、活動(dòng)支持、需求建議反饋、國(guó)際化與本地化、測(cè)試等工作,可能會(huì)有很多不同背景或角色的人有興趣參與進(jìn)來。社區(qū)建設(shè)者只需要不斷地去播種,把這些貢獻(xiàn)渠道設(shè)計(jì)好,幫助全球的社區(qū)關(guān)注者參與進(jìn)來,并且持續(xù)地優(yōu)化貢獻(xiàn)者體驗(yàn),最終一定會(huì)帶來不一樣的驚喜。 在社區(qū)里的交流方式如果只有文字會(huì)比較冷冰冰,定期舉辦社區(qū) SIG 例會(huì)可以讓開發(fā)者之間有更深度的技術(shù)交流,讓社區(qū)成員了解項(xiàng)目當(dāng)前的一些新的特性開發(fā)和規(guī)劃等進(jìn)展,也能提升社區(qū)的活躍度。 SIG(Special Interest Group)是 Kubernetes 社區(qū)首創(chuàng)的玩法,持續(xù)運(yùn)作的 SIG 機(jī)制幫助 Kubernetes 社區(qū)變得高度自治。我們社區(qū)也在學(xué)習(xí) Kubernetes 的 SIG 玩法,在社區(qū)定期舉行各個(gè) SIG 的雙周例會(huì),將所有 SIG 例會(huì)的會(huì)議信息日程公布在官網(wǎng),并在會(huì)后將 SIG 例會(huì)的錄屏上傳到 B 站,方便社區(qū)開發(fā)者回顧。 競(jìng)爭(zhēng)壁壘:社區(qū)合作與生態(tài) 一個(gè)開源項(xiàng)目發(fā)展得是否健康,除了功能本身的快速迭代以及社區(qū)用戶和貢獻(xiàn)者的多樣性,社區(qū)的周邊生態(tài)也很重要,這會(huì)幫助開源項(xiàng)目本身構(gòu)建更高的競(jìng)爭(zhēng)壁壘。比如有多少相關(guān)聯(lián)的開源項(xiàng)目能夠合作與互相集成,有哪些云廠商能夠提供托管與支持,這些合作不僅可以幫助開源項(xiàng)目豐富社區(qū)的生態(tài),還能夠讓不同合作渠道的用戶了解到你的項(xiàng)目。 社區(qū)合作的思路很簡(jiǎn)單,哪里有這個(gè)垂直領(lǐng)域的開發(fā)者和用戶,那就嘗試去跟這個(gè)平臺(tái)合作。舉個(gè)例子,對(duì)于 KubeSphere 而言,各大公有云 Kubernetes 服務(wù)的用戶極有可能會(huì)是 KubeSphere 的用戶,所以 KubeSphere 跟全球的各大云廠商合作是很合理的,目前 KubeSphere 已經(jīng)與 AWS、Azure、DigitalOcean 和 QingCloud 等平臺(tái)的容器服務(wù)進(jìn)行了深度集成。另外,我們還會(huì)看上游社區(qū)的哪些項(xiàng)目可以跟 KubeSphere 產(chǎn)生緊密的關(guān)聯(lián),比如 Istio 社區(qū)我們也有去參與合作,并作為其 Provider。 我們做開源商業(yè)化的一個(gè)核心原則是不能傷害開源社區(qū)和突破開源用戶的利益邊界。因?yàn)楫?dāng)開源社區(qū)用戶發(fā)現(xiàn)廠商想來割開源的韭菜,那他們可能放棄使用轉(zhuǎn)而尋找新的替代方案。很多人都說海外的開源用戶商業(yè)合作意愿更好,比國(guó)內(nèi)用戶更容易付費(fèi),這可能是部分開源商業(yè)化公司還沒有真正了解國(guó)內(nèi)開源用戶的真實(shí)商業(yè)訴求。 開源商業(yè)化公司需要先了解開源用戶真正的訴求和希望解決的核心問題,然后去解決他們的核心問題,提供他們想要的增值產(chǎn)品與服務(wù),這樣的商業(yè)化路徑可能是水到渠成的。我們?cè)谏鐓^(qū)曾經(jīng)調(diào)研了一百多位用戶,發(fā)現(xiàn)這其中不僅有 80% 以上的用戶是有在公司內(nèi)采購(gòu)話語權(quán)的,并且大部分是中小型互聯(lián)網(wǎng)行業(yè)的用戶。 因此,在了解用戶畫像以后,我們正在探索一種更低成本、產(chǎn)品服務(wù)付費(fèi)方式更靈活的線上商業(yè)模式,這是適合互聯(lián)網(wǎng)公司的玩法;而對(duì)于傳統(tǒng)行業(yè)與金融政企類客戶,還是通過既有的線下商業(yè)模式去推進(jìn)。 以上是我今天分享的內(nèi)容,大家如果有任何問題,歡迎隨時(shí)與我探討和交流(微信:13006337550)。 關(guān)注【 開發(fā)者生態(tài) 】公眾號(hào)回復(fù): zpf 下載演講 PPT 點(diǎn)擊【 閱讀原文 】觀看周鵬飛演講視頻,重溫精彩時(shí)刻
瀏覽
14
成人毛片网站视频
|
99视频网
|
美腿丝袜中文字幕精品
|
操一操在线 |
一本道无码在线观看
|