Once again, the GTS defaults have this covered. There is no open registration with GoToSocial. If signups are enabled in GTS, they still require manual review.If you have open signups, you have a problem, and GTS without having open signups, technically has a problem, too: Unless someone is there to push the "approve" button, you can't just signup and get in right away. There's a waiting period.But is it a problem to solve? Consider one of the key guiding principles in my life:The Bigger Problem ProblemIt starts thus: Consider that outside of math, there is no such thing as solving a problem.No. Wait. Let me state that even more clearly:There is no such thing as solving a problem without creating more problems.Simple example: You keep your racist uncle from showing up to the wedding, but now half the family is pissed at you, and now some of them aren't coming. At the very least, he's pissed at you. Solved one problem, created more problems.There's an old joke in programming circles with regards to regular expressions.I had a problem, so I used a regular expression. Now I have two problems.(The same has been said of caching or numerous other programming techniques.)So like, you have a performance problem, so you add caching to solve it. But now you have a new problem: expiring the cache and managing it. You also have to periodically update your caching library, as well as update the cache itself (redis?). This might be worth doing anyway, but you should not act like you did not introduce new issues that will need to be addressed later, because you have. If the cache breaks, does your whole site go down? Did you build in some kind of hard dependency? It never ends!Wise programmers learn early to adhere to the YAGNI principle and to recognize that you might think you're solving a problem, but many times, you're also creating a new one. You may be creating several. Worse, you may in fact be creating a bigger problem, that will take even longer to solve, thus forcing you into doing a faster JHAW (janky, half-assed workaround) that will continue to plague your existence. (We call the creation of this new problem made out of your spit, band-aids, and Monster energy drink: "code debt.")Ideally, you have to be very pragmatic about it, and ask yourself:What problems am I willing to live with?You can do this analysis with various areas of your life, too. Decide what the deal breakers are, which problems need to be solved, and foresee what new problems solving these issue might create. If you're willing to live with the existing problem, leave it alone. If the new problems are worse than the current problem, leave it alone. Before you solve the problem, consider if you're truly ready to deal with the new problem(s) that arise.Start thinking of some problems as a feature, that gets you out of having other problems.There's only so many spoons, there's only so much of you, so many hours in the day, so much money in the budget for the project--it's all the same thing.Life is problems, and programmers are professional problem-solvers. It's got to be applicable elsewhere in life besides just programming....right?When a family member asks "What do programmers do?" I've tried giving what feel like simple explanations and their eyes almost instantly glaze over. There's a simpler answer.What is a programmer? A programmer is a professional problem-solver.You literally get paid to figure out how to solve problems, which also means you need to be a skilled "problem assessor" and recognize the fractal nature of problems, and that in solving one, you're likely creating another.Software Bugs are usually an exception to this rule, and that's why fixing bugs is so emotionally satisfying. You get to literally cross something off a list and know that no new problem is taking its place. I'm sure solving higher math problems feels even more like this, if I could do higher math.Of course, there's a downside to being a programmer and seeing the world as problems to be solved, especially when a loved one keeps telling you to stop trying to solve the "problem" that they are sad, and just listen to them. Just as a...random example.HOW did I get on this thread?Oh. Right.GoToSocial technically has a "problem". The software doesn't support open registration, all registrations require manual review, this creates the "problem" that someone must always approve registrations.And GoToSocial decided, "We're willing to live with this problem, in fact we WANT this problem" and as such they don't need to add captchas and shit to the signup process, or worry about AI bots signing up, among other things.Successfully navigating the Bigger Problem Problem and making it a feature.