# suggest_a_better_name [![REUSE status](https://api.reuse.software/badge/git.sr.ht/~amolith/suggest_a_better_name)](https://api.reuse.software/info/git.sr.ht/~amolith/suggest_a_better_name) `suggest_a_better_name`, for want of a better name, is a libre, decentralised, and somewhat stripped-down alternative to [Ultimate Guitar](https://www.ultimate-guitar.com/). # But … why? While the core functionality of UG is fantastic, I believe many of the features are completely unnecessary and only serve to clutter the UI. I also dislike the inundation of ads, paywalling of important features such as PDF export, and the implication that every single piece has a video tutorial you *could* access … if only you were a Pro user. # Ok, what features will it have? I think the most basic features necessary for use are… - Simple tab formatting with [ChordPro](https://www.chordpro.org/chordpro/index.html) syntax - PDF export - Moderation system - Reporting tabs for copyright infringement, inappropriate material, etc. - Tab removal - Account removal Nice-to-have features would include - Upvotes (no downvotes) - Comments - Would require addition to moderation system - Dark mode - Transposition - Both in the web UI and in the exported PDF # You mentioned "decentralisation". Whot? My plan is to implement some sort of [ActivityPub](https://activitypub.rocks/) support, allowing users on one instance to discover tabs created by users on another instance and vote/comment on them. Centralised, libre alternatives to commercial behemoths seldom gain much traction for a variety of reasons, but one of the larger ones is that so many individuals want to run the software on their server, with their domain, and their custom branding. In a centralised model, that means we end up with a bunch of tiny, disparate silos all over the internet. If these tiny silos *aren't* so disparate and instead belong to a *network* of silos, all sharing resources and information, it's much easier to grow and become a more viable alternative. That's the idea anyway. # Do you have a timeline? Nope! I have little experience writing Go and zero experience with ActivityPub, so it will be a very *very* long while before this project is usable. # Contributing This project requires setting a few pieces of software up before getting started. ## REUSE [`reuse`](https://git.fsfe.org/reuse/tool) is a tool created by the FSFE for easy compliance with the [REUSE specification](https://reuse.software/) which this project implements. Follow their documentation for the installation procedures. When using code from another project, make sure the copyright holder(s) are listed somewhere and that the project uses a compatible license. If *both* conditions are satisfied, run the following command to add that information to the file containing the copied code. ``` text reuse addheader -c "Name