While the principles behind your ideas don't bother me, these two points have some specific implementation issues.
As long as rep is tied to things like being able to post links, then end users need to know. Otherwise you have complete newbies showing up going "why can't I post links", and people who know have to say something like "you've got an invisible rep score that is influenced by x, y, and z. When it is high enough you can post links, but there is no way to check its current value. Also, don't piss anyone off or you might suffer serial downreps, thereby hosing up your linking ability".
There is disentanglement that needs to occur before hiding/discarding rep entirely. That also means inventing replacement systems to deal with some of the issues that we've got (like when someone can start posting links). And talking about it here made me realize we probably won't see rep go awhile for a good while.
For this method to have any meaning, GOG would have to have staff available to check on these flags. Thinking about the implications of this statement will be left as an exercise for the reader.
Edit: I do like the idea of having a neutral button. Currently, the only recourse to a misclick is clicking the other button, and I'm not entirely sure what that ends up doing on the back end.
If people can bypass things and post a link by doing this anyway:
then preventing people from posting links unless they have a 20+ rep is meaningless anyway. It's the wrong solution to the problem completely. People should be able to use things without a masters degree and without having to read a big list of site specific idiosyncrasies to figure out how it works or it is just pure failure. This is the only web forum online that I've ever used that has this problem and this non-working solution. There are various ways other sites deal with this and perhaps GOG needs to explore them. Even the CDPR forums are much smoother and stable in my experience, of course they're actively moderated also from what I understand.
At any rate though, even if the numerical rep system stays in tact behind the scenes, a rep score does not need to be visible. Most people new to the forums are not generally going to know what rep score even means, nor that it is why they can not post a link. It's no more difficult to tell someone "because you haven't been here long enough" than "your rep score is too low". If they wanted to put some visual indicator they should put some kind of non-score flag up that indicates the permissions you have, and clicking on it leads to a page that describes what all of the available flags/badges/whatever indicate and how the system works.
If the system has to show someone their internal rep score, then it is a pure failure IMHO. If it exists at all it should be an internal part of the software engine, not something user visible.
Let me make it easy for GOG. Here is a free solution for no consulting fee:
1) Keep a whitelist database of URLs considered acceptable for anyone to post anytime, and a blacklist for those that are inappropriate. These may contain wildcards, and perhaps even be specified as regular expressions for maximum flexibility.
2) As someone is typing, or if that is too much server load, then after they submit their message have it scanned by the system against any whitelists/blacklists and/or any other filtering mechanisms you use internally. It's probably a good idea to use Bayesian filtering as well, however it may take a bit of effort to get the filter trained initially.
3) When a new user tries to post content that contains URLs, words or other data/materials that triggers the system to consider it possibly spam/scam/inappropriate/whatever, pop up a message to the user indicating that their message contains a URL or other content to which they are not permitted to post currently because "<insert reason here that is appropriate for the situation, concise and clear using positive proactive language>". Depending on the reason for blocking the message, possibly offer an example of what they can do as an alternative.
4) Give the user the ability to dismiss that information/warning dialogue and edit their message and try to submit it again. Let them do this repeatedly until they have a message considered acceptable by the system.
5) When the user has posted enough times or had an account for N days or whatever other criterion you decide, upgrade their account from level 0 to level 1 internally non-visible to user. If they gain privileges, send them a notification in their chat inbox or via email that they can now post URLs or whatever.
Try to think out the design from the other side of the monitor rather than all technical. The less technical things displayed to the user, the more user-friendly it is. If something needs to be shown to the user, convert it into something non-technical non-numerical that the user understands easily like a colourful icon that they click on and get the information needed, or a dialogue box popping up informing them with instructions or whatever.
'tis not rocket science. :)
Worst case, see if Joel Spolsky (for those not familiar with the name, Google is your friend) is available for hire and have him whip up something. The end result might be a product that could be sold to other sites online. :)
Some additional tips:
- The system should prevent users from creating new forum threads more than N per minute/hour/day to rate-limit to a reasonable amount nobody is likely to hit if they use the forums like a normal person instead of an idiot or bot/spammer script or whatever. If someone goes over a threshold reasonably estimated to be non-human or some other eye-raiser, put measures in place immediately to halt the action depending on the severity of what was detected. If enough sensors are tripped to be certain it is a scammer/spammer or other similar troublemaker with no purpose, lock the account down pending administrative review and inform the account via email why their account was locked.
As many things as possible should be automated because with a massive and growing userbase, it is not scalable to hire people to do this stuff manually. It should be done with by software as much as possible, but that should be transparent to the user experience and any interactions with the user should be user-friendly and simple and easy to understand as possible.
Rep score is not necessary for any of this.