開源價值 #1 - PostHog

我們非常興奮地宣佈推出我們自己的播客第一集!受到 Basecamp 的 rework.fm 和 WordPress 的 Distributed 的啟發,valueinopen.fm 是 Meilisearch 的姊妹專案,旨在作為一個獨立但價值觀一致的實體運作。
在這個播客中,我們採訪了開源公司(COSS)的創始人。在開源領域中,關於金錢存在許多污名。「商業化」對許多人來說聽起來像是一個骯髒的字眼,有時甚至被視為開放性的對立面。同時,我們的社群也充斥著倦怠和流失。無數支撐著數十億美元企業的專案,是由志願者在業餘時間運作的。
新一代的開源開發人員正試圖將他們的開放價值觀與永續的商業實踐結合起來,以追求長期的穩定性和一個創作者能夠獲得公平報酬的生態系統。這些就是我們將要交談的人。
本著開源的精神,我們在一切都還沒有完全完善和*釐清*之前就發布了這些集數。您對製作品質、提出的問題或一般內容的任何評論都將非常感謝。請以您喜歡的任何方式聯絡我們。
第一集 - PostHog
[
PostHog - James Hawkins
快速且輕鬆地免費收聽《開源價值》!
開源價值
](https://player.captivate.fm/episode/e4572233-5e90-4783-a0cc-778237b3ac2f)
非常感謝 Jakob Terjesønn Rypdal 製作超棒的開場曲!
文字稿
Erlend: James,非常感謝你今天加入我。
James: 好的,謝謝邀請我。
Erlend: 你和你的共同創辦人 Tim 最近寫了一篇關於為你們的開源新創公司獲得 300 萬美元資金的長篇部落格文章。你能非常簡要地概述一下你在那裡宣佈了什麼,以及你們公司最近發生了什麼事嗎?
James: 當然。所以我們是 PostHog,我們提供開源產品分析。我們從去年八月開始合作,經歷了幾次轉型。我們在今年一月、二月和三月經歷了 Y Combinator 的批次。我們在一月份從頭開始,在二月份推出,並在四月/五月左右開始進行種子輪融資。
我們剛宣佈我們籌集了大約 300 萬美元。所以從一無所有到這樣,這是一個相當快速的轉變。這是一個非常令人興奮的時刻,因為我們基本上能夠擴大我們的工程團隊。
Erlend: 那我們就回溯一下,看看是什麼樣的旅程導致了這一切。你們的網站上有一則有趣的小註解,說你在早期甚至有過職業生涯,或至少嘗試過成為一名職業自行車手?
James: 是的,我花了 10 年的時間,大概從 15 歲到 25 歲左右,一直持續到大學畢業後一段時間,四處比賽。我住在英國,但我們過去每年夏天都會去比利時幾個月,我們會有五個人住在一個農舍裡,通常沒有自來水,生活條件非常糟糕,試圖贏得比賽。
唯一的生存方式就是努力贏錢。好消息是在比利時,自行車比賽非常受歡迎。進入前 50 名通常就足以賺到一些錢。重點不是贏得多少,而是盡量維持生計。但是的,我做了很長一段時間。
然後我經歷了幾次非常嚴重的摔車,覺得我可能應該找一份正經的工作。但這很酷,這是一種有點奇怪的風格。
Erlend: 所以這最終轉變成了一個在科技和網路事業的職業生涯。你的第一份工作,是你自己進入的還是你自己啟動的,這家你最初合作的行銷公司?
James: 我過去常常在晚上做網頁開發的工作來賺取更多現金。當你騎了一整天的車後坐下來時,這是一件很棒的事情。我最後啟動了一家公司。它由其他人擁有,但對我來說這很有趣,因為我可以做任何我喜歡的事情。
我們做的是潛在客戶開發。所以,我們會找到想要在網路上購買東西的房主,通常是大型家居裝修或太陽能板。許多可再生能源產品。訪客會通過我們的網站來訪。他們會和我們預約,我們會解釋所有關於融資和相關的事情。
然後,如果他們想繼續,我們會將他們與覆蓋當地地區的安裝人員聯繫起來。我們會通過電話將他們轉接到安裝人員,安裝人員會安排預約並出去開會。我們按公寓收費。它成長得非常快。
這就是我們開始做分析的地方。轉換率非常非常重要。我們有許多演算法來處理我們如何打電話給人們。因此,有人在您的網站上提出詢問;在最終如何打電話給他們方面,有很多科學知識。所以我們非常投入其中。我們有一個開源撥號器,我們對其進行了大量修改,以嘗試找出下一個最適合撥打電話的人是誰。這是我第一次大量使用開源的東西。
但是,是的,分析一直是我感興趣的,因為我既有點商業頭腦,又非常懂技術。這是一個非常有趣的工作場所,但我們認為這並不是我們能在某個時候真正發展壯大的地方。所以我們最終決定繼續前進。
Erlend: 你當時對你正在使用的這些開源專案的印象是什麼?例如,你是否對它們是如何產生的以及如何維護感到好奇?
James: 我認為我當時沒有充分欣賞開源。所以對我們來說,它更像是我們最終 Fork 的東西,並將所有這些奇怪的修改放入我們自己的自託管東西中。我們使用 CodeIgniter,這是一個舊的 PHP 框架,來建立我們所有的資料處理功能。
但是,我沒有養成提交 Pull request 和回饋貢獻的習慣。事後看來,這絕對是我應該做的事情。因為這會幫助我成為一個更好的開發人員,將我們正在建立的用例歸納化,並且程式碼品質可能會更高。
所以我想如果我早點意識到這一點,我會學到更多,但我當時沒有意識到。這是我第一次真正做程式設計,所以我可能有點天真。
Erlend: 那麼最後,關於你第一次的創業,啟動的那部分,這究竟意味著什麼?你在建立這項業務的同時,是否在業餘時間靠不同的工作來支持自己?
James: 對。我們一開始完全沒有營收。當時的老闆很樂意支付我的薪水。我想是因為我當時還很菜又年輕,所以薪水不高。最後,我們團隊約有 50 人,年營收達到約 500 萬美元。所以成長得相當快,但這真的是一個平衡的過程。當時為了支付我們的廣告費用,我們承受了很大的壓力,必須確實掌握發票開立和向客戶收款等事宜。因為我們在廣告上花了很多錢,像是 Google Ads、Facebook 廣告等等。
實際上,大部分的壓力都來自於這方面。我認為我們過於專注於這塊領域。我們面對的許多小企業常常會延遲付款。有時他們的財務狀況會很吃緊。他們經常依賴我們來幫助他們產生收入。
所以就會產生一些不好的副作用,例如,有一家企業的所有銷售額都來自我們提供的潛在客戶,但如果他們拖欠付款,我們又不能直接切斷他們的服務,因為這可能會讓他們公司倒閉。然後他們就永遠不會支付帳單。而且這對他們來說也很可悲。
所以我們最終就陷入這種奇怪的平衡,一方面要努力按時收回所有款項,才能夠增加我們的行銷支出。因此,財務方面大概是整個過程中壓力最大的一環。好處是,它迫使我們找到產品與市場的契合點。
它迫使我們快速建立起一個真正的企業。我認為壞處是,那些像是追討欠款等比較短期的問題,真的讓我們很分心。這使得我們更難真正專注於技術。我們本來可以在這方面做得更多的。
Erlend: 所以你後來轉到另一家叫做 Arachnys 的公司,在那裡你遇到了你現在的共同創辦人 Tim。你可以簡短地說明一下事情的經過嗎?你們兩人在那家公司是如何認識的,又是如何開始談論新的創業計畫?
James: 我想我會轉到 Arachnys 的原因真的是因為,這是一家非常專業的公司,而且裡面有很多聰明的人。當我遇到他們時,這點就很明顯了。所以我有點想去那邊,在再次創業之前多累積一些經驗。
而且我覺得創辦人看起來非常聰明。我跟他相處得一直都很好,而且他後來還成為了我們在 PostHog 的投資人之一,這真的很棒。
Tim,我以前...我原本應該負責我們的行銷,因為我之前經營過一個大型的線上行銷業務,做一些戰術性的工作。結果我卻負責那邊的業務團隊,負責企業銷售和 SAAS。我們當時向大型銀行銷售合規軟體。Tim 則負責研發部門。所以他會打造新功能的原型。
通常 Tim 會開發出新功能,然後我會帶著這些功能去參加與銀行高層的重要會議,展示「嘿,這是我們認為軟體未來的樣子。您有什麼回饋嗎?您是否願意再花一百萬美元讓我們為您將此產品化?」
所以我們兩個人一起工作,雖然不是密切合作,但我們確實一起參加了很多客戶會議等等。這就是我們認識彼此的方式。從我的角度來看,Tim 在工程方面非常強大,而且速度非常快。他真的很清楚自己在做什麼。
Erlend: 你是如何發現這一點的?你看到他身上的哪些特質讓你清楚知道他是一位非常厲害的工程師?
James: 速度真的非常快,這點很明顯。你可以說,「嘿,我們從客戶那裡得到了一個很棒的想法。」隔天我就能帶著東西去現場向他們展示。因此,這種速度真的非常重要。
我們第一個大型企業客戶是一家非常大型的一級銀行。當時的合約金額大概是一年 70 萬美元左右。我們贏得了這個合約。他們原本選擇了另一家供應商。但我們堅持不懈。我們一直試著告訴他們,「嘿,我們認為我們是更好的解決方案。」另一家供應商未能交付產品。然後我們在 48 小時內交付了另一家供應商一年都未能做到的事情。
Tim 一直很擅長在有需要當天完成的事情時,把它完成。這就是他工作最令我印象深刻的地方。
Erlend: 嗯。所以你們兩個人開始考慮一起創辦公司。你們之間早期的對話是什麼樣的?主要是「我們想要一起創業」的想法嗎,還是有其他?
James: Tim 後來在別的地方找到了一份工作。當我聽到這個消息後的五分鐘內,我就想著「天啊,我必須去跟他談談」。我開始感覺到,身為業務主管,一旦我們發展到某個階段,就會有人比我更適合擔任我的職位。
所以我當時在想,也許我應該去實現那個創業想法。當時,我有一些想做的想法。Tim 離職了,這讓我感覺,「好吧,我該開始行動了。」所以當我知道他要在其他地方工作時,我就想,「嘿,我請他喝杯啤酒,然後我們來談談我的一些隨機想法。」
這就是我們開始的方式。我最後在幾週後離職,然後我們開始建立我們的軟體,與用戶交談,並努力在很長一段時間內獲得進展。
Erlend: 你們最初創辦的公司與你們現在向世界推出的產品有很大的不同。你們最初追求的是什麼想法,以及後來如何轉型的?
James: 其實有兩個想法。我只寫下其中一個。這太多了,有點混亂,但好吧,我們試試看。所以我們嘗試的第一件事是:我以前經營過一個業務團隊,而且我從認識的其他業務主管那邊了解到,大家不太會用數據來管理自己的團隊。
他們通常會有一個預測,然後會列出每一筆預計成交的交易。但問題是,每個人都只關注那些預計成交的交易,但這其實不重要。如果你有足夠的整體管道,而不僅僅是那些處於非常後期的交易,並以此為目標進行管理。即使有一些交易失敗了,你也會沒事的。所以我們開發了一個工具,可以幫助業務經理與團隊進行一對一會議,它會使用預測分析,並與 Salesforce 整合,以突出顯示交易。那些在統計數據上看起來會失敗的交易,即使它們處於非常早期的階段,而且沒有任何進展,它也會說:「嘿,這筆早期階段的交易;我們認為它會失敗。」
所以我們開發出了這個工具。我們在與潛在用戶交談時做得不是很好。我們確實與很多人交談過,但有一本很棒的書叫做《媽媽測試》。我不知道你有沒有看過這本書。
Erlend: 有,我很熟悉。
James: 這本書的前提是,不要與你的用戶談論假設性的問題。如果他們實際上沒有採取任何措施來解決這個問題,他們可能不太願意花錢購買軟體來解決這個問題。
我們在這方面做得不太好。我們更像是說,「嘿,你願意為一個工具付費嗎?這個工具可以幫助你判斷要談論哪些交易,這樣你就可以從與人們的管理時間中獲得更多價值。」我們很快就建好了這個工具。我們把它發佈出去,並發給了 15 位我透過人脈認識的、友好的業務主管或業務副總。
我想最終的結果是,其中一個人點擊了連結,並使用了一個星期就停止了。很明顯,我們當時遇到了問題。
Erlend: 這時,你們還沒有申請 Y Combinator 或其他任何東西。這只是第一次試驗,看看我們是否能夠建立一個產品和一家公司。第一次嘗試沒有完全成功。所以現在你們要轉向另一個想法。當時你們已經在考慮,「我們也想為此爭取資金」嗎?
James: 對,我們一開始的想法是自籌資金,而且我們基本上就是默認這樣做了。所以我們想,嗯,我們已經存了一年的錢,或者在工作很長一段時間後存了一些錢。所以我們認為我們可以給自己 12 個月的時間,然後看看情況如何。
如果失敗了,我們就必須再找工作。所以我們一開始是自籌資金。當我們在做 SAAS 的時候,這可能很有幫助,因為它鼓勵我們和人們談論錢。所以人們很快就會為產品付費。
最後,我們嘗試了另一個關於解決技術債務的想法。
簡單來說,我們建立了一個小型的調查,它可以與你的 Git 儲存庫整合。當我們的工程團隊變大時,我們看到了一些這方面的挑戰,而且我們從其他工程師朋友那裡聽說了很多。我們開始招募許多工程師。我們達到數百名用戶,但我們覺得我們並沒有真正解決問題。
大約在這個時候,我們申請了 Y Combinator。我們決定改變方向的原因是,我們回顧了我們在職業生涯中所做的選擇。我們認為我們想嘗試做一些真正偉大的事情,並做出重大的改變。而且我們覺得創投可以讓我們更快地實現這一點。我想如果自籌資金,我們可能可以做到,我想我們有可能在財務上自給自足,並建立起一些東西,可以說更具可持續性。
但感覺上,我們可能要花五年才能回到我們原本的收入水平,因為我們已經有相當不錯的工作了,所以這開始讓人覺得過程會壓力山大。而且在這個過程中,我們賺的錢會少很多。所以這會是相當痛苦、壓力大且緩慢的。
我開始想,嗯,我可以看到在兩年後,我們可能會開始為了保持動力或維持進度而掙扎,因為我們都喜歡快速完成事情。所以,是的,這就是我們當時的談話內容,然後我們就覺得在創投方面,我們可以很快地克服這一點。
有很多資金可用,或者至少在新冠疫情之前是這樣。所以我們想,為什麼不呢?讓我們來個更大的豪賭,看看我們能不能成功,因為無論如何結果都一樣,如果這兩種情況我們都失敗了,我們最終還是得去找正常的工作。
這就是我們早期關於是否考慮轉換方向的談話內容。
Erlend: 是的。在你們申請 Y Combinator 時,重點是什麼?因為你們在部落格上將其描述為可能不是最強的申請。但它一定很強,因為你們成功了!但你們當時並不覺得是這樣嗎?
James: 是的,對我和 Tim 來說,YC 有一種光環,因為我們都是忠實粉絲。我們閱讀了大量的工程部落格,而且總覺得進入 YC 是一件神秘且不可能的事。而且我們兩個之前都沒有募過資。
所以我們想,也許我們需要建立人脈並努力擠進去之類的。如果我們不做這些事,我們就進不去。但實際上,我們基本上只是按照指示去做。我認為如果你正在收聽,而且你覺得你適合 Y Combinator,你只要按照申請流程即可。
最初,我們寫了一份非常長的申請,用了太多文字來描述我們做了什麼,並試圖過於複雜和聰明。大約是前一天晚上 10 點,我們坐在那裡,然後覺得,這份申請不太好。
所以我們刪除了它,從頭開始,並在大約 25 分鐘內重寫了整個申請。重點基本上是:我們已經取得了很多成就;我們很快就獲得了大量使用者。這是我們認為可以解決這個問題的方法。這就是為什麼這是一個大問題。這是我們以前見過的問題。
我們只是讓它保持非常簡單。我也分享了一些創辦人寄給我的申請。
Erlend: 所以你們進入了 Y Combinator,你們也都搬到了舊金山。你們也開始了他們所做的 YC 衝刺。但聽起來在旅程中還沒走太遠,你們就意識到這不是你們應該開發的產品。
James: 是的。我想我們一進入 YC,就一直很自律地試著每週取得重大進展,因為我們知道你的規模大小並不重要。重要的是你前進的方向和進展的速度。所以我們在進入 YC 時,真的非常注重每週的進展,只是感覺壓力更大了。
我們也有了更多業務上的關注,因為在計畫開始時,我想 Michael Siegel 說,嘿,這給了你們一個可以接受的藉口來照顧自己、運動和工作,而不用做其他太多事情,這正是發生的事情。所以我們就開始工作了。這對我們兩個人來說都是人生中生產力最高的一段時間。
我想我們很快就開始意識到,我們並沒有很好地解決這個問題。我們親自與許多工程主管會面,談論我們正在做的事情。我們與現有使用者交談,但我們只是意識到我們沒有很好地解決這個問題。
Tim 和我也都覺得我們並不是要解決的問題的合適創辦人。我們兩個都喜歡將成長行銷分析與技術結合在一起。而且在過程中,我們對產品分析的經驗感到沮喪。合夥人就說,嘿,感覺你們應該轉換方向。所以我們就這樣做了。
Erlend: 這個方向的改變似乎與你們走開源路線同時發生。是什麼促成了這一點?我知道你們曾與其他成功的開源公司的創辦人進行過一些對談。所以我很好奇這些對談是什麼樣子的。特別是你們從中學到了什麼,讓你們決定,好吧,我們要將這個產品開源化,並從中建立業務。
James: 我們創辦 PostHog 的部分原因是,我們不想將大量使用者數據發送給第三方;我們覺得這有點侵犯隱私。
然後還有一些我們想在我們的分析中建立的「寵物功能」,作為工程師。所以我們在想,我們如何將產品分析定位於工程師,使其對他們有用?我們並沒有真正考慮到通常使用這些工具的產品經理。
我們想,我們要如何讓你自行託管它?我們必須讓你可以存取原始碼,以便你可以安裝它等等。所以我們不妨將其開源。然後我們開始對許可證感到非常緊張,並開始閱讀 Elastic、MongoDB 等的許可證。
我們開始變得莫名地偏執,擔心自己會被排除在外之類的。所以我們和 YC 的合夥人談了,他們說,我們不知道,去和一些開源創辦人談談。我們只是徵詢他們的建議,他們幾乎都非常友善。大約在一周內,我想,只是為了了解我們正在做什麼。
我們與 Mattermost 的創辦人 Ian Tien 會面。這非常有幫助。他花了大概一個小時在電話上與我們交談。然後他碰巧給了一個我們去聽的演講。GitLab 也很有幫助。我們與共同創辦人 Sid 有過幾封電子郵件。而且因為 GitLab 透明地記錄所有內容,所以這是一種非常容易了解他們如何運作的方法。Sentry 也很有幫助。
當我們實際上正在考慮轉型時,我遇到了 David Kramer。我就像,我們為技術債務建立了這個東西,你覺得怎麼樣?你可以看得出來他不在乎。所以我說,還有另一個想法:你們有沒有像一個大型、複雜的自行託管產品分析?然後我們就開始談論它了。
大約有三四位這樣的創辦人,他們只是告訴我們該怎麼做。前提基本上是,不要太擔心許可證,只要推出它,看看是否有人在乎。只要確保你適當地記錄所有內容。不要試圖從開源的個別工程師身上賺錢。
只要免費給予人們,你就會從更大的公司獲得內部的興趣。所以我們就這樣做了。
Erlend: 所以建議基本上是。不要太擔心許可證。只要將其公開,獲得使用者,然後你就可以擔心之後保護自己。
James: 是的。如果你有一個數千人的社群,那麼更改許可證就會引起爭議。但如果你剛開始,我的意思是,我們研究了這方面的主要現有模型,你知道,像是開源核心、託管與自行託管或基於服務的收費方式。
我們排除了服務,因為我們覺得,我們只是覺得它沒有被充分利用。就像你總是必須專注於利潤,而且它會是人力密集型的。我們確實有提供服務,但基本上是為了我們可以學習新的功能,這些功能可以自動化許多工作。
我們只是決定,我們的大部分好處是讓你不必將使用者數據發送給第三方,如果你是一家非常大的公司,或者如果你更注重隱私。所以基於這個原因,我們覺得開源核心對我們來說很合理。
所以我們將從這個開始,並且我們將建立一個 MIT 許可產品,目前完全免費。這就是我們將要嘗試推出的全部內容。我們不會嘗試為非常大的客戶建立具有更好功能的產品付費版本。你必須成功,別人才會費心抄襲你,而且當你剛開始時,你不會成功。
基於同樣的原因,你可能更喜歡喝可口可樂,而不是來自你當地超市的可樂,我們只是覺得你不會因為跟隨而獲勝。所以,是的。我們只是推出了,不再擔心它。然後這給了我們足夠的回饋,我們才能知道接下來要建構什麼。
Erlend: 所以說,開源,特別是自行託管,是 PostHog 與競爭對手的主要差異化因素,這樣說是否公平?聽起來這才是你們的主要優先事項。這些其他公司只是將你的數據發送到你無法控制的伺服器上的某個地方,而使用 PostHog,客戶將對此有更多控制權。
開源本質上是一種非常標準化、廣為人知的方式,讓使用者可以更好地控制他們的軟體。
James: 是的。我們在早期有兩個假設,也就是你想要控制你的數據。我們想像那些想要控制使用者數據的大公司。我的意思是,有很多開發人員在較小的公司中想要這樣做,一家新創公司可能不太在乎,但個別開發人員真的很在乎這個,因為公開數據通常被認為是錯誤的。
所以我們認為,這會為我們帶來足夠關心這件事的人,我們認為我們可以從那裡開始成長。我們相信的另一件事是,如果你正在追蹤某人網站或應用程式中發生的所有事件數據,而且如果你正在提供託管服務,你將會建立所有這些數據,這會花費你一大筆錢。
這是一個主機,所以你必須對他們的用量等級收取一些代理費用。所以他們就像是使用者的數量、事件的數量或任何問題。就像有些使用者真的很有價值,而其他使用者則不是。所以如果你在 B2B 中銷售,像是你用於薪資的會計軟體,你知道,你可能會為該應用程式每年收取 50,000 美元的費用,然後你會有幾個使用者,但如果你是 B to C,你知道,你是 Pinterest 之類的,你的每個使用者邊際價值會非常低,但數量很大。
所以我們認為,當你超過一定規模的使用量時,基於使用者數量定價的模式會在某個時候變得非常沒有吸引力,因為你必須嘗試賺錢,而且你也只是在猜測託管需要多少成本。
所以我們只是覺得,如果我們的客戶非常大,我們可以站在他們這邊。我們和一些給我們倉庫加星號的人談過。如果他們在很酷的公司工作,我通常會試著請他們喝咖啡,只是為了了解一下,嘿,你目前是如何看待這件事的。
我們了解,真正的大公司經常會為這些東西自行建構他們的堆疊。所以我們認為,嘿,PostHog 是執行這些工作的替代方案。最終,當我們變得更具可擴展性等等時,總有一天會實現。
Erlend: 是的,我自己也寫了一些關於這方面的文章。自行託管也會在你的業務和定價方式中建立這種透明度,因為你基本上也在與自己競爭,讓你的產品如此容易使用,而且容易被其他人檢查。
James: 對,我覺得開源軟體讓快速獲得大量用戶變得更容易。我認為這也會讓產生營收變得更加困難,因為這可能會比較晚發生。
所以,缺點之一就是你需要解決這些問題。但我們正在做的一件大事是,我們專注於工程師的採用,而不是產品經理。我們希望幫助工程師自己了解誰在使用他們的產品。所以,如果你針對的是工程師,卻用過於推銷的方式,並讓不具備技術背景的人與他們交涉,我們認為這絕對會讓人感到沮喪。所以我們只是盡力以非常直接的方式處理這些事情,並讓用戶自己選擇。
他們不是一個容易被說服的群體,除非是有功能和效益上的優勢。這非常明確,也是一種比較酷的商業模式。因為你可以減少時間在價格等事情上互相討價還價。
Erlend: 所以,你可以更詳細地說明一下嗎?目前你正在籌備更大規模的融資。在這段期間,我相信你現在也是,你非常專注於工程開發,並專注於建立社群。那麼,這在實務上是什麼樣子呢?這個圍繞著 PostHog 建立社群的過程?
James: 對。基本上,我們嘗試的做法是,當我們回到 Arachnis 時,當我們賣出第一個真正的大型企業合約時,我們公司在照顧他們這方面做得非常好,這聽起來理所當然。但基本上,每次他們提出要求時,我們要嘛給出一個我們為什麼不做這個要求的理由,要嘛就很快地為他們建立這個功能。
所以我們試圖將這種服務水準提供給我們的開源社群用戶。所以,如果有人願意提出問題、提供回饋、回報錯誤,我們會很快地為他們解決。我們一直重複這樣做,因為這能讓用戶看到我們很重視他們的回饋。
因此,這會鼓勵人們提供更多回饋或提供更多功能建議。我認為要保持產品的定義合理是很困難的,這樣才不會被拉往奇怪的方向,或只為特定用戶進行工程開發。我們會盡力詢問用戶想用這個功能解決什麼問題的相關背景資訊。
但我想說的是,大部分情況下,我們都會收到隨機回報的錯誤。這些問題很明顯。不應該有錯誤,我們應該修正它。所以,我們一直以來都非常努力地回應所有從最初幾週就信任 PostHog 的早期用戶。
所以我認為這可能至少幫助我們建立了良好的聲譽。這也是我們現在嘗試投入的方向。關鍵在於專注於我們的工程實力。我不會聘請只是升級所有案例,卻沒有真正解決問題的客戶成功人員。因此,我們正盡力讓工程師與工程師聯繫,這需要大量的資金投入。
我們需要投資才能做到這一點。
Erlend: 對。在你們的融資部落格文章中,你們也提到在三月和四月這段時間,你們的銀行存款已經在增加。那是種子輪融資進來,還是早期客戶的收入?
James: 我只是想解釋這在實務上可能看起來會是什麼樣子。
基本上,你會希望有一些天使投資人可以給你較小的支票,以及很多建議和幫助與介紹。他們會留在這裡,而且對人們,對我們來說仍然非常有用。我們會一直問他們隨機的問題。這會給你一點動力。
但接近尾聲時,我們發現這個過程真的加速了。就像突然之間你收到一個報價,然後你又收到三到四個報價,如果你設法在幾乎相同的時間與所有人交談。所以這只是為了讓大家了解,嘿,我們穩定地收到一些小額支票。
但在接近尾聲時,它幾乎立即加速了。如果你幸運能進入這種狀態,那真的非常奇怪。從一直不斷地推銷,到後來必須非常挑剔地如何完成這輪融資的剩餘部分,這樣你就不必太早出售太多公司的股份,這是非常奇怪的。
Erlend: 所以所有的這些投資人。幾年前,如果有人說要投資開源公司,這聽起來可能會很奇怪。但是你發現你談論的那些人,當你基本上告訴他們,我們只是在製作這個開源產品。我們會讓很多人使用它,然後我們稍後再想辦法賺錢,他們就理解了嗎?你基本上是這樣告訴他們的嗎?
James: 是的,情況已經改變了。首先,我想我們在經歷那個過程時比較沒有信心。如果你透過那種募資過程來募資,這幾乎就像是對你的策略進行諮詢一樣,因為你會受到人們的反對,你會得到很多觀點,有些人會直接互相矛盾。是啊,我們一開始的想法是,好吧,我們的計畫是盡快建立一個付費版本,這樣我們才能試著更好地控制我們的支出等等。這樣做感覺比較合理。但接著在我們進行這些簡報的過程中,我就覺得,嗯,這似乎沒有引起人們的太多興趣。
然後我們開始談論我們自己。然後我們開始研究其他變得非常成功的開源公司,我們就覺得,如果我們真的想在這裡建立一個大的事業,那麼停止將我們所有的資源投入...似乎是不理性的。我以前做過銷售,我很樂意打電話給一堆人,試著賣出一份合約。但如果我們現在這樣做,我們就必須建立產品的付費版本,這意味著我們所有的工程重點都會轉移。我們也將無法同時關注社群,因為我們勢必得建立一個付費產品,這會分散我們的注意力。
然後我們會建立一個有點合理的產品,但它並不是創投業者會想要的那種大規模的投資。而這也是我們想要嘗試用我們在這裡的目的來做的事情。因此對我們來說,我們只是覺得另一條路也可能行得通,但它並沒有讓許多投資者產生興趣,然後這讓我們意識到這可能不是正確的做法。我們會讓事情變得更簡單。就像只要讓免費版本很棒就好。然後再從那裡開始努力。是的,這真的變得比較容易了。好吧,這也是我們現在非常堅信的。
Erlend: 所以你得到了你那輪大型融資。我們現在差不多到了現在。目前公司的基本數據是什麼?像是現在有多少人在這裡工作?以及你們的採用率如何?
James: 好的。所以我們現在每天大概有 20 家新公司有機地安裝它,這很棒。有些是來自我們在網路上發表的一些受歡迎的部落格文章。只是寫下我們學到的東西。大部分是來自口碑,這很酷。
我們看到很多有機的成長。我認為我們現在需要解決的事情是...當你做產品分析時,你反而會覺得很諷刺,你會想,哦,我們需要追蹤,像是我們是如何正確成長的?但通常我們不會具備追蹤自己所需的那些功能,所以我們必須先建立它們。
因此,我們一直在努力建立所有我們實際需要追蹤公司成長的工具。所以我們真的在嘗試做兩件事:我們有產品開發工作,這些都是我們相信會有幫助的功能,我們是從用戶訪談中了解到的。
所以我們正試圖轉型為更像是產品實驗平台,這意味著功能旗標。因此我們相信,透過將功能旗標與產品分析整合,你可以賦予開發人員更多控制權。像是這裡有一些瘋狂的功能。因為它們很瘋狂,你應該將它們部署到 1% 的用戶群中,然後看看它實際上對你的指標產生了什麼影響。
這就是我們如何賦予你身為工程師更大的自主權,這也是為什麼這個產品會變得更吸引人。而我們了解到許多非常大型的科技公司都在內部建立這種功能。所以我們想,嘿,我們可以將它產品化。因此我們正試圖建立更多類似的功能。
所以我們有專注於這方面的人,只是一個小團隊。我們目前仍然只有六個人。另一方面是考慮成長工程。因此,有點像說,好吧,我們從訪談中獲得了一些東西,我們正在努力。我們正在思考的另一部分是,是否有任何功能可以幫助我們更快地成長?
基本上,我們的夢想是,如果一個工程師安裝它,那麼就會有另一個以上的工程師直接加入。因為這樣我們最終就會獲得指數級的成長率。這表示,好吧,當一個工程師安裝它時,你如何讓團隊的其他成員使用這個工具。因此,我們開發的一些我們認為會有幫助的產品功能,像是如果你使用它來進行功能旗標,其他工程師真的會需要存取它,這可能會很酷。
還包括一些像是讓使用者協作處理數據的功能,像是標記和分析圖表。所以我們會安排幾個人更專注於開發這些功能。但大概就是這樣了。我們不會聘請任何業務人員。
我們也不會花費大量資金在行銷上。我們真的非常努力地想讓產品本身驅動成長,因為它正在自然地獲得關注。所以,如果我們能夠順應這個趨勢,如果我們之後真的要花錢,那也會更有效率。
所以我認為,透過盡可能地以產品為主導,可以讓你更專注,並且你可以打造出高標準的產品,因為你不會因為銷售等事情而分心,但這在某些時候會帶來營收壓力。
Erlend: 你們在哪裡與使用者互動?像是 GitHub 是很自然的管道。你們還有哪些其他與使用者溝通的管道?
James: 這真是個好問題。這也是我目前不確定我們做得對不對的地方。所以 GitHub 很明顯。我們在那裡收到問題回報。我們是遠端優先的公司,所以我們所有的討論都是公開進行的,而且我們經常會從看到東西的開發人員那裡獲得一些回饋,這讓我們了解哪些功能會受歡迎,哪些不會,因此我們應該把更多精力投入在哪裡。
我們建立了一個社群 Slack 群組,這對於與人們進行更深入的討論非常棒。所以如果有人試圖除錯某個東西,並且想要分享一些截圖,我們會為該公司建立一個頻道,並讓他們的幾位工程師加入。
這樣做真的很有幫助。但另一方面,感覺上,理想情況下,我們應該把它當成一個論壇。這樣它就可以被索引,並且更容易搜尋。我們到目前為止還沒有這樣做的原因是,我個人經常覺得在論壇發文的門檻相當高。如果我是一個新手開發人員,我會感到緊張,覺得「喔,這會永遠留在網路上」。
而不是一些隨機的 Slack 訊息。所以我們覺得這兩者之間需要權衡。我希望有一個可以自動將我們的 Slack 轉換成論壇的東西。例如,它可以同步它們之類的,因為這樣可以讓那些想看到其他人遇到的問題的人受益。
所以這件事有點困擾我。我不認為我們已經做得很好,但是,到目前為止 Slack 看起來很有幫助。
Erlend: 是啊。我想我們很多人都在等待完美的聊天論壇混合體,它可以輕鬆地提供早期使用者群體,讓他們可以非正式地交談,而且風險很低,並逐漸過渡到一個成熟的論壇,我們可以在那裡進行更多非同步的討論,然後也可以將內容公開且永久地儲存起來。
James: 我希望一般的房間基本上是一個論壇。然後讓那些因為某些原因感到不舒服的人去一對一訊息。然後可以將對話移到公開的論壇。如果像是「我們可以嗎」。所以,對,這是一個夢想,也許在某個聖誕節能實現。
Erlend: 是啊,是啊。我很好奇你對開源領域的創投基金有什麼看法。我們之前在電子郵件中簡短地談過這個,我覺得你的回答很有趣。所以我想聽聽你更深入的想法,關於創投基金如何與開源產品互動,以及你認為誘因在哪裡一致。
James: 是啊。我認為,可能沒有太多人注意到……我可能做錯了,但我的觀點基本上是,我認為開源非常適合顛覆許多 SAAS,這應該會對創投公司有吸引力。我認為的原因是,如果你相信產品成長,像是,如果你看看 Slack 的成長方式,或是任何這些在產品方面做得非常出色的公司,他們都非常有用,而且也自然地從一個使用者擴展到許多使用者,開源是這方面更好的版本。可能。
當然,你需要建立類似的功能,這些功能可以幫助你在此成長。但是透過開源,你可以進入大型企業的生產環境,而無需任何資訊安全措施,也沒有供應商風險管理。你知道,如果他們看到一個 MIT… 或遠低於你必須引進一個新的 SAAS 供應商的風險,因為數據保留在你的基礎設施上,你可以存取所有的程式碼,所以如果你自己有任何安全上的疑慮,你可以檢查它。而且它確實可以讓更多更大的公司更容易採用,同時也對數位開發人員更有吸引力。所以它消除了採用過程中的摩擦。所以,對……這不會適用於任何類型的 SAAS。像是如果你是一個 CRM,我認為可能會比較不成功,因為它不是開發人員會使用的東西。所以他們不會那麼在意提交 pull request 或提出問題。但是如果你正在建立一些更接近產品的東西,我認為它真的,它更有吸引力。
像是如果我是一個工程師,我看到一個開源的東西。我可能會想安裝它。如果我看到一個 SAAS 的東西,我會想,我們需要在某個地方新增另一個帳戶嗎?我會感覺到被綁定了。你知道,它不再永遠免費了。我只是認為,如果你正在建立一些工程師會使用的東西,而且有一個 SAAS 版本,但沒有開源版本,我認為這裡有一條非常容易的路徑。我認為一些投資人已經開始真正看到這一點,我認為現在的心態幾乎是,如果某個開源的東西變得流行,像是從街上找一個開發人員,問他們正在使用哪些開源函式庫。那可能就是我應該投資的東西。所以有些人絕對是這樣想的。
(…)
但確實有一些投資人只是希望你建立一些被廣泛採用並變得非常流行的東西,然後他們相信一切都會迎刃而解。所以,對,當我們與人交談時,我們發現他們對這件事的看法非常兩極化。
Erlend: 那麼,你對創投的壓力有什麼感覺?某種程度上,會有一種期望要變得規模龐大,並且要達成某種形式的退出。你對此有何感想?這又是如何影響到日常的產品開發?
James: 這是合理的。我相信有些創投公司可能很難相處。但我們的經驗是,他們非常友善。我們並沒有遇到我們從網路上讀到的關於創投公司的刻板印象,像是他們會給我們很好的回饋,說明他們為什麼會或不會投資。
他們很有幫助。他們很友善。他們會傳送友善的 WhatsApp 訊息。所以我認為創投的壓力可能是在真空中產生的。像是如果你在進入時沒有自己的觀點,你最終可能會被他們的觀點左右你的決策。所以,像是,當我們剛開始的時候,當我們開始做最初的幾次提案時,我們並沒有那麼堅定自己的觀點。
像是我們沒有充分考慮過策略,我們不夠堅定地知道自己在做什麼,但這迫使我們有一個更清晰的畫面。所以在最後,像是這些錢都不會花在銷售團隊上。而是會花在工程和產品以及產品設計上。
我們將遵循產品主導的成長模式。我們不會向個人開發人員收費。我們會專注於免費產品。現在這與建立一個很棒的社群完全一致。
我們知道之後,像是 B 輪或 C 輪,營收壓力必然會更大。所以我們必須解決這個問題。但是早期,我認為如果你真的有自己的觀點,並且你真正相信這是建立偉大產品的最佳方式,你就是站在他們那一邊。所以,對,我幾乎要說,在 SAAS 中,與開源相比,激勵措施離使用者的觀點更遠。所以對於開源來說,即使我們有什麼問題,像是,程式碼庫也會永遠存在。所以,就這點而言,它可能會稍微好一點。如果是早期階段,我想這可能就是為什麼當你處於早期階段時,有些人會採用開源函式庫。而對於 SAAS,你會想,「喔,如果這個服務在六個月後消失了,我們就完了。」
所以,對,我並沒有像你可能從網路上讀到的那樣強烈地感受到壓力。
Erlend: 你現在與開源的關係是什麼?像是你有點從外部接觸到它,只是像許多開發人員一樣,把它當作一個不錯的免費福利。到突然完全投入其中,成為一個開源核心公司。你現在與開源的關係是什麼?你覺得自己是這個運動的一份子嗎?你現在是這個團體的一份子嗎?
James: 是啊,我完全愛上了它。就像是,我一直錯過它了。它一直都在哪裡?它裡面有太多很酷的東西了。我絕對不會想再經營一家非開源的公司。
人們真的很友善。他們會給你很好的回饋。有時候回饋可能會相當直接或尖銳,但如果你想建立一些需要改進的東西,這正是你需要的。而且你會看到來自各種不同背景的人的專業知識。
你知道,無論是透過輔助功能,像是我們試圖以特定方式託管它,或是不尋常的用例。而且這讓建立對人們有用的東西變得更容易。而且還有一個很棒的感覺,像是,如果人們負擔不起,他們可以完全免費使用它,你懂嗎,可以不必付錢給你。
所以這感覺上更像是一種歡迎的方式。而且很酷的是,這意味著當我們在招聘工程師時,這是一個很大的優勢,我們可以比原本更容易地找到真正優秀的人才,因為他們也想要回饋工程師等等。
我認為如果沒有早點嘗試,我會錯過很多。也許我太偏執了。不知道如何圍繞它建立一家公司,這可能是我潛意識裡的偏見。
Erlend: 現在,從你的角度來看,你認為開源的目的是什麼?或者它的主要功能是什麼?
James: 好問題。對我來說,這就是一種控制。就像你不會被鎖定在某件事上。這很強大。它讓每一位工程師,像是使用者,能對他們正在做的事情有更多的控制權。如果你不喜歡某件事,你可以更改它。如果你想的話,你可以發送 pull request 來建置一些擴充功能。
所以我有點喜歡它給人們的自由。而且這是在雙方面上的。當你有工程師在你的儲存庫上工作,發送一些 pull request 來改進某些東西,甚至是提出一個問題並說,嘿,如果這樣會不會很酷… 因此,你會從人們那裡得到那種程度的回饋,因為這樣對人們來說更容易合作。
你會得到更多的善意。而且我認為這來自於其中有更多的自由。
Erlend: 你是否有發現,你也會從外部看到的活動中獲得動力,像是其他人的活力也給你能量,讓你能在開放環境中建構這個東西?
James: 是的,這真的很棒。因為我們嘗試一路都這樣做。我們就像完全投入其中。這也是為什麼我們有一個透明的手冊,所以你可以看到我們的費用政策,或者我們如何雇用員工,或是任何詳細的資訊。
因此,我們看到許多其他經營開源專案的開源人士,他們想知道,嘿,我可以把這個當作全職工作嗎?或者也許我像一個非常早期的新創公司一樣卡住了,我正在努力成長。所以,是的,我們開始收到很多試圖推出酷專案的人們的聯繫。嘗試幫助其他人將更多酷炫的技術帶入這個世界,而且可以修改,真的很有趣。所以,是的,我認為目前這方面特別有動力。
Erlend: 對於那些想要創立以開源為中心的公司的人,你會建議他們從哪裡開始他們的旅程?他們應該從哪裡開始閱讀?
James: 我認為,我認為第一件事是你需要自己有一些痛點。這會讓你的生活輕鬆很多。你可以只是為了做而做,但你實際上不知道專案會是什麼。或者至少你需要有一些你願意大力測試的隨機想法。
如果你有感受到的痛點,至少你已經克服了找到會使用它的用戶的第一個障礙。它需要是你會使用的東西。一旦你能找出那可能會是什麼…,我們過去只是保留一份大型的 Google 文件,每次我們對編寫軟體感到惱火時,我們就會寫下一個小痛點。所以我們有幾頁的想法。一旦你找到一個你真正感到興奮想要解決的,我認為那就是關鍵。如果你不感到興奮,這是我們在另一個想法中犯的錯誤之一。我們只是對它不夠興奮。
而且你最終會為此做很長一段時間。而且你將會在午夜寫程式碼來解決這個問題。所以它需要是你真的覺得很酷的東西。而且它可以從小開始,一旦發生這種情況,你需要一個粗略的計畫,說明你如何不把錢花光。如果你有一份全職工作,你可以在晚上做事情,確保你的雇主允許你這樣做,這樣這項工作才不屬於其他人。如果你存了一些錢,像是給自己六個月的時間,尤其如果你擔任的是工程師的角色,那麼有很多工作機會。所以如果你想花六個月的時間,就設定一個時間段來嘗試讓這個東西起飛。如果出了問題,你之後可能還可以找到另一份工作。而且這樣做的好處是,你最終可以全職投入開源,這真的很有趣,而且對你的職業生涯非常有幫助。
或者,如果你換工作,你可能會找到一份更好的工作。所以,你知道,有時候不嘗試會感覺不理性。我制定了一個個人預算。我知道我需要多長時間才能完成工作,而且我只是非常努力地工作。
我認為找到一個共同創辦人非常重要。你可以獨自建立一些很酷的東西,但我認為在早期階段,當你沒有任何用戶時,你可能會失去理智,而且你會開始質疑你正在做的事情。所以我認為我們兩個人真的很有幫助,就像我們在募款時一樣。基本上我專門負責募款,而 Tim 則做了其他所有事情:處理整個社群、所有的 pull request、所有的工程和開發。而且我們兩個人設法完成了這件事。我認為否則我可能會在募款時感到沮喪,如果我試圖同時做所有其他事情的話。而且你們兩個人都投入了,所以你有點不得不不讓另一個人失望。
然後在資金方面,你需要一些程度的吸引力。如果你建立了一些好的東西,像是把它放在 Hacker News 或其他地方,只是看看是否有人關心,而且越早做越好。就像在你覺得你真正準備好之前,因為你花四個星期建立錯誤的東西,總比花六個月建立錯誤的東西要好。
我們給自己整整四個星期的時間,從一無所有到把它放在那裡。這給了我們募款所需的所有成長。所以,你知道,給自己一個窗口。但不要試圖達到完美。它可以很粗糙,它只需要有像是 README、一些其他的文件,而且它需要能夠解決你的問題,而且不要有非常多的錯誤。但是會有足夠的善意,你可能會到達那裡。所以你需要一個短時間,儘快啟動,而且我認為這可能真的非常關鍵。
Erlend: 很好。那麼,再問最後一個問題。你希望看到哪個封閉的應用程式出現開源替代方案?
James: 好問題。有幾個。社群那個是我個人想要的。我不認為你可以圍繞我們已經談過的事情建立一個非常大的公司,但那是我一直想要的東西。
我真的很想要一個像 Google 文件那樣的東西,但可以讓你使用 Markdown 工作。而且會是開源的,而且非常容易設定和使用。我們仍然在 Google 文件中有一些東西,這讓我有點惱火。我希望我可以把這些東西放到我們的議題中,或者放到儲存庫中的 Markdown 檔案中。但是我喜歡協作。我有時喜歡線上協作。所以有一些很酷的方法可以做到這一點。
我的建議是看看你作為開發人員正在使用的 SAAS 東西,然後想想,我可以想出一個方法來在功能上改進它嗎?而開源會讓它更好嗎?
Erlend: 是的,沒錯。好的,非常感謝你,James。這次談話很棒。我祝你公司一切順利。我確信你還有相當一段旅程要走。這將會非常有趣。
James: 好。保重。