Monday, October 04, 2010

Bad Experiences with StackOverflow

If you build software you're probably familiar with StackOverflow, the 2-year-old, collaboratively edited question-and-answer site for programmers. SO was not a new idea, but it was well-executed and quickly gained a a large number of users due to the popular blogs of its founders.

I haven't been a particularly active SO user, and my "reputation" peaked at a little over 400 points after one question and 20+ answers on the site. But what's been striking is how many negative experiences I've had in my relatively limited usage of SO.

My first and only question was quickly deleted by another user who said it was "too localized, outside the scope of [StackOverflow]...and argumentative" (my question concerned an esoteric provision of employment agreements and state intellectual property laws). I was a powerless newbie with no reputation so I had little recourse at that point. Fortunately at least one other user disagreed, and my question was eventually restored and even added to the SO community wiki.

The next negative experience occurred after I downvoted an answer by Mitch Wheat of Perth, Australia. As per the SO recommended protocol I added a comment explaining why I downvoted his answer. Normally you can't see who downvotes your answers--except when they add comments explaining their votes! Mitch used this information to rapidly downvote several of my answers in retaliation. (I know this because he couldn't restrain from also adding sarcastic comments of his own. But he must have agreed with me because he proceeded to delete his own answer which I had downvoted!)

My latest experience with SO has left such a sour taste that I've decided not to waste my time contributing answers to the site. Instead I'll stick to blog posts. Here's what happened: About half my answers on SO have something to do with Amazon SimpleDb. They will sometimes include a reference to my Simple Savant open-source library--but only when pertinent to the question. Sometimes I'll phrase the answer in a way that indicates I'm the creator of Savant, and 2 or 3 times I mentioned that Savant has a feature that might help solve the questioner's problem without explaining that I created Savant. Explicitly stating that I created Savant in the answer has always been something of an afterthought because

  1. I use my real name on both SO and Codeplex, making the connection blindingly obvious.
  2. Savant is free, open-source software from which I have not directly or indirectly earned one penny.
  3. These haven't been cheerleading Savant-is-the-greatest-thing-since-Charles-Babbage-type answers, merely plain statements of fact.

Unfortunately some poor, benighted SO super-user 5 poor, benighted SO users decided the answers which don't explicitly disclose my connection to Simple Savant are unacceptable. These answers were flagged as spam and deleted, and my SO account was nuked back to 1 reputation point. Here's an example of one of my answers that was deleted:

Question: Is there a production grade SimpleDB library, preferable built in C#. If not, May I use the VB.NET library on a C# project as a reference?

My Answer: You should check out Simple Savant. It builds on the Amazon library to provide many additional features and is used in production or beta sites by quite a few folks.

Apparently an answer like the following would have been just fine:

You should check out Simple Savant. It builds on the Amazon library to provide many additional features and is used in production or beta sites by quite a few folks.

FULL DISCLOSURE: I'm the creator of Simple Savant. You should be aware that I may not have your best interests in mind. I may have spent several hundred hours of uncompensated time building and documenting this open-source project solely to lure unsuspecting application developers like yourself into an unhealthy, asymmetric relationship where you get valuable, free software and I get...er, warm fuzzy feelings because people are using my library. Also be aware that I strive to provide the highest quality of support to users of the Savant library. You may find yourself startled--nay--alarumed even by the rapidity with which answers to your questions stream across the Savant discussion forum. Consider yourself warned.

Of course, the delicious irony here is that the spam-offended SO user users who nuked my account only knew that I was connected to Simple Savant because I make that obvious by using my real name in both places!

UPDATE: Jeff Atwood explains in the comments that 5 StackOverflow users must flag a post as spam before it's deleted. If anything this makes the problem seem even worse. It's also worth noting that the posts marked as spam were all 7+ months old. I never received any warning or indication of a problem until I visited SO one day and found my reputation blanked.

UPDATE 2: After some more back and forth, the folks at StackOverflow said they were willing to chalk this up to a mistake and (mostly) restored my lost reputation.

 
Header photo courtesy of: http://www.flickr.com/photos/tmartin/ / CC BY-NC 2.0