Reading the 23 columns of basings/selfhosted-music-overview one cell at a time
A table listing software network services which can be hosted on your own servers
At a glance
- What is it?
- The comparison table behind this project is one Markdown file with three finished rows. Cell by cell, it shows what a blank means, which promises the file makes and does not keep, and what a reader can verify for themselves.
- Who is it for?
- Treat the file as a lead list rather than a verdict. The finished rows do answer three questions you can check yourself: whether a server writes tags, whether it exposes a Subsonic or OpenSubsonic API, and what license it ships.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 36 days ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on October 4, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The whole project is two files and one of them is the table
Two entries sit at the root of this repository: LICENSE and README.md. There is no source directory, no package manifest, no container recipe, no tagged release and no homepage, and the language field comes back empty. The project's own one line summary calls it a table listing software network services which can be hosted on your own servers, so nothing here is meant to be installed or run.
The licence of the table itself is the first loose end. The README opens with a bare link to the GNU Free Documentation License 1.3 text, the license field reads NOASSERTION, and a LICENSE file sits beside the README with its wording given nowhere else. Those three signals do not resolve into a single answer, and settling which one governs the file is a call for whoever maintains it, not for a reader inferring a licence from a badge at the top.
On the workflow side, 50 open issues sit next to one tracked file, and the last push landed on 2026-08-30 on the default branch main.
Six of the seven sections in the table of contents never arrive
The table of contents promises Client Overview, Emoji Definitions, How to Contribute (WIP), Noteworthy, Selfhosted Photos and Footnotes, alongside the Table of Contents and Server Overview that do appear. Three headings are actually present in the file: the project name, the table of contents, and Server Overview.
Server Overview is one wide table with 23 cells per row, an unnamed first column for the project name, 21 named feature columns, and an unnamed last column. Three rows are filled in completely, covering Airsonic, Airsonic-advanced and gonic. The fourth row, Ampache, supplies 14 of its 23 cells and stops after the DLNA value, so Multi-Room, Lyrics, free, Demo, Source Code, License and Reviewed Version are not written for it. Anyone setting Ampache beside the other three is setting a finished record against a partial one, and nothing in the row signals the difference.
A blank cell and a cross are two different ways of saying nothing
Cells in this table carry five kinds of value: a check mark, a cross, a grey question mark, an outbound link, and nothing at all. The blank is the weakest of them, and the file leans on it. In the Airsonic and Airsonic-advanced rows, Share Music, Smart Playlists, 5 Star Rating, Replay Gain, Multi-Room and Lyrics are all empty.
The gonic row shows what that costs a reader. It marks Write Tags with a cross while leaving DLNA and Lyrics blank in the same row, so one absence reads as a recorded no and the other reads as nobody having written anything down. No legend entry in the file separates the two cases.
The grey question mark is the honest cell. It appears exactly three times, and all three sit in the Jukebox Mode column, for Airsonic, Airsonic-advanced and Ampache. Whether those servers can act as a jukebox is unconfirmed, and whoever filled the table recorded the gap rather than guessing at it.
The money sign never stands on its own
The dollar shortcode appears twice in the whole table, and both times it is welded to a check mark in the Airsonic row: once in the DLNA column and once in the free column. Airsonic-advanced is the natural comparison, since its row is otherwise close. Its DLNA cell is a plain check mark and its free cell is also a plain check mark, so the same two columns carry a cost flag in one row and nothing in the other.
The reader has to infer the meaning instead of reading it. Emoji Definitions is listed in the table of contents but is not one of the three headings present, so no line in the file states what a check mark followed by a dollar sign is meant to convey. Placement supports one reading, that the feature exists and costs money, which fits a free column and a DLNA column better than it fits a feature rating.
One cell needs no interpretation at all: Demo is a cross in each of the three finished rows.
Two cells cite a footnote that the file never defines
Two cells in the gonic row carry a footnote marker. The Smart Playlists cell and the Multi-Room cell both read as a check mark followed by the marker. No line anywhere in the file defines it, and the Footnotes heading that would hold the definitions is announced in the table of contents without appearing among the three headings present. The identifier is also misspelled as recipies, so a search for the missing text inside the repository starts from a wrong word.
The marker qualifies a positive claim, which is what makes the missing text matter. A check mark in Smart Playlists might mean the feature simply exists, or it might mean it exists subject to whatever condition the footnote was going to spell out. Both readings sit in the same cell.
Here is the gonic row as written, with the Smart Playlists and Multi-Room markers visible:
| [gonic](https://github.com/sentriz/gonic) | [last.fm](https://www.last.fm/), [ListenBrainz](https://listenbrainz.org/) | :heavy_check_mark: | :heavy_check_mark: | :x: | [OpenSubsonic](https://opensubsonic.netlify.app/) | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: [^gonic-recipies] | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | :heavy_check_mark: [^gonic-recipies] | | :heavy_check_mark: | :x: | [GitHub](https://github.com/sentriz/gonic) | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html) | 0.16.2 | [gonic](https://github.com/sentriz/gonic) |The two markers are the only footnote references in the file, and both point at text that is not in it.
Row order and version strings do not follow one convention
The four rows do not run in alphabetical order. Airsonic and Airsonic-advanced come first, then gonic, then Ampache, so the one lowercase project name is the reason the sequence breaks. The file states no sort rule, which leaves a row's position carrying no meaning anyone can rely on.
Reviewed Version is the weaker column, because its three values use three formats: 10.6.2 for Airsonic, 11 for Airsonic-advanced, and 0.16.2 for gonic. A two part number sitting beside three part numbers cannot be compared at a glance, and this is the only column that pins a server to a point in time, so it is the column most worth getting right. Ampache has no version at all, its row ending several columns short of that point.
The last column has no header. In each finished row it repeats the project link already sitting in the first column.
One link in the Ampache row is missing a slash
The Ampache row is the only finished row carrying three scrobbling services in one cell: last.fm, ListenBrainz and libre.fm. Two of those targets are well formed. The third is written with a single slash after the scheme, so it does not resolve the way the other two do. Nothing in the cell marks it, and the row offers no note about it.
The API column mixes formats the same way. Airsonic and Airsonic-advanced each put a single Subsonic link in the cell, gonic puts a single OpenSubsonic link, and Ampache puts a Subsonic link followed by the bare word custom, with no link and no explanation attached to it. Scrobbling runs the other direction: those cells hold two or three outbound links and say nothing about whether the service works against that server. So the table carries a link where a claim is needed and a claim where a link is needed, and the reader has to work out per cell which one is on screen.
Editorial conclusion
Treat the file as a lead list rather than a verdict. The finished rows do answer three questions you can check yourself: whether a server writes tags, whether it exposes a Subsonic or OpenSubsonic API, and what license it ships. Cost, ranking and the three Jukebox Mode cells marked with a question mark have not been settled by whoever filled them in. Before you pick a server from this table, open the project and confirm the version yourself, because the Reviewed Version column mixes two part and three part numbers and one of the four rows has none at all.
Frequently asked questions
Does basings/selfhosted-music-overview rank the servers it lists?
No. It is a table of 23 columns with no score, no weighting and no stated sort rule. The three finished rows run Airsonic, Airsonic-advanced and gonic, which is not alphabetical, and Jukebox Mode is marked with a grey question mark for all three of them.
Can the table tell me whether a server writes tags to files?
Yes, there is a Write Tags column, and it splits the four rows. Airsonic, Airsonic-advanced and Ampache carry a check mark, gonic carries a cross. That same gonic row leaves DLNA and Lyrics blank instead of marking them, so a blank in it carries no verdict either way.
What license is the table itself under?
The three signals disagree. The repository file listing gives the license as NOASSERTION, the first line of README.md links the GNU Free Documentation License 1.3 text, and a LICENSE file sits at the repository root with its wording given nowhere else. The GPLv3 marks in the table's License column describe the listed projects, not this file.
Where are the clients that basings/selfhosted-music-overview sets out to cover?
Announced but not written out here. The table of contents links Client Overview along with Emoji Definitions, How to Contribute (WIP), Noteworthy, Selfhosted Photos and Footnotes, and the file carries three headings in total, ending with the Server Overview table partway through its Ampache row.
Is basings/selfhosted-music-overview a music server I can install?
No. Its own summary calls it a table listing software network services which can be hosted on your own servers, and the repository root holds only LICENSE and README.md. There is nothing to install, no tagged release, no homepage, and the language field is empty.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/basings-selfhosted-music-overview)