Still Maintained

Self-hosted Analytics: what licence are you actually agreeing to

“Self-hosted” and “open source” are not the same promise, and the lists that recommend these projects rarely separate them. This page sorts 34 analytics projects by the licence you are actually agreeing to, as read on 2026-08-20.

16 of 34 are permissive: run them, change them, keep your changes to yourself. 11 are AGPL, where serving a modified copy over a network obliges you to publish those changes, which is the clause that catches people who self-host for a team. 1 is not open source at all, carrying a proprietary or restricted-use licence. The remaining 6 are ordinary copyleft.

ProjectLicenceWhat that meansStarsMaintenanceLanguage
SupersetApache-2.0Permissive, no strings74,318ActivePython
UmamiMITPermissive, no strings38,281ActiveTypeScript
PostHogMITPermissive, no strings37,802ActivePython
NetronMITPermissive, no strings33,369ActiveJavaScript
RedashBSD-2-ClausePermissive, no strings28,758ActivePython
DruidApache-2.0Permissive, no strings14,044ActiveJava
LitlyxApache-2.0Permissive, no strings1,741SlowingTypeScript
MiddlewareApache-2.0Permissive, no strings1,621ActiveTypeScript
GoModelMITPermissive, no strings1,072ActiveGo
OffenApache-2.0Permissive, no strings979ActiveJavaScript
Medama AnalyticsApache-2.0, MITPermissive, no strings639ActiveGo
Daily Stars ExplorerMITPermissive, no strings398ActiveJavaScript
LiwanApache-2.0Permissive, no strings199ActiveRust
HitKeepMITPermissive, no strings82ActiveGo
ANALOGMITPermissive, no strings48ActiveTypeScript
d8a.techMITPermissive, no strings18ActiveGo
MatomoGPL-3.0Copyleft, publish your changes21,793ActivePHP
GoAccessGPL-2.0Copyleft, publish your changes20,828ActiveC
GoatCounterEUPL-1.2Copyleft, publish your changes5,894ActiveGo
SocioboardGPL-3.0Copyleft, publish your changes1,494ActiveJavaScript
ShaperMPL-2.0Copyleft, publish your changes1,234ActiveGo
AWStatsGPL-3.0Copyleft, publish your changes434SlowingPerl
MetabaseAGPL-3.0AGPL, network copyleft48,846ActiveClojure
PostizAGPL-3.0AGPL, network copyleft34,893ActiveTypeScript
Plausible AnalyticsAGPL-3.0AGPL, network copyleft28,674ActiveElixir
RybbitAGPL-3.0AGPL, network copyleft12,790ActiveTypeScript
Countly Community EditionAGPL-3.0AGPL, network copyleft5,888ActiveJavaScript
VinceAGPL-3.0AGPL, network copyleft2,014SlowingGo
AptabaseAGPL-3.0AGPL, network copyleft1,777ActiveTypeScript
EDAAGPL-3.0AGPL, network copyleft204ActiveTypeScript
Prisme AnalyticsAGPL-3.0, MITAGPL, network copyleft129SlowingTypeScript
SwetrixAGPL-3.0AGPL, network copyleft72ActiveShell
Statistics for StravaAGPL-3.0AGPL, network copyleft6ActiveHTML
RudderStackElastic-2.0Not open source, restricted use4,474ActiveGo

What the licence column means

The Maintenance column is a second, independent check: the age of the most recent commit on the default branch, read from the GitHub API on 2026-08-20. Active is within 180 days, Slowing is 180 to 365, Dormant is over a year, Archived means the maintainer marked the repo read-only, and Not measured means the project is hosted outside GitHub so the check does not apply.

Source data from awesome-selfhosted-data, used under CC BY-SA 3.0. Licence family grouping and maintenance status are computed by this site (from the upstream licence fields and the GitHub API) and are not part of the upstream dataset. Licence classification is a summary, not legal advice: check the project’s own LICENSE file before you rely on it. This page is published under the same licence.