Stack Overflow Attribution Required

So Stack Overflow apparently requires attribution?!??

This has apparently always been the case but it came up recently because they were planning to change the license.

This made me wonder, why? Why should I attribute SO? I certainly don’t want attribution for all my time spend on Stack Overflow. Most of the stuff I look up on Stack Overflow is just the same stuff I could find on MDN or MSDN or some reference manual for some library somewhere but it’s more work to read the entire manual front to back to grok it than it is to just google it and end up getting pointed to the answer on SO. I think that’s one reason why it seems wrong to need attribution. If I google how to iterate over a collection in C# both MSDN and SO’s answers come up

Why do I have to attribute SO but I don’t have to attribute MSDN?

Some people claim you attribute academic papers but academic papers, especially thesis, are supposed to be new knowledge / new research. SO is not new knowledge. The majority of knowledge on SO is just repeated from somewhere else. Why does the person that repeats it get attribution?

Others claim it’s just right to attribute but the same thing applies. You learn up how to use a template subscription in meteor. Someone asks that on SO. You answer. Why do you deserve attribution? All you did was repeat what you learned from some other source.

Is this a cultural issue? I have no reason to believe this is true but it did make me wonder, if your culture is the culture of social media where number of likes and follows means something to you maybe you feel attribution is similar? I have no idea.

I know when I post on SO I feel like I’m being friendly. The same way if a co-worker emailed/chatted me and asked a question.

“Hey gman, do you remember how to unescape a URL search string?”. “I think you split the string on &, then each of those on =, and finally call decodeURIComponent on each piece.” Something like this

function parseURL(s) {
   var obj = {};
   if (s[0] === "?") {
     s = s.substr(1);
   s.split("&").forEach(function(pair) {
     var parts = pair.split("=").map(decodeURIComponent);
     obj[parts[0]] = parts[1];
   return obj;

I think that works, not sure if I’m missing something though

I wouldn’t expect attribution for that. To me SO is just an extension of that but shared on the internet so people can find a remote co-worker that knows the answer.

This makes me wonder, will requiring attribution ruin SO? I already feel like the point system, while it helped jumpstart SO, is now possibly causing more harm than good. If people are fighting for attribution will that add more incentive or cause more problems? Will it make code harder to read? If I learn how to iterate over an array in JavaScript from SO do I have to attribute that every time I iterate over an array in my code? Where does it end? Do I need to attribute the person who introduced me to each word or grammar concept in English?

Maybe this is one of those things where people are talking past each other? If there’s some 50+ line function on SO that I can copy verbatim into my code maybe I should attribute? Maybe that’s what the pro attribution people are thinking about. But, if it’s more a concept which I adapt to my own code do I need to attribute? How to fully center with flexbox is probably 8-12 lines of CSS. Do I need to attribute that?

Of course if the answer is unusual or complex I might link back to SO as in. “I’m using SDK 2.0 here because SDK 3.0 is broken, see“. But that’s not really attribution it’s reference as in “reference this answer because it will explain why I did this this way”.