明星級開源軟體 Vue.js,怎麼找到商業模式?

每年來自社群集資二十萬美元,讓尤雨溪不但全職維護,還能再雇用一位工程師

鄧天心
鄧天心
Oct 17 · 11 min read

你可能沒有聽過吉姆·韋里奇(Jim Weirich)這個人,但講到 Twitter、Hulu、Kickstarter 你肯定不陌生,這些大型網站都使用 Ruby 建置,而韋里奇開發了許多 Ruby 的開源工具,其中一項工具 Rake 下載量至今突破 3 億。但 2014 年韋里奇去世後留下了開源碼,卻沒有其他人接手管理,所以當趨勢技術不斷推進時,開源碼跟不上更新速度,只能等著被淘汰,這在我們之前推薦過的一篇文章中〈做開源專案的你,想過死後誰來接手專案嗎?〉裡頭提到「孤兒專案」的現象,一個開源專案不只有在出生時特別需要有人照顧,後續的維護也同樣重要,但外部的資源挹注卻往往跟專案的生長期不成正比。

開源專案跟小孩一樣,生出來還要有人養

韋里奇的專案並不是個案,許多極具價值的開源專案,在作者去世後被迫廢棄,無人維護或是無心維護是現在開源社群中普遍面臨到的考驗,但開源作者能從專案中得到多少贊助投入維護、更新呢?答案可能比你想得還要少。

巴西的開放源碼開發者安德烈·斯塔爾斯(André Staltz )發現這樣的問題,他從贊助開源專案的平台 Open Collective、開源社群 GitHub 上找到熱門的 58 項開源專案中,用三個評比標準分析,包括受歡迎程度、年收益、團隊規模等,發現僅 Webpack 跟 Vue.js 的維護人員年收入達 10 萬美元以上,剩下 80 % 的專案收入低於產業標準,其中有 50% 的專案維護人員年收入更落在 12,486 美元以下,12,486 美元是美國官方政府名列的貧窮線基準,代表無論開源軟體有多優秀,獨立開發者要全職維護根本是不可能的事。

開發者安德烈·斯塔爾斯(André Staltz )找到 GitHub 上 2018 年到 2019 年間最熱門的 58 項開源專案中,發現僅 Vue.js 及 Webpack 有達到維護人員年收入達 10 萬美元的標準。圖/André Staltz:SOFTWARE BELOW THE POVERTY LINE

開發者可以從贊助得到的回饋少得可憐,但有一位獨立開發者不但靠開源專案有穩定收入,所開發的 JavaScript 前端框架更不輸給 Google、Facebook 研發的產品,他就是華裔美籍人士尤雨溪(Evan You),將手上的開源前端框架 Vue.js 上架至訂閱式集資平台 Patreon 後每個月有 20,964 美元(相當於 60 萬元新台幣)的固定贊助作為收入,到底尤雨溪怎麼辦到的?

截至 2019 年 9 月底時,Vue.js 在訂閱集資平台 Patreon 上一個月已經有 20,964 美元的贊助。圖/Patreon

獨立開發者挑戰了科技巨頭

尤雨溪獨立研發的 Vue.js 至今已與 Google 維護的 Angular、 Facebook 建構的 React 並列為 JavaScript 三大主流框架。科技巨頭有著豐富線上軟體生態跟強大搜尋引擎背景,養得起一群團隊,專門維護框架更新,他們的產品也常是工程師的首選,但這位獨立工程師的火力面對企業軍團來襲一點也不遜色,甚至 Vue.js 在短短三、四年就在開源社群中大開知名度,GitHub 上 Vue.js 目前已經擁超過 4.5 萬的人打星,成為 JavaScript 生態系中最受歡迎的開源專案。許多沒有寫程式背景的 UI/UX 設計師、剛入門的新手工程師接觸 JavaScript 語言時,先選擇了 Vue.js 框架,因為它的學習曲線不過於陡峭,使用者不會太多程式語法也能上手。

Vue.js 名列 JavaScript 生態系最受歡迎開源軟體第一名。圖/GitHub:2018 JavaScript Rising Stars

比起資源多寡,更在意使用人數

即便一個專案背後沒有富爸爸支持,但如果使用人數多,自然有其他開發者願意跳進去擴充生態圈,專案存活率也會大大提升。Vue.js 台灣社群主持人 Kuro Hsu 接受三創育成基金會採訪時表示,「就算有錢老爸在後面撐腰也不能(保證)長久,關鍵是有多少人繼續用下去,才是這個東西成長的關鍵。」

尤雨溪靠著新興訂閱集資平台,找到第一群死忠支持者,Vue.js 的群眾魅力不容忽視,在 2014 年,尤雨溪把 Vue.js 放上 GitHub 後並沒有特別用力去推廣,反而是社群的力量,才讓當初的業餘專案成為前端主流框架。

Kuro 也提到 Vue.js 不太能像 Angular、React 炒出大菜,但輕巧、沒有太多限制是它的優點,同時因為 Vue.js 開發歷程較短,仍有先天上不足的地方。我們訪問了在使用前端框架的工程師閃光洽,他表示 Vue.js 官方文件上中文跟英文不太一樣,在社群資料上,比不上 Angular 及 React 那麼豐富,不過 Vue.js 仍然吸引一大批粉絲願意投入開發,透過贊助、募資等平台還能創造收益。

不過藉著社群力量而生的 Vue.js,將來會面臨被淘汰的風險嗎?Kuro 觀察 Vue.js、Angular 及 React 的更新、發展方向等都「走在正確的方向上,」「但面臨接下來的新技術譬如說像 VR、AR,這三個框架基本上都不是為了視覺處理,也完全使不上力,因為兩套邏輯完全不一樣,⋯⋯或是今天要做 3D 遊戲,不管是這三個哪個框架,都沒辦法完美地處理掉像這樣的(視覺處理)問題。」Kuro 也提到 VR、AR 等應用程式目前雖然大部分是透過電腦,但也可能出現新的媒介取代之,譬如說方便攜帶的手機,因此新的瀏覽方式也有可能應運而生。

Kuro 提到軟體從崛起到爆紅的關鍵,是為了能有效解決大部分開發者會遇到的問題,因此趨勢發展也直接影響了軟體的生命週期,他舉例,jQuery 是一套跨瀏覽器的 JavaScript 函式庫,解決各瀏覽器間不相容的問題,但是新的語法 ES6 出現後,漸漸取而代之。雖然歷史不會重演,卻很相似,他認為 Vue.js 有可能會面臨到像 jQuery 的窘境,但短期內 Vue.js 不易被市場淘汰,只是開發者仍要持續觀察未來技術的走向。

不只為工程師而生的軟體

Vue.js 會受到廣大開發者的歡迎,不只是因為 Vue.js 是「簡易版的 Angular」而已,在社群平台的討論區中,Vue.js 常在技術面跟 Angular、React 兩位大哥作為比較,Vue.js 除了以其輕巧取勝、比 React 好上手,開發者會感受到 Vue.js 比 Angular 來說有更多自由, API 跟設計上也比較易懂。所以吸引了大批非專業資訊背景的人來學習,這款軟體背後有著貼心、人性化、易讀性等設計思維,也源自於他原生的藝術設計背景。

尤雨溪先是在大學攻讀藝術史,後來在帕森設計學院(Parsons School of Design)獲設計與科技(Design & Technology)的碩士學位。在一篇受訪的文章中,尤雨溪表示,做這類前端的專案,因為面向的族群不同,涉及的領域跟知識更廣,工程師需要具備「同理心」,設計訓練讓他學會站在不同用戶的角度了解體驗感受、需求,用多角化的方式解決問題。

Vue.js 除了受到美國開發者社群的歡迎,中國電商巨頭阿里巴巴的前端架構負責人趙錦江在 GitHub 上發現了 Vue.js 後,自動當起免費的代言人,先是鼓勵阿里巴巴的同事使用,甚至幫忙翻譯文件。Vue.js 在中國的開源社群的機會大門逐漸打開,越來越多中國的開發者投入 JavaScript 生態圈,使得 Vue.js 中文文件越臻完善。尤雨溪也樂於在中國的問答網站知乎上與網友互動,Vue.js 也因此比起其他前端框架在中國市場上能見度更高。

Vue.js 開發者尤雨溪(Evan You)在中國 JavaScript 開發者大會 JSConf 上介紹 Vue.js 的創作歷程。圖/Wiredcraft 官方 YouTube 頻道

Vue.js 一開始也只是個業餘專案¹

其實 Vue.js 的雛形是尤雨溪還是 Google Creative Lab 的創意技術人員(Creative Technologist)時的業餘專案。當尤雨溪在使用 Angular 時為了符合專案需求,著手改善並從中提取一些功能,先從 Library 建構起了 Vue.js。

尤雨溪想到花了一點時間跟心血做的產品,只有自己用有點浪費,所以他把 Vue.js 包裝後丟到 GitHub 上分享給社群,隨後又寫了一篇網誌,分享一週以來社群的使用數據跟感受,還登上 Hacker News 第一名,該網誌在排行榜上維持了幾小時的第一名。

越來越多工程師發現手上的專案用不到 Angular、React 這樣大型的框架,Vue.js 就能滿足需要,甚至還吸引到了 Laravel 的作者泰勒·歐特威爾(Taylor Otwell)在 Twitter 上為 Vue.js 打起免費廣告,加速打開 Vue.js 在社群上的能見度。

尤雨溪在日後受訪時表示,沒想過全職投入開發 Vue.js,但 2016 年時他辭去了在 Meteor(全端 web 應用框架 )的工作,2 年多來靠著 Vue.js 的贊助收入不愁吃穿還可以養一個全職維護人員,上架 Patreon 顯然是一個正確的決定,但這只是一個起點,因為 Vue.js 一開始吸引了小群獨立開發者們贊助,要支付尤雨溪一個月的薪水還是遠遠不夠,於是他想到在 Vue.js 的主頁上露出合作廠商的 logo 以收取廣告費,因為 Vue.js 光是主頁面,每個月就有 70 萬的瀏覽率,這也是前端框架獨有的一項特性,相較於後端程式在社群上的能見度更高。

尤雨溪先在 Patreon 上開出「一個月 2,000 美元的方案」讓企業在 Vue.js 主頁上露出 logo 打廣告作為試水溫,越來越多企業向尤雨溪反應購買意願,2,000 美元的方案很快就售罄,需求遠超過供應,因此尤雨溪衍伸出 500、200 美元/月等方案,到如今在 Patreon 上每個月有 16,000 美元作為固定收入。這些搶著購買版面曝光的企業,大都也使用了 Vue.js 框架,所以他們也會希望盡可能維持 Vue.js 的活躍度、穩定更新,不希望這麼好的框架受到其他企業、特定支持者壟斷。

獨立開發者靠開源專案全職,仍是少數

在開源專案各種經濟來源中,贊助仍然是最直接、最能維持專案獨立性的方式,GitHub 也意識到這點,因此提出 Sponsors 的計畫,讓開源者可以接受社群贊助,但能支持作者投入全職開發仍是少數個案,前端模組管理的工具 Webpack 也是少數有獲利的開源軟體,他們也分享了如何透過在 Open Collective 等平台上開啟贊助方案,成功獲得一年 40 萬美元的方法,希望其他開發者也能從中學習到 know-how。

在〈Why Funding Open Source is Hard〉這篇文章裡頭也提到,除非開發者計畫性地、不間斷地在社群上宣傳自己的專案,如果只是把贊助連結放在自己專案的 GitHub 上,一個月的贊助額恐怕還是掛零。有多少人願意用金錢支持開源專案?社群又如何看見開源專案的潛力?我們仍然在找尋的答案,但隨著群募訂閱、集資平台越來越成熟,大家也許也可以再觀察未來是否有其他開發者也打造出像 Vue.js 一樣的明星級產品,順利走上群募平台,找到屬於自己的商業模式。

  1. 談到業餘專案(side project),不少知名的軟體一開始都不是開發者全職投入研發,甚至許多開發者也沒有工程背景,但他們開發出的產品仍吸引了大批的使用者,如果你對類似「不務正業」的文化感興趣,我們過去也有一篇文章談到 Indie Hackers,這個給許多獨立開發者露出的平台,上面收錄了很多一人創業,沒有團隊、沒有亮眼的學歷、靠著業餘專案每月賺進幾百幾千塊美金的故事,如果你也想著手進行一項業餘專案,這裏或許能給你一點啟發。

Star Rocket

Star Rocket 三創育成是非營利的創新育成機構, 以「人」為核心,「科技」為養分,致力成為最開放的創新育成空間,透過自辦課程跟活動策展,活絡台灣創新與技術社群,並培育創新創業人才;同時,藉由內容產製跟資料庫的建立,追蹤、記錄創新故事,啟發人們踏入創新航道。

鄧天心

Written by

鄧天心

Don’t follow your dream, follow me on Medium.

Star Rocket

Star Rocket 三創育成是非營利的創新育成機構, 以「人」為核心,「科技」為養分,致力成為最開放的創新育成空間,透過自辦課程跟活動策展,活絡台灣創新與技術社群,並培育創新創業人才;同時,藉由內容產製跟資料庫的建立,追蹤、記錄創新故事,啟發人們踏入創新航道。

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade