25

Like many other people I read this meta post. Since I don't really understand what is at stake I became confused and worried.

Does this mean that I can legally force any organization to let me see the source code of any application touched by a questioner when I give an answer to their question? Does this mean that I open up any organization I'm associated with to this liability when I ask a question? Finally will SO be required to release identifying information so people can check if rights were violated? It seems to me that this move will induce code attribution trolls like patent law released the patent trolls. I seem to recall Oracle antagonizing Google in court over a simple algorithm in Android code...

Or I could just put in the terms and conditions something to the effect of:

The lines of code that were derived from or generated by the kind folks who contributed to the Stack Exchange network are licensed under the MIT license. Everything else is licensed under XYZ license.

Then I would be in full compliance?

What are some of the big ramifications that I'm not knowledgeable enough to foresee?

4
  • 3
    What do you mean by "the source code of any application touched by a questioner"? Do you mean some code from an application was included in a question on SO?
    – apsillers
    Dec 16 '15 at 22:39
  • 1
    @apsillers Kind of, when people ask a question they'll drop a sample of their broken code, and/or associated code that isn't broken. So that code could be pirated but tracking that would be hard to impossible. The easily tracked situation would be an accepted answer, because presumably that code solved your problem and therefore was incorporated into the code base. That would give the owner of the accepted answer reasonable suspicion that their code was in an application, but no information as to which code base, and therefore more legal standing to see all code bases (I think).
    – Erik
    Dec 16 '15 at 22:48
  • 1
    @apsillers Alternatively another answerer might claim "Person X accepted the sub-optimal answer without using the code so they could rightfully claim the accepted answer code wasn't in their code base." That would be an excuse other answerers could use to see the source.
    – Erik
    Dec 16 '15 at 22:49
  • It's hard to tell what you are asking, or why you think that the license might let you force any organization to do that. I suggest you try to clarify by giving an example scenario and articulate your reasoning why you think that the SE license would cause such a strange result. I suspect the answer is "No, that would be silly; of course it doesn't mean that", but it's hard for me to tell for sure, because it's hard to tell exactly what you're asking or why you think it would have that implication. Editing the question might help clarify what you are asking.
    – D.W.
    Dec 17 '15 at 1:22
24

I posted an answer to the announcement post that pretty much sums up why part of this - the exception - is a bad idea:

  1. You're essentially creating a crayon license.
    If you modify the terms of an existing license, you create what is known as a crayon license. Those are a problem - see "How can a “crayon” license be a problem?" for the reasons why.
  2. It's far too easy to claim an illegal use is legal.
    See this answer of mine. Essentially, someone can get my code from somewhere I use it - perhaps in a commercial open-source product of mine - and not attribute it to me. When I chase them down on that, they can simply claim "oh, I got it from Stack Overflow", and get away scot-free.
  3. It's massively unclear how to reverse that requirement.
    Say I don't want to have this extra exception applied to any of my code. How do I note that? If I put a note in my user profile that all my code snippets must be attributed properly as per the terms of the full MIT, is that enough? Do I have to add a note to every answer? I'd rather not have to do that, but I also don't want to be chasing people down endlessly for misusing my code.

So what does this change mean? Let's answer some of your questions:

Does this mean that I can legally force any organization to let me see the source code of any application touched by a questioner when I give an answer to their question?

No. The code that came from the answer (or whatever post you got it from) is under the MIT license with an SE-specific exception. That means that the code can be used in a commercial, closed-source application (as the standard MIT allows), without the original license being included (which is provided for by the exception). Some reasonable attribution must be included at the request of the code author, but that doesn't have to be the full license document.

Finally will SO be required to release identifying information so people can check if rights were violated?

Nope. There's nothing in either the license, the exception, the SE TOS, or any other pertinent laws that requires them to do this.

Or I could just put in the terms and conditions something to the effect of:

...

Then I would be in full compliance?

Conditional yes. If none of the individual code authors asked you to attribute them, that's perfectly sufficient. However, if one of them does ask you to attribute them, you should then include their name, a link to their profile, and a link to the original source of the content. No MIT license document required, still.

9
  • 1
    I assume this attribution would have to be public, not just buried in the source code. My paying job is for a closed source mobile application. How discoverable should those attributions be? Should there be a buried screen on the mobile app that lists contributions to server side and mobile code? Should the api expose a json list of contributors? Would any or all of those options suffice?
    – Erik
    Dec 16 '15 at 23:17
  • 1
    Also what is the requester's legal standing if I deny that their code is in my application? It seems you're saying that if I was evil I could say "I accepted your answer but decided against including it in my project, sorry." even if I did use the code. Is there no mechanism to force a denier to prove their claim? Alternatively will people decide to place false attributions because it is cheaper and easier than fighting with someone.
    – Erik
    Dec 16 '15 at 23:22
  • 1
    @Erik the usual way is to have a credits screen with all the attributions. If you deny it, then if they care enough they can start a court case, and if that proves otherwise it's costly for you.
    – ArtOfCode
    Dec 16 '15 at 23:25
  • 2
    @MichaelT AFAICT, you can still use SE code in a GPL product, there's no reason why attributing should break the GPL.
    – ArtOfCode
    Dec 17 '15 at 9:03
  • 1
    @MichaelT: Isn't GPL section 7 specifically for the purpose of allowing the addition of attribution requirements? you may supplement the terms of this License with terms: b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it
    – Ben Voigt
    Dec 18 '15 at 5:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.