I agree with you that there has to be a better solution, but it doesn't strike me as a very trivial one... any thoughts on how one would approach this?
I agree with you that there has to be a better solution, but it doesn't strike me as a very trivial one... any thoughts on how one would approach this?
I have to disagree. I bet this kind of abuse is well studied by any major site relying on a reputation system/user content. I can't point to anything specific, but off the top of my head discovering that kind of abuse seems exactly like finding strongly connected components: http://en.wikipedia.org/wiki/Strongly_connected_component
So you could probably prevent this algorithmically, but even if you couldn't... the site is heavily moderated. Bad questions and answers are down voted or closed. In my experience, getting lots of reputation on SO actually requires a lot of persistent effort. I have just over 1000 rep myself and it felt like it took forever to get there. Even if you could get lots of upvotes, you'd still be looking at daily reputation limits. And finally, you'd waste all that on one or two spam links only to get perma-banned and have all your links deleted?
A combination of high reputation + an initial nofollow time period (to allow spam links to be discovered) seems like it would be pretty effective.
There's really only one route to taking advantage of the google juice: http://xkcd.com/810/
My 1781 reputation was not that hard to come by - it happened organically with me trying to help out in the Google App Engine section. I'm not a developer by trade, just a hobbyist.
Based on that experience, I'd imagine there to be areas that are much more obscure, with little moderation oversight, being decent sources of easy reputation points...
That's why the author of the article suggested that they remove "nofollow" for users who have an established reputation, like SlashDot does. That algorithm would seem to be very easy to implement.
Still a hard problem but author reputation and question/answer votes give a good set of data from which we might identify links to sources which deserve attribution.
My general rule of thumb is "any content that comes from untrusted users gets a nofollow stamp". It's "XSS prevention" for your pagerank.
Arguably, it eliminates incentive to link to anything except the most useful resource. I have >11k reputation on SO, and I'll easily admit that I'd be tempted to link to my blog or whatnot for an answer whenever I could wedge it in, if I could siphon off some of SO's linkjuice. I'm not interested in spamming or anything, but that's how the game is played; SO has such a massive amount of clout with Google that any non-nofollow links from it confer an awful lot of weight.
By just nofollowing everything, they disincentivize people from even being tempted to game the system and promote their own stuff, even if it were done in a helpful way. Instead, I am incentivized to provide the most useful, comprehensive link I can find to answer a question. All my incentive is in earning an acceptance of my answer, rather than just in having an answer good enough to not not get spam-binned that sits there and feeds me pagerank.
Trusted contributors could easily be bought off. Someone who was sick and tired of StackOverflow after putting way too much time into it, who was offered the right amount of money? Hey, you know, it might be worth it to make a few bucks instead of a few more meaningless internet points.
If you just make the threshold so high that only the very top contributors are nofollowed, then only that small cabal controls where SO's considerable linkjuice goes. If you broaden your criteria, there are more and more potential corruptible people; and it becomes easier to generate a little quick and easy reputation with a sockpuppet that you can spam with a few times before you're caught and move on to another sockpuppet.