The story
Back in 2018 almost nothing spun up a voice channel on demand and tidied it away afterwards. Instead of guarding the idea, we published the code. The pattern caught on, which was always the point. Most of what grew from it went the other way though: closed source, with the good parts locked behind a premium tier.
The bot has since been rewritten from the ground up in TypeScript so it runs reliably for servers of any size, but the promise never changed. The entire codebase is public, it is the same one powering the hosted service, and every feature works on every server. Nothing is locked away.
What AGPL-3.0 means for you
AVC is licensed under AGPL-3.0. In plain terms, you can read, run, and fork the exact code we host. Not a stripped-down community edition, the real thing. If we ever turned greedy or got acquired and went weird, the exit is already built in. You take the code and go. That is the guarantee that keeps us honest.
So why charge for hosting?
Because the machines cost real money, and someone has to keep the shards warm. A big server is more work to serve: more voice state, more presence, a bigger database, bigger nodes. We charge for that, for the hosting and not for the features. Paying for the hosted service is what keeps AVC alive and independent, with no ads and no selling your data. Pay for size, never for features.
One codebase, two ways to run it
The hosted service and the self-hosted version are not forks. They are the same code, differing only by configuration. Self-hosting is the default path now and needs no special setup: one container plus Postgres, run docker compose up, migrations apply themselves, and slash commands register themselves. Set SELF_HOSTED=true and the billing side simply stays dormant, so no trials, no tiers, and no nagging.