我們的開源創業之旅
以下是開源項目 ToolJet 是如何在一年的時間裡取得 13000 顆星標和 200 個貢獻者的故事。
ToolJet 是一款開源的低代碼框架,用於快速構建和部署內部工具。它的代碼庫完全由 JavaScript 和 TypeScript 組成。
2021 年 4 月,一名開發者獨自開始了 ToolJet 的開發,並於 2021 年 6 月推出公測版本,一炮而紅。此後,ToolJet 成立了基金會。目前,我們已經有一個 20 人的開發團隊。
為什麼選擇開源
在開發 ToolJet 之前,我曾擔任一些企業客戶的顧問。這些客戶中的許多都龐大到足以維護構建幾十個內部工具。儘管來自銷售人員、支持人員以及運營人員不斷要求對內部工具添加更多功能和修復錯誤,但開發團隊卻很難有精力來開發內部工具。
我嘗試使用過多個平台來構建和維護內部工具。這些工具大多非常昂貴,而且經常不符合要求。我們需要進行修改,而且大多數工具不支持內部託管。
作為一名 Ruby 開發者,我最初使用 ActiveAdmin 和 RailsAdmin 來構建內部工具。這兩款工具都是極好的,只是將它們應用在使用多個數據源的任務上比較困難。於是我意識到市場上需要一種可以構建用戶界面,並能夠連接多個數據源的框架。我相信任何為開發者製作的工具都應當是開源的。開發者日常使用的大部分工具與框架都源自世界各地人們的公開協作。
第一次提交
製作像 ToolJet 這樣的工具需要全身心的投入,通過出售我的一個業餘項目,我獲得了五六個月的空閑,於是我立即著手將在我腦海里醞釀了兩年的想法付諸現實。
2021 年 4 月 1 日,我完成了 ToolJet 的第一次提交(使用 rails new
命令)。
稍等!我剛剛說 ToolJet 的代碼是完全基於 JavaScript 的?請接著往下看。
構建完成並推銷給投資者
4、5 月間,我一直坐在電腦屏幕前編寫代碼和向種子輪的投資者推銷我的工具。
我的工作還包括創建拖放式應用程序構建器,撰寫所有的文檔以保證有在主流平台上設置 ToolJet 的文檔,創建項目網站,製作發布時所需的海報以及博客文章等等。這一過程進展順利,沒有遇到大的挑戰。當時,ToolJet 的前端使用的是 React ,而後端則用的是 Ruby on Rails 。
編程工作進行得很順利,然而向投資者推廣的工作進行得並不順利。我向專註於初創時期投資的風投和天使投資人發送了大約 40 封電子郵件,都石沉大海。大部分郵件都被忽略了,不過也有一些公司向我說明了拒絕的原因,另外一些則給我回了電話。
大部分的電話內容都是一樣的:我無法說服他們接受開源商業模式。
工具發布
6 月 7 日是發布日。我們首先在 ProductHunt(LCTT 譯註:ProductHunt 是一個新品發布平台)上發布。六個小時後,只有 70 名用戶註冊。但是我們有成為當天第一名產品的趨勢(最終在那一周的產品中排名第三)。這裡是原始的 發布帖。
下午 6 點左右,我又在 HackerNews 上發帖,一個小時內,這個帖子便升至榜首。大量的訪問者註冊並給我的版本庫點亮星標,我對此很高興。許多訪問者和用戶報告了軟體和文檔中的錯誤。距離在 HackNews 上發帖八個小時之後,超過 1000 名 GitHub 用戶給 ToolJet 的 GitHub 版本庫點亮了星標,並且有數百人註冊了 ToolJet 雲。上升趨勢一直持續到三天後,ToolJet 版本庫總計得到了 2400 個星標。
獲得資助
ToolJet 項目在 GitHub 上的吸引力足以被風投(VC)世界注意到。發布之後的日子被各種來電擠滿了。我們也有其他的選擇,但從沒有認真考慮過這些它們。這些選擇包括:
- 引導性融資:在項目初期,難以獲得付費用戶,而我此前也沒有足夠的儲蓄來支撐整個項目。
- 作為業餘項目:在開發小型項目上這是可以的,但我不認為這在 ToolJet 的開發上行得通,畢竟在 ToolJet 平台能夠為客戶所用之前,我們需要創建大量的集成和 UI 控制項。作為一個業餘項目,要實現這些可能需要花費數月甚至數年時間。
我知道如果將 ToolJet 作為一個業餘項目來開發,我可能需要花幾個月的時間才能達到我期望的程度。而我希望通過擴大團隊加速項目的成熟。鑒於該項目的吸引力,引入風險投資(VC)的資助是顯而易見的選擇。
好消息是在 HackNews 上發布之後的兩周內我們成功募集了 155 萬美元的資金。
在開源中積累很重要
發布後不久,我們發現許多人希望為 ToolJet 項目做貢獻,但是他們幾乎都是 JavaScript 開發者。我們也意識到像 ToolJet 這樣的項目在未來會有成百上千的數據介面,只有基於插件的架構才行得通。我們於 2021 年 8 月決定從 Ruby 遷移到 TypeScript 上來。即使這花費了一個月的時間和巨大的努力,這仍然是我們在 ToolJet 項目上作出的最正確的決定。今天,我們有一個由我們的 插件開發套件 支持的可擴展的基於插件的架構。我們獲得了來自超過 200 名開發者的貢獻。關於這次遷移的文章參見 這篇博客 和 另一篇博客。
發布 v1.0 版本
自 8 月份以後,很多用戶已經在生產環境中使用 ToolJet ,該平台並沒有出現過任何穩定性或擴展性的問題。我們準備在發布 v1.0 版本之前完成開發人員平台的功能。開發人員平台允許任何 JavaScript 開發者構建和發布 ToolJet 插件。這樣開發人員就可以為 ToolJet 開發數據介面。把集成測試的時間算上,創建一個 ToolJet 介面的時間也只需要30分鐘。
創建持續成長的社區
我們沒有在銷售上投入資金,我們的大部分精力都放在了傳播 ToolJet 的消息、撰寫我們的經驗教訓以及維持開發社區的活躍上。我們有一個關注社區里問題的三人團隊。
商業模式
如果沒有 商業產品 來支付賬單,ToolJet 就無法成為一項可持續的業務。我們構建了 ToolJet 的客戶付費的企業版本。ToolJet 的免費的社區版本沒有任何使用限制,企業版中的額外功能都只與大型團隊有關。我們現在的客戶已經有超大型公司。我們有足夠的銀行存款來打造更好的 ToolJet ,因此我們目前正聚焦於產品提升上。
接下來做什麼
我們在開源社區的不斷反饋和貢獻的幫助下,我們可以經常性發布更好的 ToolJet 版本。很多主要的優化、大量的數據介面以及 UI 組件正在開發進程中。我們正以前所未有的速度朝著我們的最初目標前進,即成為一個可以連接到數百個數據源和構建最複雜的用戶界面的開源框架。
via: https://opensource.com/article/22/10/tooljet-open-source-journey
作者:Navaneeth PK 選題:lkxed 譯者:CanYellow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive