suggest_a_better_name, for want of a better name, is a libre,
decentralised, and somewhat stripped-down alternative to Ultimate
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 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)
- Would require addition to moderation system
- Dark mode
- Both in the web UI and in the exported PDF
You mentioned "decentralisation". Whot?
My plan is to implement some sort of ActivityPub 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?
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.
This project requires setting a few pieces of software up before getting started.
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.
reuse addheader -c "Name <email@example.com" -l SPDX-License-Identifier path/to/file
reuse lint will print compliance details regarding the current
project. All files should contain copyright and license information.
cd into this repo, and run
pre-commit install followed by
pre-commit run --all-files. If there are any errors, please correct
them then re-run the commands. This ensures that all relevant files
within the repository are properly associated with a license and
copyright holder prior to actually committing the changes.