Posthog has been a fantastically useful tool to understand how our product is being used! Don't get some of the hate - any OSS company will probably embed some telemetry occassionally.
Big fan of posthog. I've been using it for over a year and loving it as a replacement or augmentation to Google Analytics for funnels and user interactions.
We've integrated posthog (cloud hosted) and have been using it for a few months now. It's got a rough edge or two but it's tight, integrated nicely with the codebase, and an order of magnitude cheaper than amplitude. I'd like a nicer sentry integration
Why is the self hosted version framed as a "hobby"?
Is this another one of those enshittification of open source where open source is used more as a marketing gimmick instead of following it's true ethos?
I’ve actually used it self hosted pretty much since posthog launched and moved to their cloud after a couple years. Our product blew up and it was difficult to scale, as well as a few hosted only features that we needed (by then we raised and could afford it).
I also contributed code (and got some swag) which was promptly merged.
They’ve also open sourced how they run the company and onboarding (similar to GitLab).
All in all I think posthog is one of the most balanced open source product in the market, in terms of the easiness of self hosting, the feature set, the engineering culture, openness and business model.
If you don’t have a lot of traffic self hosted is excellent and can take you very far.
I tried to self-host recently and there was a lot of brokenness, and they discontinued the helm chart. They clearly don't want you to actually self host anymore and it's a shame. I have security requirements and can't yet afford their security-approved cloud product.
That's not what I said. They did offer it, then removed it after I had made the decision to use them partly based on the Open Source self-hosting nature of the project. They used Open Source to bait and switch me.
I don't even need helm support, I'm fine to do my own. But they stopped even providing versioned releases so there's no stable tag or branch to build and target. That's actively hostile to anybody not spending their full day managing Posthog stuff.
I had planned on switching to the cloud Posthog when we got big enough, but it seems like we will have to start out with other options and it'll be much harder to change that later.
(Founder) wanted to explain our intent behind the business… so here’s the origin story.
We tried to make the business work exclusively with self hosted and open source focus. I thought cloud would never work as we have so much competition. However we just couldn’t make hosting it at scale a good experience. We often have more data than customers production instances.
We wound up having to spend a ton of time debugging k8s in other people’s infra via screenshots. This wasn’t good for us or customers.
We kept having people hosting it themselves for no reason other than liking us so for the sake of a good experience for them, we made a cloud product. This represented the majority of users. It’s also cheaper for most people as we just have a big free tier and shared infra costs, so no hosting bill. Turns out cloud worked.
We didn’t want to abandon the OS project but we stopped trying to make money via an open core model. That means we call it a hobby instance because it just doesn’t scale very well.
> That means we call it a hobby instance because it just doesn’t scale very well.
Well you guys almost certainly operate posthog in Kubernetes yourselves. You either use a cloud-provided database, or you use a Kubernetes operator to run it on top of someone's infrastructure. Clickhouse, Kafka, whatever. They all have operators. I don't know when you adopted Temporal. Whatever. I may not be 100% right, but this is true in general.
The hobby offering doesn't have to scale poorly. It could scale just as well as your core offering. I am not saying you should, you are entitled to monetize something. It also doesn't have to be hard to install. You could author a Posthog CRD instead of using Helm as a low budget CRD. Maybe you already have that. Maybe your CRD exists as rows in some database and not in Kubernetes's dataplane. The interesting part of all of this is that you had an intuition that Kubernetes obsoletes a lot of the value proposition of traditional SaaS. The problem is figuring out, well, what IS the value proposition? People will endure a lot of brain damage to save on recurring costs, it is totally rational.
Another POV is this shows the limitations of Y Combinator's offering. It's true that enterprise sales goes way faster when it's startup CEO to startup CEO. Until you guys are worth billions of dollars, and even then, it's not 100%, your counterpart at a Fortune 1000 might be some CTO, some managing director with no real decisionmaking power. But he asks his team to pay the contractors in Pakistan to take the brain damage of self hosting Posthog and reimplementing your premium features, all because he cannot get meaningful approval for unlimited, use-based pricing, and then if you acquiesce to fixed pricing, you leave so much money on the table, and you sign up to dedicate a whole engineer to their customization and problems. While Kubernetes isn't to blame for this, it did make the Pakistan BANTA possible, and probably brought down pricing by a lot, hurting everyone trying to make good software for money. Very, very tough situation.
Something I can't really figure out is why Posthog hasn't gotten on Bitnami's (VMWare's) radar. Piwik and Matomo are. Mirantis has a great Kubernetes distribution, maybe the most painless one for people who are willing to take brain damage, and they could wind up doing this too. As always OSS is a value for someone else's thing that that someone else didn't pay for.
I can only tell you my experience as a newcomer to PostHog last year. I went to try it out, and visited the documentation to figure out how to get it up and running. The documentation sent a very clear message of “You’d be a fucking idiot to put this into production. The open-source version is pathetic and can’t handle real traffic. Pay us.”. This immediately killed all interest I had in PostHog and I didn’t go any further. Your open-source version doesn’t have to scale indefinitely, but if you can’t stand behind your open-source version at all, I don’t trust your commercial version at all either. A closed-source product is preferable to an open-source product where the maintainers strongly warn people not to use it.
This is well said and I agree. It is disingenuous and raises cognitive dissonance to offer something but not stand behind it and in fact warn people NOT to use it.
Fairly accurate, you can only get support if you're using their cloud product.
"We no longer support paid, open-source deployments and it is no longer possible to buy licenses for self-hosted versions - we instead recommend migrating to PostHog Cloud." - from: https://posthog.com/docs/self-host
OP's ask was: "Is this another one ... where open source is used more as a marketing gimmick"
My original comment wasn't intended to indicate that there is an obligation to provide support. The deliberate choice to: a) not offer paid support for open-source deployments, and b) sunsetting the Kubernetes deployments in favor of their cloud version, is a signal that shows PostHog doesn't /really/ want you to be running the software in a self-hosted manner.
Just look at the "Open-source hobby deploy" (from the README in git) which calls out that it "should scale to approximately 100k events per month" but their cloud offering gives you 1 million events per month for free. What is the point of the hobby "deploy"?
Back to OP -- my answer is yes, this is a source-available service that you can modify and play around with locally. The source and documentation behind the operations of PostHog aren't available.
The math didn't add up for us (I work at PostHog). At the rate we were scaling, we would have needed an entire call center's worth of highly trained Kubernetes support engineers to debug everyone's "my pods just died" / "Kafka just stopped" / "what is Zookeeper" problems.
This stack isn't straightforward to manage, and we couldn't crack the code of doing it at scale for other people without even having access to their systems. There was no malicious intent.
I disagree with the notion that oss is used as marketing bait.
a) offering paid support for bespoke selfhosted installations is an entirely different business model than building a managed service on your oss offering
b) maintaining k8s/helm charts is work - who is paying for that? The selfhosting users certainly aren’t and usually contributions are not enough and even then still need reviews.
You think it’s a deliberate choice.
Yes it’s the choice between going out of business and continuing.
My experience with it was a PM creating a ticket for our ops group with the title "install posthog" targeting our onprem k8s infra. He had included a link to the helm chart, but that's about it.
When I cracked open the chart I just started laughing. It installs not just clickhouse (via the operator), but also kafka and zookeeper!
This is _not_ a product I would ever self host unless you're planning to provide a handful of FTEs to install, manage, and fix some of the most complicated software you can run on Kubernetes.
Hi, PostHog co-founder here. We support deletion of individual users and entire projects, so it's inaccurate to say we "don't support any data deletion". We also TTL recordings after 1 month for free users and 3 months for paid users. You're right that we don't have a way of TTL-ing out events data automatically.
We have had some requests [0]for this though it hasn't been requested that often hence we haven't prioritised this. We've recently improved some of our tooling around this so should be easier for us to ship.
Using Posthog (hosted, free tier) for a side project. It was easy to set up and is pleasant to use! Better than another product in this area I had previously tried.
i was very sad to see posthog enabled by default with a hardcoded key in open-interpreter, with a tiny disclaimer that telemetry had been added just with a new feature flag quietly introduced to disable it. Sad to see this sort of thing getting shipped by default, surprised to see my local llm calls leaving my PC. I don't know why developers consider logging a challenge for some reason and default to using MSP for everything including internal logs. Seems unwise in this age of valuable data to just give it away for free when you can just write to a data layer you own...