5 年的时间、300 万美元的营收,这是我们创建 Ghost 的过程中学到的一切
尚未译完,改天再译
原作者:JOHN O'NOLAN, HANNAH WOLFE
上周是 Ghost 从 Kickstarter 上推广算起的五周年纪念日。
利用这些里程碑来标记重要时刻并反思迄今为止的旅程总是显得很有趣。在上一个四周年纪念日里,我谈到了营收里程碑和产品更新的话题,但是今年我将更多地将重心放在迄今为止整个过程中我们所学到的东西上。
不过,为了便于理解,这里简要概述了我们目前的情况:
- MRR(月度营收): $82,000
- 年度净营收: $1.2million
- 有史以来总营收: $3million
- Github 星标数: 25,000
- 已发布版本数: 173
- Ghost 网站数: 512,000
- 知名用户: Apple、Tinder、DuckDuckGo、Mozilla、OpenAI、OkCupid、Square、Vevo、DigitalOcean、Napster、CloudFlare,还有 很多,很多.
- Runway: 开个玩笑,我们从第一年就开始盈利了
我们之所以创建 Ghost,是因为我们想建立一个伟大的开源出版平台来为独立创作者提供强大支持,但我们也把我们创建的这家公司作为一个社会实验。我们想知道:如果你建立了一个科技创业公司,却不能让任何人致富,那会是什么样子。如果你从路线图中取消了所有财富承诺,并试图建立一个好(good)的公司,那么这会对产品、业务、客户以及其间的每一个小决定产生什么样的影响?
我们想探索未知。因此,我们着手按照自己的期望创建了一家公司,同时也是一个我们为之付出的机构。Ghost 从成立的第一天起,就是一个非盈利性基金会,并根据 MIT 开源许可证发布了其所有代码。
直到现在,90% 的人听到这个消息后仍然有同样的疑问:“什么??”,紧跟着是 “为什么??" — 因此,有必要简要概括一下:
非盈利意味着公司没有股票。我不拥有它,Hannah 也不是它的主人,没有人拥有它,它是一个独立的实体。像普通公司一样赚钱、支付费用、薪水和税款,但无论是部分(投资)还是整体(收购)都无法买卖。公司的任何利润只能再投资,不能再分配。我们永远无法套现。而且整个产品是开源的,没有版权。任何人都可以用我们的代码做任何他们想做的事,完全免费。
因此,当我们做任何事情时,你可以绝对肯定的是:构建最好的产品是我们最根本的目的。我们想建立一个伟大的开源软件,以支持可持续的新闻、出版和一个更开放的网络。我们做的任何事情没有其他理由。
任何人都可以说他们想“改变世界”,说“这不是钱的问题” —— 但空口说白话是廉价的 —— 所以我们让我们的使命具有法律约束力。在这个世界有时似乎完全缺乏正直的时候,我们真的只是想怀揣着一颗正直的心去创造一些东西。
此外,在我看来,开发 Ghost 而得到的奖赏与玩电子游戏得到的奖赏没有区别。或者像是去潜水,或者像是和小猫玩什么的。
事实证明,当你建立一家你永远也卖不出去的公司时,一件有趣的事情发生了:你最终建立了一家你永远也不想卖掉的公司。
虽然开始的几年我们疯狂地想把所有事情都做好,让业务持续发展,但大约一年前,我们实际上停止了将收入作为首要目标的标尺。它现在是一个运行状况指标,就像在线时间或性能一样。当然,我们会密切关注它,但它在很大程度上并不能推动决策。决策的中心是我们认为可以产生影响的地方,人们想要什么,以及我们喜欢做什么。
我们所创造的是一个我们可以为之无限期工作的企业,同时也是一个产品。没有投资者向我们施加压力、要求我们产生回报、提升 IPO 估值,或开发能使我们对收购更有利的功能。
我们只是一个小团队,专注于我们非常关心的事情。多亏了这些无悔的专注,我们不需要试图成为最大的。相反,我们可以专注于成为最好的。
那么,我们在过去 5 年里学到了什么教训?
无论盈利与否,做生意都很难。做开源是很困难的。制作一个人们真正关心的产品是很困难的。让我告诉你,网站托管服务非常难。
有太多的经验教训想要在这篇文章中与大家分享,但我想重点分享我们在构建流行的开源产品、盈利的 SaaS 业务、主流托管平台、高效的远程团队和大型社区的 5 年中所学到的一些最重要的东西。
集中赢得简单性,开源赢得灵活性
这才是真正的大问题。
最开始时,我们试图使一切尽可能简单和以用户为中心。我们的目的是使应用程序像任何闭源的平台一样易于使用,但同时它也是开源的,并具有积极社会意义的商业模式。
大多数开源软件都有着糟糕的 UI 设计,所以我们会着重做好 UI 设计,这将是两全其美的!
这几乎立刻就瓦解了。例如:如果你建立了一个中心化的服务 - 你可以很容易地利用 OAuth、Algolia 和 imgix 解决认证、搜索和图像优化功能。它只需花费你最少的工程时间和几美元就可以完成设置,所以你的用户有一个美妙的使用体验,几乎没有开销。
尝试将这些功能构建到一个去中心化的产品中时,你的每一个用户都必须设置自己的 Twitter 开发应用程序、Algolia API 密钥和 imgix 帐户+配置。每项服务都必须设置、连接和付费。要使这一切稍微正常运转,就需要有相当高水平的技术专业知识。普通的非技术用户根本没有希望让它正常工作,更不用说有一个好的使用体验了。
We spent several years trying to engineer our way out of this in increasingly complex ways, so that people could set up a publication on Ghost with the same level of ease as they do on Medium. In part, because that's what people were demanding. We never even got close. It's just not how modern web technology works.
我们花了几年的时间试图用越来越复杂的方法来设计解决这个问题的方法,这样人们就可以像在 Medium 上一样轻松地创建一个关于Ghost的出版物。部分原因是因为这是人们的要求。我们从来没有接近过。这不仅仅是现代网络技术如何工作。
去中心化的平台根本无法在安装的简易性上获得竞争力。更无法击败一个中心化的应用程序的注册体验。
但是
中心化的平台根本无法在性能和灵活性方面具有竞争力。从长远来看,没有什么比自己掌控技术和命运更好的了。
是的,注册一个 Squarespace 网站或一个 Medium 博客是很容易的。您可以在几分钟内完成基本操作。但是,首先您也明确受限于这些平台允许您执行的操作。第二,如果你想超越他们的设计或功能的限制,或者做任何超出他们允许的事情的话,没门。
并且,平台方能够并且总是会拔掉你的插头。
我们花了很长时间试图在方便和简单方面进行竞争。但这是我们最大的错误,也是最沉重的教训 —— 因为用户反馈告诉我们,这才是最重要的:我们故意限制产品的灵活性,试图使其更简单。但对于普通用户来说,它仍然不够简单,对于专业用户来说,它也不够强大或灵活,最终两边的用户都不喜欢。
因此,5 年后最大的收获是:我们已经并将继续向专业用户靠拢,这些用户看重的是能力和灵活性,而不是注册的方便性。与竞争对手相比,这是我们可以取胜的地方。也是 Ghost 最好的选择。
我们对 Ghost 这一种产品的未来感到非常非常兴奋。
我们最大的营销得失
我们所做的最好的营销就是不断地推出新版本。每年至少两次重大更新和版本发布。听起来很明确,但大多数人不这么做。除此之外,我们还专注于创建一个友好的网站(这是 2018 年的一个独特优势,欢迎进入开源世界)、一个可靠的产品、提供强大的支持和大量的互动。
我们最大的营销失败是我们的文档和辅助资源。它们虽然存在但做得很不好。我们实际上正在招聘 一个人来帮助我们解决这个问题,让使用 Ghost 成为一个非常棒的开发者体验。
对我们来说,另一个非常有效的方法是邀请一小部分人在新产品发布前几个月提早体验这些产品。例如:我们目前正在考虑测试一个分销提成(affiliate)计划,根据该计划,对于 Ghost(Pro) 产品的分销商永久按照每月收益的 30% 获得佣金。我们目前正在寻找 3 名测试人员,要求测试人员拥有大量/相关的受众群体。有意参与者请联系我们
组建一个远程协作团队比你想象的既容易也困难
Our team is spread all over the world, and we have no office in any country. After 5 years I would summarise the overall experience as very positive. The stuff you might imagine is hard generally turns out to be a non-issue, like: How do you know if people are working? How does anything get done? How do you pay people if they live in different countries? What about contracts? — The things people ask about most often all have straightforward answers. In summary: You hire people you can trust, you trust them, and the logistics in between are solved mostly with Slack, Zoom and Github.
The stuff which is actually hard, nobody ever asks about. For instance: How do you know when someone is in a bad mood? How do you deal with loneliness? How do you foster camaraderie? How do you achieve urgency? How do you ever get to know people outside of work when you never spend time with them outside of work?
Real challenges of being remote are more human, than business.
Open source development is largely more broken than ever
The least fun part of working on Ghost is dealing with Github, which is really sad.
Everyone has their pet issue, whether design or accessibility or security or internationalisation or performance or SEO or or or... the list goes on. Everyone thinks theirs is most important and that we should work on right now and they can't believe that we would ignore it. It's always absolutely outrageous.
How open source works is: If you want something, you can build it.
That's the freedom which open source gives you. We build a base product which you can adapt, extend or integrate however you want. You can't do that with closed source platforms. Open source code = the freedom for you to do things with it. But that's not how many people understand it.
Developers regularly show up on Github, rage at us for something like not supporting Postgres - and then we say "ok so are you going to write and maintain Postgres support for Ghost?" and they say "of course not, I don't have time for that!" - and then occasionally they'll go on Twitter and tell all their followers to give us hell. As if organising a mob and shouting louder is the best way to get a bunch of people writing free code to do what you want.
Unfortunately I think Github itself has a lot to do with this. The product has become too transactional - more support tool than collaboration. And Github themselves show remarkable disinterest in the open source community as a whole - they give us beta access to test new features every so often. That's about it. There's no wider involvement at all.
Our core team tends to do the "real work" in private issues nowadays. The signal to noise ratio is just too overwhelming.
我们一直在适应市场
Ghost 项目刚启动时,其作为一种产品的焦点完全放在了内容发布上。在 2012 年及其前面的几年,提高在线发布的便利性看上去是正确的选择。这一切都是在 Svbtle 还是一个流行的新事物,Medium 还不存在的时候!
Ghost 在这 5 年中有非常大的变化,当然,市场也发生了很大变化。使我们的业务和战略适应整个行业的方向是我们相当擅长的。很多在 2013 年时的好主意在 2018 年就不再是了。
我们展望未来 5 年最令人兴奋的领域是建立和支持新的出版商业模式。尤其是会员、订阅和社区方面。感觉那里有很多有意义的机会还没有被发现。
Ghost 现在是一家与刚启动时截然不同的公司,很难想象我们成立 10 周年时会是什么样子。
但是,我们对未来的旅程还是一如既往的兴奋 :)
Your Questions Answered
上周我在 Twitter 上提到我正在写这篇文章,并询问人们他们想知道什么。有大量的回复,所以 Hannah 和我录下了我们有史以来最最重要的一次播客!
请分享给您身边感兴趣的伙伴:
After 5 years, $3Million, and no investors: Here's everything we've learned from building the #1 CMS on Github https://blog.ghost.org/5/
or enjoy these 1-click links for Ultimate Efficiency TM: Tweet this or Buffer it
感谢你们
致谢每一个曾经的客户、新闻订阅用户、在 Kickstarter 上支持我们的人、报告错误、提出建议、提交 PR 或给我们发送友好电子邮件的人。没有你我们不会有如此成就。
最重要的是,我要感谢我们的团队和多年来的核心贡献者。你在 Twitter 上最常看到的可能是我的脸,在 Github 上最常看到 Hannah 的名字 —— 但事实上,Ghost 最好的部分 —— 都不是我们做的。它们是由我们非常幸运与之共事的出色团队和贡献者创造的。
如果您有兴趣与我们共赴此次旅程,您可以成为我们团队的 全堆栈 JavaScript 开发者 :)
我还要提一下我们的合作伙伴,他们非常慷慨地提供时间和资源来支持 Ghost。我不确定如果没有 Digital Ocean 和 Cloudflare 的支持我们还能不能成功。我们感谢他们对我们的信任。
特别感谢:
Sarah Frantz, Kevin Ansfield, Katharina Irrgang, Jason Williams, Sebastian Gierlinger, Paul Adam Davis, Austin Burdine, Matt Enlow, Fabian Becker, Aileen Nowak, David Wolfe, Matthew Harrison-Jones, Jacob Gable, Felix Rieseberg, Gabor Javorszky, Georgina Lusby, Harry Wolff, Ryan McCarvill, Robert Jackson, David Arvelo, William Dibbern, Maurice Williams, Tim Griesser, David Balderston, Ricardo Tomasi, Nazar Gargol, Jakob Gillich, Peter Szel, Christopher Giffard, Kevin P, Steve, Manuel Mitasch, jamesbloomer, John O'Mahoney, Lucas Holmquist, Ian Mitchell, Adam Howard, nicoburns, Tobias Bieniek, Michael Bradshaw, James Inman, vdemedes, Zach Schneider, JT Turner, CriticalRespawn, ericterpstra, Zach Geis, Vikas, Matthew Beale, Lukas Strassel, Joe Wegner, Jilles Soeters, Connor Tumbleson, Seth Lilly, Sebastian Gräßl, Sebastian, Rosco Kalis, Rem Zolotykh, Nicola Mustone, Mattias Cibien, Marco Otte-Witte, Kyle Nunery, Delgermurun, David Blurton, Alex Kleissner, Łukasz Kliś, surgesoft, shindakun, buddhamagnet, Vivek Kannan, Vijay Kandy, Taras Mankovski, Shashank Mehta, Patrick Garman, Michael Schmidt-Voigt, Lev Gimelfarb, Kate von, Jonathan Johnson, James Seymour-Lock, Jake Wright, Harry Hope, Gary Cao, Eugene Kulabuhov, Daniel Hanson, Dane Springmeyer, Brad Dougherty, Alan Richards, mattse, king6cong, juan-g, Xie JinBin, Tony Gaskell, StevenMcD, Sean Hellwig, Sam Saccone, Patrick Kim, Pascal Borreli, Matt DuVall, Leonard Camacho, Kowsheek Mahmood, Katie Fenn, Johan Stenehall, Jason Sturges, Hey24sheep, Benjamin Chodoroff, Andrew Chilton, 汪磊, zinyando, sjama, remixz, redwallhp, quangtt, nicksahler, lennerd, jomahoney, joeldrapper, germanrcuriel, fabfou, b1nd, andy matthews, abe33, Will Glynn, Vikhyat Korrapati, Vikas Potluri, Victor Szeto, Thomas Faurbye, Talon, Szél Péter, Syaiful Bahri, Stefan Baumgartner, Seb Gotvitch, Sarah, Robert Rhoades, Richard King, Renyu Liu, Peter Dave, Mikkel Hoegh, Michael Nason, Matt Hughes, Martín González, Martin H., Martijn Swaagman, Mark Berger, Marcos Ojeda, Manuel Gellfart, Lucas Churchill, Lucas, Kirill Yakovenko, Kenneth Ashley, Karolis Dzeja, Karl Mikkelsen, Justin Yek, Josh Vanderwillik, Josh Kalderimis, Joerg Henning, Jeremiah Hoyet, Jeff Jewiss, Jarrod Mosen, Jamie Knight, Jaiden Mispy, Ilya Radchenko, Ihab Khattab, Harry V., Garrett Murphey, Erik Hanchett, Erik Bryn, Enrique Chavez, Devin Doolin, Declan Cook, David Robson, Cameron Viner, Brian Tedder, Brandon Hops, BlueHatbRit, Ben Gladwell, Ashish Dixit, Artyom Fedenko, Andy, Andrej Mlinarević, AileenCGN, Aia Patag, Adam Hess, Abijeet Patro, 1Pete, “kirrg001”, zhenkyle, zethraeus, vitalie maldur, tamura shingo, starcwl, sessa, sanddudu, sahand12, rmfx, rfpe, rektide, rambii, polygonix, oregami, omeid, nicovalencia, nason, moritz haarmann, meowtec, lmoe, jtw, janvt, ivan sebastian, hwdsl2, hoxoa, hiroshi kobayashi, enahs, danschumann, cristears, baogechen, balduv, ali, aimingoo, Zlatan Vasović, Yury Michurin, Yann Verry, Yanke Guo, William Golden, Wilhansen Li, WangSai, Waleed Ali, Vineet Sinha, Victor Truong, U-nico-laptopnico, U-nico-laptop\nico, Tushar Bhushan, Tom Gillett, Tim Walling, Tim Mansfield, Thai Phan, Terin Stock, Szu Yaung, Steven Cochrane, Steven B, Stephan Bönnemann, Simone D'Amico, Silvio Fernández, Sem, Sean Hussey, Sarah Frantz, Samuel Goodwin, Sam Wilskey, Ryan Seys, Ryan Powell, Roy van, Rodney Folz, Rob Graeber, Reinoud Kruithof, Rei, Rafael Corrêa, Rabbi Hossain, Polygonix, Peter deHaan, Peter Zimon, Peter Garland, Pedro Teixeira, Paul Connolley, Paul, Oliver Schneider, Nick Schonning, Nick Pfisterer, Nick Donohue, NetPuter, Naoya Kanai, Myles Braithwaite, Mo Valipour, Misha Wakerman, Mikael Brockman, Micheil Smith, Michael Auer, Matthew DuVall, Matt Florence, Matheus Azzi, Markus Siemens, Mark Stosberg, Mark Stacey, Marc Bachmann, Mante Bridts, Luke Shiels, Luke Arduini, Kumar Abhinav, Kenny Meyer, Julien Gilli, Joris Berthelot, Jorge Niedbalski, Jordan Sexton, Jono Warren, JonathanKryza, John-David Dalton, John Nguyen, John Cruikshank, Joel Rosenberg, Joel Fischer, Joe Cannatti, Jimmy Hsu, Jimmy Cai, Jesse Tane, Jesse Dijkstra, Jeff Escalante, Jay Beavers, Jason Friedrich, Jarrett Cruger, Jacques Marneweck, Jacob Kaplan-Moss, Ivan Votti, Ian Lopshire, Hugo Marisco, Hugo Jobling, Henning Sprang, Hendrik Schaeidt, Harry Walter, Harry Mills, Guillem Andreu, Grant Winney, Glen E., Gergely Nemeth, Fixer, Filippo Conti, Farhad, Fabian Miiro, Ethan Garofolo, Eric Schultz, Eric Ellingson, Emerson Keenan, Dmitry Mazuro, Derek Myers, Declan cook, Daniel Tsui, Daniel Niccoli, Dan Schnau, Damien Dormal, Clinton Ryan, Clay Diffrient, Chuck Lam, Chris Pearce, Chris Morgan, Chris Maddox, Cezary Kluczyński, Brian White, Blaine Bublitz, Ben Vibhagool, Augustus Yuan, Antuan Khanna, André Borud, Andrew Schwartzmeyer, Alex Cusack, Adrian Estrada and Aaron Kau.