or
Caleb
bug wont-fix
I understand the desire to lower the barrier to participation so that people can jump right in, but there are some limits that serve a very pragmatic purpose.

**Drive by voters water down the voting system.**

Problem: Any activity that can be taken by any visitor to the site without leaving any community visible activity is a recipe for abuse of that activity. Most notably right now the vote tool can be used by first time visitors. Since this tool doesn't leave any crumbs that might tip off other site users that there was a bad actor, the resulting actions (in this case the star system) is rendered nearly useless.

Solution: Require receiving at least 1 star to earn the privilege of giving stars. This will leave a trail of posts that the community can use to weed out bad actors. The resulting overall star scores across the site will be lower, but the actual number will be much more meaningful becasue it won't be diluted with votes from people who don't contribute.
Top Answer
srm
I offer two possible solutions to the parasite problem.


A) The votes of parasite users maybe should only count (be credited) when the known users have upvoted the topic already. I.e., the parasites can reinforce the "thanks for the help", but cannot singlehandedly push something into a "good answer" status. This allows the known community to establish credibility, but also allows the good passives to be differentiated from vote mongers. 

B) What if people can only vote using stars that they've earned? I.e., whatever a person's total lifetime star count is, that is their weekly limit for voting on other stuff. You have to ask at least one good question or provide one good answer before you can start voting on other stuff. And you won't be able to do much damage until you've shown a track record of such voting.
Answer #2
Jack Douglas
This is a hard problem, but I think we have a better answer.

> Allowing votes before any other activity makes votes meaningless 

I think that is putting the case much too strongly — the fact that it is *possible* to game a rating system doesn't immediately mean the whole rating system is meaningless.

Nonetheless it's a serious issue, and you've provided proof that it's currently pretty easy to 'cheat'. Cheating is going to be one of the two main problems we will face from the bad guys, the other being spam.

> Drive by voters water down the voting system.

Only if all/most drive by voting is abuse, or if we can't clean up the bad votes effectively.

I'm not sure if you mean to imply that legitimate 'drive by' votes aren't generally useful. There isn't strong evidence either way as yet, but anecdotally, I know I've often clicked the 'vote up' button on an SE site that I'm not registered to. Those 'drive by' (failed) votes would be helpful for sorting those posts if they were allowed.

In other words, it would be nice to keep them if we can. It's also an 'on ramp' to greater involvement with the site — someone who joins up just to vote and doesn't hit a load of friction, might save their login key and come back to contribute in some other way.

So what it really hinges on is whether we can effectively invalidate bad votes. And whether we can do that together as a community in a way that scales. I think that may be possible without going in the direction you are suggesting[^1].

It may be reasonably easy to spot bad votes. For example, your sock votes stand out like a sore thumb with this naive query:

```sql
with v as (select answer_id,question_id
                , sum(answer_vote_votes) answer_votes
                , coalesce(sum(case when communicant_votes>0 then answer_vote_votes end),0) established_votes
                , count(*) answer_vote_count
           from answer_vote
                natural join (select answer_id,question_id from answer) a
                natural join (select question_id,community_id from question) q
                natural join (select account_id,community_id,communicant_votes from communicant) c
           where answer_vote_votes>0
           group by answer_id, question_id )
select answer_votes,established_votes,answer_vote_count
     , (established_votes+1)::float/(answer_votes+1)::float trust_score
from v
order by trust_score limit 10;
```

|answer_votes|established_votes|answer_vote_count|trust_score
|--|--|--|--|--
|50 |0 |50 |0.0196078431372549
|8 |1 |8 |0.222222222222222
|1 |0 |1 |0.5
|1 |0 |1 |0.5
|1 |0 |1 |0.5
|1 |0 |1 |0.5
|7 |4 |6 |0.625
|2 |1 |2 |0.666666666666667
|5 |3 |5 |0.666666666666667
|2 |1 |2 |0.666666666666667

This is making use of the same information you are suggesting (whether a vote is from someone 'established'), but in a different way. Rather that invalidating votes for non-established accounts, we are using them to sift out bad results.

I think it would be good to add something like the 'trust' score above, in the hover text for posts with stars. Then we can spot suspicious voting by working together with information that is available to everyone, and flagging things that are suspicious. Initially clean up of bad votes will be done by devs (I know some still is on SE), but eventually we'll make some of that available to trusted members of the communities.

I'm tagging this `wont-fix` for now, but we can revisit later if necessary.

[^1]: …but I'll happily admit I may be wrong and only time will tell. It's also worth noting that it was the original intention to dissalow voting by users without 'stars' of their own — there was a user id limit of 100 hard coded into the early source that was supposed to do that. Sadly all it did was prevent people signing up, due to a bug!
Answer #3
marmot
I personally do not see anything wrong with "drive by voters". For a long time, I was a "parasite user" on TeX.SE, and was using answers provided there to solve some of my problems, but didn't have a user account. At a given point I decided to join, asked a question, got reputation and so on. However, in retrospect I think I *should* have joined earlier and just upvoted the posts I was using. We all know that this is impossible on the SE sites since there is a reputation threshold. However, I feel that it would have been perfectly OK if I, as a drive-by voter, would have upvoted those posts which worked for me. Therefore I think we should allow folks to become "passive users", i.e. join and do nothing but award stars whenever they think something was useful for them. Recall also that in the system here they can only award one star, while high reputation users can award many.
Answer #4
PinoBatch
The proposed solution would create a bootstrap problem.

If "Require receiving at least 1 star to earn the privilege of giving stars" were in place on day one, then nobody would have started with privileges to give out the first star. Other question and answer sites have solved this "cast the first stone" bootstrap problem in various ways:

- Stack Exchange allows the asker to accept an answer, and an accepted answer grants enough reputation for the upvote privilege.
- Stack Exchange also runs "private beta" rules for the first week of a new site, when voting and tag creation are free. (Private beta participants come from other SE sites, and I have a bit of an accessibility beef with how private beta access for Stack Overflow itself was handed out.)
- Codidact, as I understand it, will allow the asker to upvote answers to the asker's own questions. (I see this as analogous to accepting on SE.) There is also a [plan to add "young community" rules](https://forum.codidact.org/t/bootstrapping-trust-levels-for-young-communities/534?u=pinobatch) analogous to SE's private beta.
Answer #5
Paul White
This is the wrong solution to a problem that hasn't arisen (naturally) yet.

New users (or readers that never write a starred answer) shouldn't be prevented from adding one star to posts they find useful. The system already rewards longer-term contributors with the ability to award multiple stars at their discretion. The benefit of allowing wide feedback outweighs any downside.

Problematic abuse of the star system should be detected and handled in other ways, should the need ever arise. Also, remember that privileges are merit-based, not tied to star count.

I think we should resist knee-jerk implementation based on Stack Exchange experiences. The system there does not avoid difficulties either - one only has to look at the effect of Hot Network Questions.
Answer #6
Caleb
*If you aren't convinced...*

Before you try to argue that drive-by voters somehow add value to the system even if the noise level might be higher, first explain to me why the opinion of clowns[^1] who [voted to get rid of the vote table entirely](https://topanswers.xyz/databases?q=200#a183) should be given equal weight with all the database experts who have **offered evidence that their voices add signal not noise by answering real questions**.

P.S. If you have to run your own SQL query on the topanswers database to answer the question of who those clowns are, then please allow me to suggest that anything you do with that information will be a bandaid on a bigger problem that won't get fixed until the wider user community can vet who is allowed to vote by requiring at least a nominal number of contributions first.

[^1]: I've done the math and *nobody* is being called a clown who has not read and approved of this message.
Allowing votes before any other activity makes votes meaningless
marmot replying to srm
I think you can never exclude that someone stars a post for a reason that is different from "I think the post is good". I'd be more worried about sock puppets than about users who just upvoted because they kind of like the output a post produces. It is a fundamental problem of any voting system that people vote for the wrong reason, they do not really know what they are doing, but the expectation is that this averages out.
srm
@marmot I forgot to ping you on previous message.
srm
@marmot Having people who just do stars would be fine, but they are indistinguishable to me from people who just abuse the system. We need to either limit stars to people who have an established identity or limit the application of stars from users with no established history. Various mechanisms for each of those is possible, but basically, **if we don't know you, we shouldn't fully trust you.**
marmot replying to srm
Thanks! I still don't see why we should not have passive users around who do nothing but voting. BTW, asking questions on the non-meta sites does not seem to award you any stars. That basically means that, if you join, say, the TeX site, you need, according to your proposal, at least an upvoted answer before you can award stars. I'm not sure I agree with that proposal. (BTW, if someone stars your answer, does that mean they support A, or B, or both?)
Jack Douglas
@PinoBatch That's a useful survey of how the other sites handle this, thanks.
Jack Douglas replying to srm
thanks!
srm
@Jack @marmot  I turned it into an answer. 
marmot replying to srm
Ironically, I was proposing a refereeing system to solve the very problem you are mentioning. Yes, it would make sense to allow the drive-by voters to (up)vote only after the post has been verified by a competent referee. A star by a random user may not be enough, on TeX-SE there are more then enough users who upvote a post only because of the claim what it achieves without really checking if it really does.
Jack Douglas replying to srm
those are both sensible suggestions, and if you posted them as answers here we could gauge what others think of them. We definitely need to work on our rate limits as people are finding some of them frustrating.
srm
@marmot The votes of parasite users maybe should only count (be credited) when the known users have upvoted the topic already. I.e., the parasites can reinforce the "thanks for the help", but cannot singlehandedly push something into a "good answer" status. 
srm
@Jack What if people can only vote using stars that they've earned? I.e., whatever a person's total lifetime star count is, that's their weekly limit for voting on other stuff. You have to ask at least one good question or provide one good answer before you can start voting on other stuff. And you won't be able to do much damage until you've shown a trackrecord of such voting. 
GeorgePalacios replying to Josh Darnell
Agree also
Josh Darnell replying to monkeywrench
I don't think I stated my position clearly.  I meant *you* should post an answer **explaining** the "quick demonstration of why the barrier would be significantly moved..."  As I said, I don't think it's productive for me to post a "test answer" just so you can demonstrate how you can vandalize or gang vote or whatever the point is.
Caleb replying to GeorgePalacios
Yes. I'm not advocating for everything in the system being privileged based. Personally I think several kinds of moderator tools should *definitely not* be based on participation (i.e. stars). But this is one thing scales best when hand picking is not involved.
GeorgePalacios replying to Josh Darnell
Agreed. That's the thing that confused the hell out of me originally
monkeywrench replying to Josh Darnell
In an answer please.
Caleb replying to Josh Darnell
.
Josh Darnell
In an answer, or here in chat.
Josh Darnell replying to monkeywrench
I don't personally think live demonstrations of each kind of abuse are needed.  It would be just as effective, in my opinion, if you explained what you plan to do.
GeorgePalacios replying to Caleb
So this effectively forms the early structure of a privilege system dictated by number of stars
Caleb replying to GeorgePalacios
I would say that's a variable that could be tuned. Should the bar be set to 1 star or 5 stars? I'm not sure ... how wide a bread crumb trail actually proves useful I'm not sure, if 1 doesn't work I would propose raising it based on effective the user base proves to be at smelling rats. I am sure 0 is the wrong answer™ because 0 leaves the community out of equation entirely.
GeorgePalacios
Or is it literally just the one star?
GeorgePalacios replying to monkeywrench
Okay I hear you - could the two of you potentially put something bullet pointy together as to your suggestion?
monkeywrench replying to Josh Darnell
Would you like quick demonstration of why the barrier would be **significantly** moved by this suggestion? If so please add answer an post to this question stating just that "I don't see how this would significantly lower the barrier". I promise to cleanup afterwards.
monkeywrench replying to GeorgePalacios
Okay, that might have come over a little strong. Tone is hard to convey over text and that was meant *somewhat* tonge in cheek. Honestly no hard feelings and no offense meant, but I was (and am) a bit frustrated with the dissmisivity of "that problem hasn't come up naturally yet". The internet has been around for a decades and *literally every system* that reaches any measure of success has had to deal with this problem — variations exist for different flavors of venue where incentives differ, but the internet is full of bad actors and if you don't have a plan for how to deal with them up front then they will win round 1 by a large margin.  Not only has every sucessfull system out there *had to* deal with this, each generation of system that actually mitigates problems has had to build on tooling from the last, because the fraudsters come equipped with all the tools they used in the last round.
Caleb
Better to just forfeit those votes than delay the problem. Sock puppeteers have more time on their hands than sys admins.
Caleb replying to Josh Darnell
I think that would defeat the purpose of letting new users participate at all. All you drive-by's that got their one answer from a Google result will be gone without voting.
Caleb
Another way to handle that might be like lobste.rs does it with an invite system (aka, web of trust light).
Caleb
I can see the logic in that. And I agree the HNQ was never anything but a fiasco!
Josh Darnell
I wonder if having some kind of time-based factor would be useful.  Like you can't star things until your account has been active for 1 week or something like that.
Josh Darnell
(so they are harder to detect)
Josh Darnell replying to Caleb
I think I prefer lifting the restriction in private beta to the association bonus.  The association bonus reminds me of all the problems caused by HNQ, and also let's determined bad actors spread their breadcrumbs out across sites.
Caleb replying to Josh Darnell
Besides private betas, SE's other way of skinning this particular cat is with the association bonus. Not a bad system actually. Allowing newcomers with network history to vote up but not down when coming to a new community is actually really clever and effective.
Caleb
Yes it is complexity, but I am quite certain it is complexity that will pay off. The friendly gang of 8 troll-ish clowns bending the rules on one post and keeping their voting ring's tainted hands off of all other posts is the least of this system's worries if this isn't addressed with some solid multi-layer tooling. I'm convinced this should be the first layer.
Caleb replying to Josh Darnell
This site already has the concept of "private beta" communities (currently TeX that I know of). This requirement could be dropped during that phase.
Caleb replying to Josh Darnell
Yes, that's a good analogy. And I'm going to suggest latching the gate too (specifically CAPTCHAs on account registration), but that's another layer of defense. Having 100% vote/flag/whatever privileges for just turning the door handle is a problem. Lock the door. It won't stop determined abuse, but it will curb the most casual busy bodies.
Caleb replying to Josh Darnell
It wouldn't end all forms of abuse, but it would change the barrier significantly because there would be 8 public artifacts. Public breadcrumbs like that help _a lot_ in revealing bad actors, usually not right when they happen but with the eyes of the community on them eventually somebody smells the rat. It's not a perfect defense, but it is a very major on. When abuse can be invisible to everybody but system admins with IP logs you will always be the cat that misses the mouse. 
Josh Darnell
I guess that's trivially solved in a bunch of ways, but I thought it was worth pointing out.
Josh Darnell
It feels like this solution would create a chicken and egg problem with new communities.  No one can star, because they don't have starred answers.
Josh Darnell
Maybe it's like locking your front door.  Putting up small roadblocks is valuable to stop some group of people, even though a motivated person can get past it.
Josh Darnell
The "troll" answer on that Q&A has eight stars right now.  If there is a gang of eight people willing to abuse the system, I guess I don't see how requiring them to each post an answer and star each other lowers the barrier all that much.
GeorgePalacios replying to Caleb
Respect your experience, but what you've just done is a call to authority. I don't feel you've provided enough evidence to support your position and it appears you're trying to railroad this into the result you want.
GeorgePalacios
Seems unnecessary to me
GeorgePalacios
IE "Did you upvote that post? No? Didn't think so"
GeorgePalacios
This whole chat feels very much "not kind"
Paul White replying to Caleb
I'm responding to the points made in the question, not you personally. Having that point of view in an answer allow people to vote for it or otherwise.
Paul White replying to monkeywrench
Regardless, the point could - and should - have been made without calling anyone names, deserved or otherwise.
Caleb
> Problematic abuse of the star system should be detected and handled in other ways, should the need ever arise.

Yes, there are other ways that vote abuse can and should be detected. But I believe any solution that doesn't involve the community will fail because it will be a cat and mouse game, and the tables are in the mice' favor. Requiring visible participation in the community (at least one stared post) before being able to grant stars brings the power of crowd sourcing into the mix. This should be the first line of defense because it is far and away more effective than any other. This site doesn't and won't have an army of admins watching IP logs, but the resource it does have is users and subject matter expertise. Leverage that to keep the sites clean and make the signal meaningful. Otherwise you will drown in noise.
Caleb
Take it from somebody who learned that the hard way more through more than one failure. And please stop approaching all my suggestions as if I was just trying to copy Stack Exchange. SE did a lot of things wrong, but they did a lot of things right too –and a few by necessity– and I think I have some experiences that can help point out bits that matter before it is too late.
Caleb
I don't think my reaction is knee-jerk, and it doesn't even necessarily have anything to do with SE. Yes I'm very aware of the way(s) SE dealt with this particular problem, but SE was not my first rodeo. I've been witting forum software and managing online communities for over 2 decades. I wrote and hosted a Q&A site ten years before Stack Overflow existed. I wrote and hosted wiki engines before Wikipedia was a thing. I've been involved in writing spam detection software since the days when ISPs thought they could handle it with a blocked words list (mid '90s). Any system that does not plan ahead for use and abuse by bad actors **will not be viable**.
monkeywrench
Do you think that post with absolute rubbish content and even a hidden malisious code got upvoted more than sensible database expertise because experts voted for it? No, it got upvoted because clows like me upvoted it to demonstrate why the system isn't yet ready to be kicked out of the nest.
monkeywrench replying to Paul White
Did you upvote that post? No? Didn't think so. So @Caleb isn't calling you a clown. I did upvote it, so he is calling me a clown. And you know what? I deserve it because *I am a clown* (and that's being generous). Calling a spade a spade isn't a violation of "be nice".
Paul White
I don't understand the point this answer is trying to make, but I do know that referring to people as "clowns" is not nice.
GeorgePalacios
From the outside
GeorgePalacios
As a result I guess, it comes across that your post is not well intentioned
GeorgePalacios replying to Caleb
I did it honestly confused me a little bit - couldn't see what you were referring to
Caleb
The post in question is a friendly troll from a while back demonstrating [a weakness](https://topanswers.xyz/meta?q=243#question) of the system. I just re-purposed the troll to demonstrate another issue (incidentally the post is also an example of why we need [this flag feature](https://topanswers.xyz/meta?q=182#a402) [for answers too](https://topanswers.xyz/transcript?room=189&id=8519#c8519).
Caleb
Did you inspect the linked post?
Caleb replying to GeorgePalacios
It is ;-) But it's not directed at anybody whose feelings matter.
GeorgePalacios
It seems on the surface to be a bit of an insult?
GeorgePalacios
@Caleb Can I just confirm what you mean by "First explain to me why the opinion of clowns..."?