Still Maintained

Self-hosted Media Streaming - Audio Streaming: 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 28 media streaming - audio streaming projects by the licence you are actually agreeing to, as read on 2026-08-20.

13 of 28 are permissive: run them, change them, keep your changes to yourself. 3 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 11 are ordinary copyleft.

ProjectLicenceWhat that meansStarsMaintenanceLanguage
koelMITPermissive, no strings17,222ActivePHP
BeetsMITPermissive, no strings15,563ActivePython
MopidyApache-2.0Permissive, no strings8,558ActivePython
musikcubeBSD-3-ClausePermissive, no strings4,825ActiveC++
Black CandyMITPermissive, no strings4,402ActiveRuby
AzuraCastApache-2.0Permissive, no strings4,004ActivePHP
PolarisMITPermissive, no strings2,719ActiveRust
SwingMusicMITPermissive, no strings2,045ActivePython
multi-scrobblerMITPermissive, no strings1,182ActiveTypeScript
AudioserveMITPermissive, no strings856ActiveRust
StrettoMITPermissive, no strings634ActiveJavaScript
vod2pod-rssMITPermissive, no strings381ActiveRust
FunkwhaleBSD-3-ClausePermissive, no strings-Not measuredPython
Navidrome Music ServerGPL-3.0Copyleft, publish your changes22,987ActiveGo
AudiobookshelfGPL-3.0Copyleft, publish your changes14,039ActiveJavaScript
SnapcastGPL-3.0Copyleft, publish your changes7,824ActiveC++
mpdGPL-2.0Copyleft, publish your changes2,745ActiveC++
gonicGPL-3.0Copyleft, publish your changes2,514ActiveGo
mStreamGPL-3.0Copyleft, publish your changes2,380ActiveJavaScript
Lyrion Music ServerGPL-2.0Copyleft, publish your changes1,760ActivePerl
LMSGPL-3.0Copyleft, publish your changes1,660ActiveC++
moOde AudioGPL-3.0Copyleft, publish your changes1,402ActivePHP
PinepodsGPL-3.0Copyleft, publish your changes960ActiveRust
BotWaveGPL-3.0Copyleft, publish your changes140ActivePython
AmpacheAGPL-3.0AGPL, network copyleft3,823ActivePHP
LibreTimeAGPL-3.0AGPL, network copyleft942ActivePHP
SupysonicAGPL-3.0AGPL, network copyleft290ActivePython
Väinö⊘ ProprietaryNot open source, restricted use-Not measuredPython

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.