From the repo's about section: PostHog FOSS is a read-only mirror of PostHog, with all proprietary code removed. NOTE: This repo is synced automatically from the main PostHog repo. Please raise any issues and PRs there.
The AGENTS.md is interesting, apparently the primary most important principle is, "Avoid em-dashes like the plague".
That's an odd request. I always use my own voice for certain things, such as posting to hacker news, or writing my thoughts on a proposal. But for other things such as writing up a bugfix, if I'm getting an AI to write it, I'd rather not hide the fact I've done so.
In fact I usually go out my way to mark it as AI written, to give a heads up to any human reader so they don't waste their time if they don't want to read it.
Last time I checked, Posthog self hosted was basically unusable. They have a hobby deployment script which just pulls the latest build from master which varies from “somewhat works” to “completely broken”
Would love for you to try Amplitude. We've put a lot of work into making sure the core is usable. We've also started to fix a lot of the most common complaints about our pricing.
So the solution to ”this open source project is really bad at self-hosting” is ”let’s use a 100% proprietary system that does not allow any self-hosting at all”?
They want you to buy their hosted service, that's where the convenience is sold. If they give you a one liner script you can paste in or a docker compose that does everything from scratch they cannot sell their hosted services.
> We also learned that the tools to do that automation just don't exist. We kept finding new failure modes. When onboarding a new customer we would have to vet their engineering team for Kubernetes experience so that we'd be confident they could help us debug issues in their PostHog deploy. Folks that didn't have infra experience would often be able to get something set up, only to get stuck when something went wrong.
I empathize that this is a sane choice for PostHog to make as a business. But - if you can't deploy and dogfood your changes, are you truly able to maintain a fork with customizations? And if you can't use your own changes, is the software open-source, or source-available?
Perhaps the punchline is that any scalable & performant web analytics platform must necessarily be a distributed system of ingestion and storage services, and that complexity is like oil and water with the classic "you should be able to swap out the dependencies on your systems with ones you fork" open-source ethos.
PostHog had an opportunity to break this trend, to innovate and invest in those automations they correctly said didn't exist - and I was cheering them on. I've been saddened to see them move in the opposite direction.
I think posthog is one of these businesses where the COSS model does not work well.
COSS works well when there is a large distribution advantage of being OSS. This could be bacuse a large portion of users (need to) self-host the solution. This is true for databases, people will always need to self-host dbs (e.g. as part of their docker compose in dev, etc...). These people are also hard core engineers that will 1) talk about the db and 2) contribute to the project. So an OSS db have a large network effects and distribution advantage.
Posthog had a distribution advantage from OSS in their beginnings -- their beachhead was the self-hosting oss community. Now, it does not add much value -- It's unlikely Github adds much for their distribution. So, it does not make sense for them to do much more than just maintain it lightly. In fact, they try to push you from self-hosting by having great free tiers and startup programs.
It's hard for me to express how much I dislike their marketing website. Sometimes when you have a "cool idea" you should sit with it a moment and then pull back.
I remember applying sometime ago, not really knowing what they did. They then spammed me with marketing mail, now they're open-sourced and had received a (supposedly marketing) job posting?
Granted in this entire history I had no idea what their product was. Seems flakey, but I haven't used it.
Looks like they created mess with AI and then open sourced it. I remembered I had to shift from them to metabase because they closed sourced their deployments docker/kubernetes I guess it was 3 years back.
But now AI screwed them over so they come with their own open-source spaghetti.
Nothing has changed, just OP found the mirror of the main repo with the ee/ folder removed. That repo has been up for most of the lifetime of the company.
Has it? This is from that repo, "PostHog FOSS is a read-only mirror of PostHog, with all proprietary code removed." Seems they have some proprietary code in the non-open-source version.
I remember around 2 years ago give or take, we used it at a company for A/B testing. The UI was sensible enough. But fast forward to a couple of weeks ago, I opened an account and I just could not understand what I saw. I remember it being pretty good, too bad the UI got crappified with AI.
I recently had to turn off posthog on my app, it was collecting so much information that wasn't needed that it was making my app unusably slow. I'm sure i'm missing some knob, but the fact that after an hour long claude code session i couldn't figure out how to fix it means posthog has gotten too fiddly.
If you are on react/next.js, defer the client side initialization until after your app has painted. PostHog (especially with their session recording feature) likes to initialize a little before the rest of your app loads through either their context provider or instrumentation.ts (if you are on next.js). It's generally insignificant except if you are building a B2C web app where the extra 100ms makes a difference in retention.
On the server side, queue all analytics call and run them after the main request completes (on next.js it would be within an after() function on the server side).
You can paste this comment into Claude and it should handle the refactor just fine.
Note with the changes in analytics scheduling, you will lose out on real time analytics in favor of better time to first load. So keep the trade-off in mind.
We've always been open source, so I'm not sure I understand what this is about! This is linking to our `posthog-foss` repository which has been a thing for years now, it's simply the main repository without the `ee/` folder - which is not a folder we have a lot inside anyways, we've never tried hiding anything behind it intentionally.
51 comments
[ 2.5 ms ] story [ 49.6 ms ] threadPresumably so folks can be sure they're not accidentally pulling in proprietary code.
> This repo is available under the MIT expat license, except for the ee directory (which has its license here) if applicable.
> Need absolutely 100% FOSS? Check out our posthog-foss repository, which is purged of all proprietary code and features.
That's an odd request. I always use my own voice for certain things, such as posting to hacker news, or writing my thoughts on a proposal. But for other things such as writing up a bugfix, if I'm getting an AI to write it, I'd rather not hide the fact I've done so.
In fact I usually go out my way to mark it as AI written, to give a heads up to any human reader so they don't waste their time if they don't want to read it.
In their rationale for this:
> We also learned that the tools to do that automation just don't exist. We kept finding new failure modes. When onboarding a new customer we would have to vet their engineering team for Kubernetes experience so that we'd be confident they could help us debug issues in their PostHog deploy. Folks that didn't have infra experience would often be able to get something set up, only to get stuck when something went wrong.
I empathize that this is a sane choice for PostHog to make as a business. But - if you can't deploy and dogfood your changes, are you truly able to maintain a fork with customizations? And if you can't use your own changes, is the software open-source, or source-available?
Perhaps the punchline is that any scalable & performant web analytics platform must necessarily be a distributed system of ingestion and storage services, and that complexity is like oil and water with the classic "you should be able to swap out the dependencies on your systems with ones you fork" open-source ethos.
PostHog had an opportunity to break this trend, to innovate and invest in those automations they correctly said didn't exist - and I was cheering them on. I've been saddened to see them move in the opposite direction.
COSS works well when there is a large distribution advantage of being OSS. This could be bacuse a large portion of users (need to) self-host the solution. This is true for databases, people will always need to self-host dbs (e.g. as part of their docker compose in dev, etc...). These people are also hard core engineers that will 1) talk about the db and 2) contribute to the project. So an OSS db have a large network effects and distribution advantage.
Posthog had a distribution advantage from OSS in their beginnings -- their beachhead was the self-hosting oss community. Now, it does not add much value -- It's unlikely Github adds much for their distribution. So, it does not make sense for them to do much more than just maintain it lightly. In fact, they try to push you from self-hosting by having great free tiers and startup programs.
I know that if I buy PostHog, and they go out of business or increase their prices, etc. I have an out.
I remember applying sometime ago, not really knowing what they did. They then spammed me with marketing mail, now they're open-sourced and had received a (supposedly marketing) job posting?
Granted in this entire history I had no idea what their product was. Seems flakey, but I haven't used it.
I feel I'm missing some basics as to what this can do for me or what problem it solves.
edit so it's like google analytics .
Source: I was there
But now AI screwed them over so they come with their own open-source spaghetti.
I think is a bit of product slopification.
Please update title accordingly.
On the server side, queue all analytics call and run them after the main request completes (on next.js it would be within an after() function on the server side).
You can paste this comment into Claude and it should handle the refactor just fine.
Note with the changes in analytics scheduling, you will lose out on real time analytics in favor of better time to first load. So keep the trade-off in mind.
Look at the sheer number of ancillary files in this repo:
What percentage of those files are actually directly related to the source code of the software? 1%?How can anyone in their right mind look at this kind of setup and feel good about it?
We've always been open source, so I'm not sure I understand what this is about! This is linking to our `posthog-foss` repository which has been a thing for years now, it's simply the main repository without the `ee/` folder - which is not a folder we have a lot inside anyways, we've never tried hiding anything behind it intentionally.