
What we've learned from building Ghost after 5 years and $3M - saturdayplace
https://blog.ghost.org/5/
======
johnonolan
Good morning HN! John from Ghost here - Thanks for all your support over the
last 5 years. We wouldn't be here if it wasn't for that very first blog post
hitting the #1 spot of HN and getting so much attention back in 2012. That was
the very first time anyone ever heard about Ghost, and everything we've built
since then has been thanks to that.

~~~
snowwolf
If you’re setup as a non-profit and you reinvest all profit, what do you do if
you get to the point that you are making more profit than you can reasonably
reinvest? Build up a large cash reserve?

~~~
johnonolan
Fantastic question. So the obvious answer is grow the company, right? That's
pretty much what Amazon did for 20 years. Eschew profit in favour of
reinvesting in building the company as big as possible. Not really our style,
we'd rather keep the company small, but there's definitely still room to grow
quite a lot from where we are now.

Beyond that point, we can spend money on anything which reasonably furthers
the mission of the organisation - which has many aspects but the main ones in
our case revolve around creation and education for journalism and open source
software.

Some pipedream ideas we throw around from time to time:

\- M&A (boring/obvious answer, but valuable)

\- Create either grant-funding, or sensible investment funding (like indie.vc)
for other open source projects and publishers.

\- Create an independent media company, reporting on issues and stories we
care about (running on Ghost)

\- Buy some land and build a collaborative space for us and for others to work
on open source, journalism and social good projects

~~~
hnzix
_> Buy some land and build a collaborative space_

So, a ghost town?

------
SkyPuncher
We use hosted Ghost for our blog. For the most part, it's been great.

My biggest complaint is that Ghost doesn't yet have a built in SSL/TLS option
(e.g. Let's Encrypt). Their recommendation is to use Cloudflare. It's fine for
hobbyist or personal blogs, but as a corporation it's basically prevented us
from using SSL.

We're in a regulated industry and need to do appropriate vetting of vendors.
Onboarding a blog platform is very, very easy because of the relatively low
risk nature of a blog. Onboarding an infrastructure vendor, like Cloudflare,
is very complicated. Making it more complicated is we'd have no interest in
actually paying for a Cloudflare service so it's impossible to get resources
to complete the vetting process. On top of all of that, last year's Cloudbleed
incident cast some real doubt on Cloudflare's security practices and ability
to properly protect potentially sensitive data.

We will likely eventually self-host so we can get proper SSL support. I'm
really disappointed by this since it will be more expensive than paying our
Ghost subscription for several years.

~~~
johnonolan
We do have all of those things :)

For self-hosters, Ghost-CLI has deep Let's Encrypt integration. The tool will
automatically guide you through provisioning an SSL certificate during the
install process.

On Ghost(Pro) we have full end to end SSL support (you're right we used to
only support CF's UniverSSL but that is no longer the case) - so anyone who
uses a custom domain with Ghost(Pro) will automatically have an SSL cert
provisioned and deployed for them in the background. For business customers
who require the use of their own, custom certificates, there a few extra steps
but we support that too.

~~~
SkyPuncher
Heyo. Would you look at that! That must be pretty new?

\----

This is great. That was my only complaint with Ghost so far.

------
qrv3w
Thanks for the post, its great to hear that Ghost is doing well - I love using
it.

> [Github] has become too transactional - more support tool than collaboration

I strongly agree with this. I wish Github "Issues" were relabeled "Comments"
and need not be "Open" or "Closed". Issues need action, comments do not. I've
been burned many times now by solving someone's issue and then finding out
they use my code for their business and just wanted free support from me.

~~~
Rotareti
Why not just close the issue and direct the person to stackoverflow,
superuser, etc. if you think it falls into that category?

~~~
Whitestrake
Then you get a reputation as a rude developer, whether or not that's fair or
warranted.

~~~
Rotareti
You could create an _issue template_ that explains the rules. If people still
file support issues, you close those with a friendly reminder text
(copy/paste) in which you explain the reasons why this is not the place for
support. If people still think this is rude, they have personality issues
which shouldn't be of your concern.

~~~
Whitestrake
Aye, and you'd be well within your rights to do so, but I am doubtful that
this approach will preempt the majority of people assuming rudeness on your
part.

------
omegote
I was a Ghost user for ~3 years (from Jan 2014 to the best part of 2016) and
eventually switched to WordPress. I loved Ghost minimalism and its usage of
Markdown, but there were several issues that made it a no-no. I was kinda sad
to let it go actually.

I took the time to write to the Ghost support email with my thoughts on the
switch and my main issues (namely no categories, lack of i18n, editor live-
view performance with many images, no search -- this was middle 2016, maybe
they have these features now but they didn't then)

They took the trouble of answering my email, I found it rather nice.

------
iends
I would love to switch to hosted ghost, but the pricing makes very little
sense for a personal blog. An article will make the front page of hn or some
larger subreddits and I'll get 30k views in just a few hours. I'd have to pay
close to $200/mo to get the same number of page views I can get with a $10/VPS
that I ssh into maybe once every 6 months to patch.

The pricing levels simply do not offer enough page views.

~~~
freeman478
I was thinking like you but they say they compute usage on a 3 month rolling
average basis. So an infrequent hit should not be an issue.

~~~
iends
It’s not really infrequent though. It’s like once a month.

~~~
e12e
You average around [ed:2M] views a month?

------
8fingerlouie
Congratulations on your 5th aniversary :)

I was a backer in the kickstarter campaign, but various "issues" eventually
led me to look elsewhere.

Ghost is (was?) rather good, but the thing that ultimately sold me on it back
on kickstarter was the much hyped dashboard, which never made it.

Before Docker it was a pain to manage dependencies and keep everything up to
date, but with the official Docker image, things got better - until a flurry
of almost daily releases to the 1.x branch made it a chore again.

The final nail in the coffin was dropping PostgreSQL support. While it
wouldn't be much of an issue if starting on a clean host, with a clean slate,
i run all of my other stuff in PostgreSQL, and i much prefer to only
administer/backup one DMBS.

I'm currently on Hugo, and i really miss the online editing/publishing from
Ghost.

------
tekacs
> 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?

I for one would love to hear more from the Ghost team on how they approach
solving these very essential problems - any insight is welcome!

------
ljoshua
> _The best marketing we 've done has been to launch, over and over again._

That's my favorite takeaway from the article. Seems like a difficult thing to
do in practice, but also something I've been considering lately.

Anyone else have experience with doing repeated launches that they'd be
willing to share?

~~~
alex_anglin
[http://www.piedpiper.com/#company](http://www.piedpiper.com/#company)

;-)

~~~
pault
Am I the only one that's disappointed that I can't actually buy pied piper
coin?

------
jeremiahwv
> We wanted to know: What would it look like if you built a technology startup
> which could not make anyone rich. If you eliminated all the promises of
> wealth from the roadmap up front, and tried to build a good company, how
> would that affect the product, business, customers, and every little
> decision in between?

...

> We're currently looking at testing an affiliate program whereby we'll pay
> out a 30% commission every single month on the lifetime revenue of anyone
> referred to Ghost(Pro).

...

I believe this is called colocating your money and your mouth. I'm inspired.

------
dxxvi
It's very impressive that you need only $600k/year. How many people are there
in your team (including everybody, not just developers)?

~~~
dev1n
looks like 8 people total [1].

[1]: [https://ghost.org/about/](https://ghost.org/about/)

~~~
icebraining
Seems like they haven't updated that page, since
[https://blog.ghost.org/year-3/](https://blog.ghost.org/year-3/) mentions 9.
Or maybe the ninth person wants to remain... a ghost ( _ba dum tsh!_ )

------
cygned
I was on board from the beginning! What a great product. Too bad they dropped
support for Postgres at some point, otherwise it would still be my platform of
choice!

~~~
reilly3000
I’ve seen a couple comments about this issue, as well as it’s mention in the
article. What about Postgres is appealing to the point that it is a deal
breaker not to have? Is it familiarity or a specific aspect like scaling or
ecosystem?

~~~
cygned
I prefer Postgres because of its (in my opinion: better) features and my
familiarity with it. It wouldn't be a challenge to setup a MySQL/MariaDB
database if I wasn't already running a largerish Postgres instance where I
want to store my stuff. So the deal breaker here is me not wanting to have two
DBMS running on the server.

------
justinclift
> Our biggest marketing failure has been our documentation and resources. ...
> We're actually _hiring right now_ for someone to help us fix this and make
> using Ghost a really fantastic developer experience.

Putting user docs as part of a _marketing_ role is not lining things up for a
good result. :(

How about putting it under _engineering_ instead?

~~~
holychiz
User docs are customer-facing, and therefore entirely fitting to be under
marketing. Of course building the documents requires engineering contribution
for technical details.

~~~
chipotle_coyote
Yes, user docs are customer-facing, but the problem is that if they're under
the control of marketing, then documentation priorities will be set as if they
are marketing materials. And, possibly worse, a writer who works in marketing
will by and large be treated by engineers like, well, somebody who works in
marketing. (Without getting into sordid details, I'm speaking from personal
experience of having been a tech writer under engineering at one company and
under marketing at another.)

~~~
johnonolan
That's cool, but we literally don't have a marketing department. So whoever
gets hired will report directly to me, no matter what their title is.

The primary function of the role is to do writing, not engineering - and the
success of the role will be measured in terms of marketing, not engineering -
so to me the title we went with makes the most sense. I can definitely
understand the discussion here though :)

~~~
justinclift
> the success of the role will be measured in terms of marketing

Err... trying to grok that, and failing. Are you ok to flesh out what you
mean? :)

------
harrisreynolds
All I got to say is that Hannah Wolfe is a beast (in a really good way!).

Check out her number of commits compared to other contributors:
[https://chart.ly/github-dashboard/TryGhost/Ghost](https://chart.ly/github-
dashboard/TryGhost/Ghost)

Keep up the good work guys!

~~~
guessmyname
Without trying to offend… what's the quality of those commits?

I have a co-worker who commits 6x more changes than me, everyday, but only
because she commits many errors in the morning and have to fix them during the
day after multiple code reviews. She often forgets to run the test suite
before pushing her changes up. Even after the creation of a Git hook to pre-
test the changes after every commit, she still manages to break things when
they fall outside the scope of the automated tests.

The number of commits mean nothing if the quality is low.

~~~
johnonolan
Given that she's the CTO of the company, lead developer of the project, the
most senior engineer on the team, literally one of the top JavaScript
developers on all of Github -
[https://github.com/erisds..](https://github.com/erisds..). what do you think
the answer to that question is? :)

------
NicoJuicy
Ghost is already 5 years old... I'm getting old! I remember the first post...

------
davidkuhta
After the cell provider selling location article, this was a much needed
encouraging read. Thanks for sharing and good luck Ghost in your next 5 years!

------
misterbowfinger
> 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.

Really? I just read a comment from the CEO of HashiCorp who has a very
different take:

[https://news.ycombinator.com/item?id=17022563](https://news.ycombinator.com/item?id=17022563)

Unless all remote employees of Ghost are just contractors...

~~~
johnonolan
Yes they are exactly that.

Same with Automattic, Zapier, Buffer - and most of the other big remote
companies. In fact, we all use the same set of contracts. They tend to get
passed around founders.

All 3 of those other companies are USA based, so for anyone in the US they do
standard employment contracts - and anyone outside = self employed contractor
on a retainer. We're based in Singapore and don't have any staff in Singapore,
so effectively everyone is a remote self-employed contractor.

Our retainer contract looks a lot like an employment contract, practically
speaking, and builds in all the same sorts of provisions as you would expect.
We also cover expenses, where applicable, for team members to get independent
legal and accounting advice to make sure everything is set up correctly for
them.

Mr HashiCorp has gone way too far down the rabbit hole, by the sounds of it.
It makes sense to set up a subsidiary when you have a larger group of staff in
a single location. For instance, Automattic have a subsid in Ireland because
they acquired a company there and as a result have a lot of staff based there.
But otherwise it doesn't make sense to set up a full blown subsidiary in every
country when you're a tiny startup just trying to contract a couple of people.

~~~
misterbowfinger
Thanks for the insight!

> In fact, we all use the same set of contracts. They tend to get passed
> around founders.

Care to share? ;)

~~~
shrumm
seconded! Early days still for our startup but we are also interested in
pursuing the remote working route and we are incorporated in Singapore.

------
corinroyal
I've been rereading this article for days. Thanks so much for taking the time
to share the sorts of insights that rarely see light.

My company is looking into our options as to what sort of structure would be
best. We've considered being a worker-owned cooperative, a B Corporation, an a
non-profit. We have the same goals of developing the best products we can an
never selling out.

I wonder if you had any insight or suggestions on where to learn more about
these options and the consequences. What do non-profits offer to funders?
Everybody wants equity.

------
HHalvi
I remember looking for better alternatives for WordPress(i felt they alienated
the bloggers largely) and came across an article about Ghost. I was instantly
hooked to the whole thing to this day. I just wish the non hosted versions get
a better way to update to the latest version as well as a (official) script to
automate the install easily.

~~~
harveynick
I think this is what you're looking for: [https://github.com/TryGhost/Ghost-
CLI](https://github.com/TryGhost/Ghost-CLI)

I've only used it for a local install when playing with my site theme, but it
worked great (albeit quite picky about the versions of the dependencies).

~~~
bluehatbrit
When they launched ghost cli with ghost 1.0 I moved over to it a few days
after it had launched (small blog, not much readership). It was really easy to
move over to it, and updating ghost is a single command. I update it every
time there's a feature I want or once every few months. It's not without its
issues, but they're being actively worked on and it's improving each time I
update the cli as well. I'd recommend it to anyone self hosting a single
instance blog.

------
antigirl
I signed up for ghost when it was at its kickstarter phase. I was very excited
by the promise. A year later there were still long winded discussions taking
place on their github issues on how they should tackle responsive images.
There were alot of JS hacks around to overcome their missing features. I lost
interest over time

------
debacle
I didn't realize Ghost was a non-profit. Very noble. The feedback in Github is
interesting. Ghost is probably more likely to have issues with demanding users
than, say, mongodb.

Very cool and inspiring post. That said:

\- Ghost's marketing materials tend to outright lie to users when making
comparisons to WordPress or other platforms.

\- I dislike OSS projects that hide their OSS nature. Why does a user need to
pay $29/mo for an entry level blog? Why isn't there any obvious mention of the
OSS nature of the project on the pricing page, home page, or features page?

\- What's been done about the memory issues? Last time I tried ghost, it was a
bit of a memory hog.

~~~
michaeltbuss
Their home page at ghost.org literally says "Ghost is a fully open source,
adaptable platform for building and running a modern online publication" at
the top.

~~~
throwbacktictac
After reading this comment I went to check for myself. However I believe the
grandfather post still has a valid point. It's not "obvious" how to use the
self hosting open source version.

However, I'm pretty sure a person that was really interested in self hosting
would not have trouble figuring it out.

I don't necessarily think it's bad that they don't emphasize how to use the
open source version. After all, it is a business.

~~~
slim
They are claiming it is not a business

~~~
throwbacktictac
They didn't claim to not be a business in the blog post. They are a non-profit
business. They still need to earn money to pay bill, pay employees, etc.

"Being a non-profit means that the company has no shares. I don't own it.
Hannah doesn't own it. Nobody owns it - it's an independent entity. The
company makes money and pays expenses, salaries and taxes as normal - but
there's no way for it to be bought or sold either in part (investment) or as a
whole (aquisition). Any profit the company makes can only ever be reinvested,
not distributed. We can't cash out. Ever. Also the entire product is open
source and has no copyright. Anyone can do whatever they want with our code,
for free."

------
thoughtpalette
I've nothing but a positive experience using the self-hosted Ghost instance
for some clients. Glad to see this transparency and that they're doing well.

------
DRW_
I've really appreciated ghost, been using it pretty much since launch in one
way or another. Been really cool to see it develop over the years.

------
untilHellbanned
The Ghost website borrows alot from Stripe's.

------
me1337
only drawback ghost has it doesn't support EL7. and there is documentation
only for ubuntu. pretty bad :/

------
newsat13
Ghost is great. Would love to see support for LDAP/Oauth.

------
ulisesrmzroche
Ghost is looking dated today with those templates and their script tags.
Technically speaking, today, I'd rather use Gatsby as a Wordpress front-end.

~~~
augbog
I feel Ghost is trying to be the ideal replacement for WordPress i.e. you have
a lot of engineers who love JavaScript and node but also having a marketing
team that wants a blogging platform.

I also agree it feels like static site generators are starting to take over
(personally think its an awesome direction the web is headed towards for some
sites) but not everyone is familiar how to use them so Ghost is another nice
alternative.

~~~
ulisesrmzroche
I remember it used to sell itself as the most modern platform though, but that
was back in 2013 or so, perhaps that's why it bugs me.

------
amelius
I am not familiar with Ghost. Isn't it basically Wordpress, but built with
modern tools, and with a modern look?

~~~
abritinthebay
In the sense that it’s a blogging platform, sure. But that’s about where the
similarities end

------
atomical
I gave up on the install. So many errors, some of which I found as open issues
in their repo.

------
Giorgi
is Ghost still a thing? I thought they ceased to exist after nobody used it.

I guess wordpress beat them in every possible aspect.

~~~
harveynick
OpenAI are nobody? Square are nobody? Apple are nobody? Interesting...

[https://ghost.org/customers/](https://ghost.org/customers/)

------
relaunched
I'm a little surprised to read that Ghost doesn't use gitlab. Given the
companies are both open source and distributed work forces; not to mention
they call out github as a big headache.

>How open source works is: If you want something, you can build it.

~~~
andrewvc
The problems listed were with the interaction model. There's nothing I've seen
in GitLab's UX that would indicate it's any better.

~~~
relaunched
_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._

I read it as two parts. Interactions are flawed & Github doesn't really care
about open source. Just one guys opinion, and my wife works for gitlab, but
there is a deep commitment to open source and contributors, as well as an
abundance of places for deeper dialogues to occur, between projects /
contributors / the general public / gitlab.

+1 for also living in Minneapolis. We should get coffee.

~~~
bovermyer
Huh, I also live in Minneapolis.

How many HNers are around here?

~~~
relaunched
There are a few. Are you thinking what I'm thinking? A meetup?

~~~
bovermyer
Yes, that's exactly what I was thinking.

