suggest_a_better_name, for want of a better name, is a libre,
decentralised, and somewhat stripped-down alternative to Ultimate
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.
I think the most basic features necessary for use are…
Nice-to-have features would include
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.
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.