2021-09-17 05:07:12 +00:00
|
|
|
<!--
|
2021-09-17 05:41:22 +00:00
|
|
|
SPDX-FileCopyrightText: 2021 Amolith <amolith@secluded.site>
|
2021-09-17 05:07:12 +00:00
|
|
|
|
2021-09-17 05:41:22 +00:00
|
|
|
SPDX-License-Identifier: CC0-1.0
|
2021-09-17 05:07:12 +00:00
|
|
|
-->
|
|
|
|
|
2021-09-17 04:52:12 +00:00
|
|
|
# suggest_a_better_name
|
|
|
|
|
2021-09-17 05:41:22 +00:00
|
|
|
[![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)
|
|
|
|
|
2021-09-17 04:52:12 +00:00
|
|
|
`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/).
|
|
|
|
|
2021-09-17 04:53:53 +00:00
|
|
|
# But … why?
|
2021-09-17 04:52:12 +00:00
|
|
|
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.
|
|
|
|
|
2021-09-17 04:53:53 +00:00
|
|
|
# Ok, what features will it have?
|
2021-09-17 04:52:12 +00:00
|
|
|
I think the most basic features necessary for use are…
|
2021-09-17 05:54:25 +00:00
|
|
|
- Simple tab formatting with
|
2021-09-17 04:52:12 +00:00
|
|
|
[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
|
2021-09-17 05:54:25 +00:00
|
|
|
- Dark mode
|
|
|
|
- Transposition
|
|
|
|
- Both in the web UI and in the exported PDF
|
2021-09-17 04:52:12 +00:00
|
|
|
|
2021-09-17 04:53:53 +00:00
|
|
|
# You mentioned "decentralisation". Whot?
|
2021-09-17 04:52:12 +00:00
|
|
|
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.
|
|
|
|
|
2021-09-17 04:53:53 +00:00
|
|
|
# Do you have a timeline?
|
2021-09-17 04:52:12 +00:00
|
|
|
|
|
|
|
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.
|
2021-09-17 05:07:12 +00:00
|
|
|
|
|
|
|
# Contributing
|
|
|
|
This project requires setting a few pieces of software up before getting
|
|
|
|
started.
|
2021-09-17 05:41:22 +00:00
|
|
|
|
|
|
|
## 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 <user@example.com" -l SPDX-License-Identifier path/to/file
|
|
|
|
```
|
|
|
|
|
|
|
|
Running `reuse lint` will print compliance details regarding the current
|
|
|
|
project. *All* files should contain copyright and license information.
|
|
|
|
|
|
|
|
## pre-commit
|
|
|
|
|
|
|
|
After installing `reuse`, grab [`pre-commit`](https://pre-commit.com/),
|
|
|
|
`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.
|