Still Maintained

Self-hosted Money, Budgeting & Management: 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 42 money, budgeting & management projects by the licence you are actually agreeing to, as read on 2026-08-20.

19 of 42 are permissive: run them, change them, keep your changes to yourself. 10 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. 5 are not open source at all, carrying a proprietary or restricted-use licence. The remaining 8 are ordinary copyleft.

ProjectLicenceWhat that meansStarsMaintenanceLanguage
HyperSwitchApache-2.0Permissive, no strings43,509ActiveRust
ActualMITPermissive, no strings28,251ActiveTypeScript
BTCPay ServerMITPermissive, no strings7,714ActiveC#
Kill BillApache-2.0Permissive, no strings5,694ActiveJava
ezbookkeepingMITPermissive, no strings5,429ActiveGo
InvoicePlaneMITPermissive, no strings3,110ActivePHP
FavaMITPermissive, no strings2,553ActivePython
FOSSBillingApache-2.0Permissive, no strings1,679ActivePHP
ExpenseOwlMITPermissive, no strings1,480SlowingHTML
IHateMoneyBSD-3-ClausePermissive, no strings1,388ActivePython
BitcartMITPermissive, no strings975ActivePython
SolidInvoiceMITPermissive, no strings948ActivePHP
REI3MITPermissive, no strings573ActiveJavaScript
OcularMITPermissive, no strings553ActiveVue
Family Accounting ToolApache-2.0Permissive, no strings364ActiveScala
DePayMITPermissive, no strings132ActiveJavaScript
YAFFAMITPermissive, no strings108ActivePHP
EconumoMITPermissive, no strings93ActiveGo
Mybucks.onlineMITPermissive, no strings19ActiveJavaScript
WallosGPL-3.0Copyleft, publish your changes8,374ActivePHP
OctoBotGPL-3.0Copyleft, publish your changes6,443ActivePython
Budget BoardGPL-3.0Copyleft, publish your changes874ActiveC#
SHKeeperGPL-3.0Copyleft, publish your changes606ActivePython
VoucherVaultGPL-3.0Copyleft, publish your changes508ActiveHTML
MyFin BudgetGPL-3.0Copyleft, publish your changes303ActiveTypeScript
GRRGPL-2.0Copyleft, publish your changes109ActivePHP
GaletteGPL-3.0Copyleft, publish your changes70ActivePHP
Firefly IIIAGPL-3.0AGPL, network copyleft24,377ActivePHP
LagoAGPL-3.0AGPL, network copyleft10,368ActiveGo
SureAGPL-3.0AGPL, network copyleft9,538ActiveRuby
GhostfolioAGPL-3.0AGPL, network copyleft9,159ActiveTypeScript
BigcapitalAGPL-3.0AGPL, network copyleft3,847ActiveTypeScript
InvoiceShelfAGPL-3.0AGPL, network copyleft1,800ActivePHP
OpenBudgeteerAGPL-3.0AGPL, network copyleft971SlowingC#
WYGIWYHAGPL-3.0AGPL, network copyleft894ActivePython
KresusAGPL-3.0AGPL, network copyleft339ActiveTypeScript
Receipt WranglerAGPL-3.0AGPL, network copyleft267ActiveGo
AkauntingBUSL-1.1Not open source, restricted use10,076ActivePHP
Invoice NinjaElastic-2.0Not open source, restricted use10,010ActivePHP
monetrFSL-1.1-MITNot open source, restricted use678ActiveGo
Assets⊘ ProprietaryNot open source, restricted use182ActiveTypeScript
Pancake⊘ ProprietaryNot open source, restricted use-Not measuredPHP

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.