這是在開源社2021年活動上的分享ppt及文稿
大家好,我是Typecho開發團隊的 sluke,感謝大家線上上線下聽我分享
我給大家分享的,是一個小故事,一個開源部落格程式堅持 15 年的故事,是這個團隊的一點點啟發和心得
介紹一下Typecho這個產品,這是一個 PHP 寫的輕量級部落格程式,前身是誕生於 2006 年底的個人專案 Magike 部落格,在 2008 年升級成為 Typecho,經歷了很多很多個版本,中間有很多次重構,在 2014 年釋出了 1.0 正式版,到 2021 年,釋出到 1.2 版本,所以,這真的是一個堅持了 15 年的專案。
typecho程式碼最早是託管在 Google code,後來放在 GitHub,各位開發者抬愛,目前的表現是這樣,8.3K個star,1.7K個fork,勉強算是一個老牌的開源專案
Typecho 是一個組合詞,由Type和echo構成
Type,有打字的意思,部落格這個東西,正是一個讓我們通過打字,在網路上表達自己的平臺。
Echo,意思是回聲、反饋、共鳴,也是 PHP 裡最常見、最簡單的函式,相信大部分 PHP 愛好者都是從 echo 'Hello,world!'; 開始自己的 PHP 程式設計之路的。
我們選擇這樣一個專案名字,也是希望 typecho 能成為我們在開源世界表達自己的一種方式。
介紹一下 typecho 團隊,
主力組,Joyqi 和 Fen,typecho 99%的程式碼,是由他倆完成的;剩下這些不配擁有姓名的人是氣氛組,大概完成了 1% 的程式碼;整個隊伍大概相當於 RPG 遊戲裡,聖騎士 Joyqi 和法師 Fen,帶著我們幾個路人。
介紹一下我自己,
我是 Typecho 專職催更師、第一個產品運營、第一個文案策劃,本身呢,是一個產品經理,現在是一個幫助專案融資的FA,可以通過 GitHub 找到我
這個長達 15 年的故事,要從一個叫做 exblog 的開源程式開始,當年,joyqi 還是一個年輕小夥,還在上大學,給 exblog 開發了幾款受歡迎的皮膚,被吸納進入了 exblog 的開發團隊,exblog 就是 joyqi 同學的啟蒙之光,後來這個專案因為種種原因停更了,很可惜。2006 年末,從北京實習結束的 joyqi 回到學校,開發開發自己主導的 Magike 專案,在後來才有了 typecho。
從這個故事的開頭看,typecho 實際上是 joyqi 和後來加入的我們對開源世界一種回饋,我們都從開源世界裡獲得了很多,這裡不完整列舉了一些我們參考研究過的部落格程式,有幾個算是 CMS,感謝這些開源作者。
說完了開始,接下來說說堅持,我嘗試著總結一個非盈利開源專案能堅持下來的模型,也許能給在聽分享的開源愛好者一點啟發。
想找到堅持的理由,就需要回到遙遠的起點,那是 2007 的 wordcamp beijing 活動,這是 wordpress 愛好者的聚會,第一次遇到那麼多獨立部落格博主和知名網紅,Typecho 團隊第一真正意義上的聚會也是相約在這個活動上,總之,我們在這個活動裡聊得很開心,感受到了開源社群的魅力,之後我還參加過很多次 wordcamp。
後來,typecho 有了自己的社群,有了自己的聚會,我們逐漸認識到想要堅持下來,社群承載的“關係”是最重要的動力。
人,是堅持的路由,開源專案以熱情開始,以關係維持,從 2007 年到現在,typecho開發者之間,開發者與使用者之間,保持著良好穩定的關係。
穩定的關係,為開發者帶來的穩定的價值感,也帶來了堅持的核心開發者和外部開發者;
穩定的關係,為使用者帶來確定感和歸屬感,也帶來了對產品的容忍和愛護
穩定的關係,為社群帶來細水長流,也形成了typecho的文化
想要穩定的關係被固化下來,就需要一個持續的行為,總結起來一句話,就是鎖定一群人,用新玩意兒,不停滿足少量固定的需求,對於typecho來說,細化下來就是鎖定 獨立部落格使用者群 ,用新技術和新工具,迭代開發一個部落格程式,不停滿足使用者群通過部落格網站本身和內容,來表達自己的需求。
這裡包含了兩個對立統一的意思,
使用者群和需求,是固定下來的,不輕易變動的,獨立部落格使用者這個人群,是很小的一個人群,甚至是更新越來越少的一個人群,非常穩定,從“表達”這個特定需要來看,也是穩定的,只是其中有細節上的變化,比如在不同的終端,用不同的語法,使用不同的編輯器來寫內容,因此,對使用者群和需求固定相對的,是技術和產品功能的流動
做個類比會更加清楚,我們來看非主流音樂,或者是一些小眾的樂隊
音樂跟部落格內容一樣,是個人表達的一種載體;
專輯和部落格程式一樣,是儲存內容的容器;
非主流音樂是少數人的玩具,樂隊或歌手選擇一個小眾的音樂風格,實際上是主動放棄了很多受眾,這使得小眾音樂跟主流流行音樂走上了不同的道路。
流行音樂欣賞門檻低,學習成本低,受眾廣,是快消品
小眾音樂欣賞門檻高,學習成本高,因為需要了解很多背景知識甚至是欣賞技巧,受眾窄,是耐用品
這樣,小眾音樂就變成了具備明顯的差異化的內容,小眾樂隊的樂趣,就變成了需要很長時間才能慢慢釋放出來的樂趣。
於是,我們就同樣得到了一組對立統一的固定和流動。
小眾樂迷和他們欣賞的音樂風格是相對固定的,也就是個人想表達的東西不變
而音樂的編曲和樂隊的表演,是流動的,不固定的,也就是表達的細節是變化的
同時,就像樂隊要經常演出一樣,一個開源程式,也要經常發版本來面對使用者
回到“關係”這個關鍵詞,能讓一個小眾音樂或者小眾樂隊走得遠的,樂隊和樂迷可能形成的就是一種“養成系”的關係,一起走過很多很多年,想一想,一些城市的球隊,甚至是現在熱門的德雲社和脫口秀,是不是也很像這種“養成系”的關係。
找到了“關係”這個關鍵詞,接下來就是分享一點點維持“關係”的心得,未必會適合所有的開源專案,心得有三點
第一點心得:資源有限,需要取捨
我們的時間有限,資源有限,需要勇氣和智慧主動放棄很多東西,才能具備堅持下來的條件
這涉及到開發者對自己的定位、對專案的定位、對取捨標準的定義
首先,開源專案如果不是你的收入來源的話,不要影響養家餬口,面對時間和資源衝突的時候,以主業為重,不要想兼顧,而是想先顧主業,後顧開源
說來很有趣,typecho的開發團隊,都是愛折騰的人,都跟創業有關
joyqi&fen&sunny,是segmentfault思否的創始人,這是最好的中文開發者社群之一
我曾經是pmcaff產品經理社群的聯合創始人COO,這是最老牌的產品經理交流社群,現在是一個幫助創業企業,開源專案融資的FA
其他人不是正在創業就是創業成功
主業上有保障,我們才能持續探索和回饋社群,才不會耽誤我們更新typecho
Typecho 這個產品,有自己的人設,就是 輕量級 部落格程式,所以在開發的時候,我們可以根據這個人設,取捨很多東西
比如強調國際化支援;強調靈活的外掛API;強調極少量的資料庫表;
比如不做靜態快取機制;早期沒有編輯器,僅支援手寫markdown;沒有官方的備份外掛;
我們就是想讓 typecho 成為一個簡約的容器,真正的主角是博主寫的內容,取捨,讓 typecho 不會向著一個複雜的CMS發展,而是保持部落格程式這個形態,這樣對開發團隊的時間要求更低,更容易堅持開發。
簡單說,產品理念會讓產品自己選擇使用者群,從而留下“臭味相投”那些人;而產品的人設,實際上就是使用者對自己的人設。Typecho 的簡約定位,也要求使用者做出取捨,選擇 typecho,就意味著有一定的使用門檻,甚至是不便,就像是開手動擋的汽車一般樂趣和痛苦並存。
用什麼評價我們的取捨是否正確呢?那就是使用 typecho 的使用者,是不是主動發朋友圈,主動安利這個小程式,是不是以使用一個簡約取向的部落格程式而強化了對自己的認同。
第二點心得:熱情有限,需要關係,需要真實的關係
時間寶貴,熱情容易消逝,尤其是容易消逝在無窮無盡的討論中,這個像 typecho 這樣的專案能否堅持,很大程度上取決的核心成員的熱情,取決於他們寫程式碼是不是上頭。因此,要讓極少數人作為核心團隊,去決定第一點所講的取捨。
讓多數人提isssue,跟少數人討論,讓極少數人做決定
核心的開發者,一定要有機會就見面,以前joyqi和fen在杭州,我去杭州出差的時候就會去他們辦公室拜訪,他們在北京辦活動的時候我也會參加,現在好很多了,思否在北京有辦公室
第三點心得:能力有限,需要社群
這不只是說開源專案需要其他開發者貢獻程式碼,而是開源社群才是“關係”的真正載體,是專案活躍和存續的基石。
首先,工具和技術要時尚,保持工具的更新,借力工具來刺激社群使用者和開發者,熱情的開發者總會使用新的工具
開源專案首先要是玩具,常玩常新的玩具才有意思,被打上“過氣”標籤的技術,就算在穩定完善,也很容易被開發者拋棄。
所以 typecho 在選擇支援新技術和新架構方面,是相對激進的,比如放棄對PHP5的支援,開發官方容器化指令碼等
其次,社群要有梗,甚至基於產品理念和現狀造梗,很幸運,typecho 社群使用者就挺能自己吐槽的
比如,日誌沒幾篇,皮膚換挺快
比如,更新沒幾行,關issues挺多
Joyqi 自己也是一個有梗的人,社群的 KOL 如果有專屬於自己的梗,會讓這個 KOL 顯得更鮮活,跟使用者的關係也更近
比如,Joyqi 總是年度總結要更新 typecho ,但是總跳票的梗
比如,Joyqi 步步高昇的髮際線
總結一下 typecho 堅持下來的幾個關鍵點
做準一點,有產品定位,不偏離
做少一點,懂得取捨,才能在某些心血來潮的時刻裡更新
做個人,保持熱情,保持互動,保持關係
最後,借用 Joyqi 部落格裡的一句話,說明 Typecho 這個專案最底層的價值
個人部落格就像大海中的小島,在資訊海浪中顯得那麼不起眼,但它的存在本身就彰顯了一種意義。
我的分享就到這裡,希望能跟熱愛開源的各位有更多交流,可以是開源專案運營,可以是開源專案融資,也可以是產品諮詢建議
都通過這個郵件可以聯絡到我