Why can't SO just say, "If you post code here it's public domain" (or some other license that says no action required, no attribution required, copy at will)
I've posted quite a bit of code on SO. I don't want attribution. That is not my goal. That's is an anti-goal for me. I don't want to make it harder to use code in my code. I want to make it easier. I don't even want a link back to SO.
Sure if I write some 1000+ line library on github I might want attribution but I have no such desire on SO.
Am I a rare case? Do most SO contributors want attribution?
The highest voted answer on the original proposal[1] authoritatively asserts that absolutely everyone wants attribution. It uses the example of O'Reilly ripping off answers for a book without providing attribution. Like you I get my fix from simply helping people out and I would be overjoyed if someone ripped off an answer of mine and put it in a book (sans attribution). However, like that highest voted answer, don't make the mistake of thinking that everyone is the same.
The obvious solution is to allow people to choose the license for their answers. That is still a bad solution because it violates this principle:
> I don't want to make it harder to use code in my code.
For that reason I don't mind having people providing an attribution code comment when they use my answers because a blanket rule-set is easier to follow than dozens of different rule-sets; especially for something as completely inconsequential as a code snippet.
> Am I a rare case? Do most SO contributors want attribution?
The ones that do are quite vocal. I suspect that those who don't care don't spend much time advocating. Personally, all the attribution I need is on StackOverflow itself.
More importantly, I don't want to spend a bunch of time wondering if some one-liner I use requires a note in my about dialog. Technically, I suppose I might already need to do this, but I kinda feel that if you're going to try to fix this, you should fix it right.
Apparently this gets weird pretty fast as you try to navigate various legal systems; CC0 is taking a stab at simplifying this, but even that would be potentially problematic on SO.
You're not alone. I've got a fair wodge of code on SO and don't really give a crap what people do with it. If I cared tremendously then I wouldn't put it on the internet.
I guess the only exceptions might be:
- if the wodge of code is fairly substantial (how you'd measure that I don't know, but in the words of Potter Stewart - "I'll know it when I see it"); and
- you write a blog post and it's based substantially on my answer and code then a link back to my post would be common courtesy
- you write a book and include my code then attribution might be nice
- you include it in your open source project
I guess it's more as a common courtesy than me being litigious and it's not the end of the world if this doesn't happen.
Personally, for any code I use in my/our own systems based on SO or "found on the internet", I usually add a comment pointing to the source. I do this for two reasons, firstly to provide context or remind myself where it came from, secondly to credit the author.
That said I do understand why SE/SO are trying to come up with a foolproof way of dealing with the legal status of code included in posts [0][1].
It would need to be "some other license". There are countries where you can't just hand stuff over as public domain. In these countries the author would retain all right.
I've heard this a lot, but is it true? djb's page at https://cr.yp.to/publicdomain.html makes an argument that copyright can be waived anywhere in the world.
djb is wrong. Although it probably doesn't matter much, practically speaking.
There is exactly one way how a work can become "gemeinfrei" (public domain): expiring copyright.
So no, you can't place something into the public domain.
(There is a minority opinion, as always, among legal scholars, but the big majority says "no way").
You might be able to argue that your wish to place something into the public domain can be re-interpreted as relinquishing the "Verwertungsrechte" (rights of exploitation).
That's what djb seems to argue, and it is a sensible stance. i suppose many courts would agree.
But it's not as clear-cut as djb claims. And who needs ambiguities there?
To add on top of that: In germany it's even impossible to sell the full copyright (Urheberrechte). You can waive some (the right to be named as the author) and you can sell the rights to use the work (Verwertungsrechte) but some others can not be transferred.
For example the right, that the work may not be used to defame the author and may not be used in such contexts. The term copyright translates very badly to German law. (Sorry, on a mobile connection, so just one short example)
I guess I see stack overflow as just an extension of asking a co-worker. It's just the internet lets us all be co-workers remotely.
Sure if it's some details answer that says why you're doing something a certain way (like must use 2.0 SDK because 3.0 is broken on Linux. See http://so/1234
But otherwise it seems crazy to me to have it litter the code with attributions for tiny snippets of answers.
I guess I don't use SO as extensively as some; in the entire solution (21 projects) is have 2 references to stack overflow. And ofcource, if you use to look something up, no need to add it (unless you might need it later for further information), but if you use (parts of) code posted to SO, don't you want to know how it got in your code? I can tell by the way something is written who wrote it in our company; if 'strange' code is found in the solution, it's good to know why.
The thing is that "how do you escape a flarb" would be closed on SO for being trivial, showing lack of research etc. If, on the other hand, half your commit is something highly nontrivial you got from Marge, you might well note that in a comment, or perhaps in the commit message.
> the thing is that "how do you escape a flarb" would be closed on SO for being trivial
I don't think this is true. I know I look up stuff all the time that's one to 5 lines of code. I could go dig up examples. How about "how do you remove the margin from an LI element" Or how do you un-escape a URL. How do you iterate over a XXX in language YYY. All of those are on SO, all are popular, all are 1-3 lines.
Even a 10 line answer though. "How do you make an XHR request" is at most 10 lines and doesn't seem like it deserves attribution.
Do you attribute every pattern you've read in some book? Every code snippet from MDN or MSDN or a manual? How about blog posts on digital ocean or meteor.com (I mention those because I've been reading those recently)
I can't put my finger on why but attribution for a few lines of code on SO seems anti-productive, anti-cooperation, anti-sharing
Ruminate on the difference between "citing a source" and "giving credit to the author of the source". Marge is not a static document that can be reread later.
Yeah I feel exactly the same, what is the proportion of code on Stack Overflow which is over 25 lines ? 5%, 10% ? StackOverflow is not hosting software, they are hosting code solutions and it's not really the same thing.
I find this move by the Stack Exchange network annoying and it seems like they are trying to cash in on the monopoly that they have built up recently as the ultimate Q&A site for developers(and others maybe).
On a more serious(or lighter) note, how about building a similar website as the Stack Exchange network without the new licensing restrictions and a better UI to begin with and launch before March 1,2016? It's an oppurtunistic time to cash in on this unpopular licensing requirement.
The reason for the introduction of this new license is because of the ambiguity of using CC-BY-SA license for code.
It is specifically mentioned in the discussion on Stack Exchange that, under the new terms attribution is required whereas under the old proposal attribution is required only upon request of the copyright holder with regard to code.
My knowledge on this subject is limited, so please correct me if I am wrong.
old proposal != old license. Previously, all content was licensed under CC-BY-SA (the "BY" part means "attribution required" and "SA" is share-alike, essentially a copyleft that's incompatible even with the GPL). They then suggested "MIT but without the attribution" which didn't go down well with some people, so now they're suggesting "MIT but you don't need to paste the license into the code", meaning that the code is MIT licensed but it's enough if you put the URL of the stackoverflow answer in a comment.
The new license (basically MIT) is a lot more permissive than the old one (CC-BY-SA), which was compatible with virtually no open source license and just doesn't make a lot of sense for code.
I work at Stack Overflow. I've been working on this licensing initiative for a year now. Moving to the MIT only protects the company insofar as it protects the community. I consider myself very lucky to work for a company where community & business interests align, almost always.
Interestingly, stackoverflow's data loses value fairly quickly with time, since new langs and dad's come so quickly. So while they dominate today, they could be replaced.
Amusingly most of my recent posts are not exactly desired, but the old goodies "copy folder structure without files in bash" and "How to handle exceptions on [6 year old] JS grid" keep getting upvotes because they're interesting to folks who are new to the area.
They were questions I had at the time, and tech I worked with that I don't any longer but still in wide use.
An obvious problem (and one that was highlighted but seemingly ignored) is that you require a significant amount of reputation on Meta in order to get the ability to down-vote something proposed on Meta - i.e. the proposed licence changes. You can only earn this by gaining reputation on Meta itself, so even if you are a prolific and highly rated contributor to other Stackexchange sites you may well have not been able to down vote the proposal, even if you wanted to.
This is obviously going to skew any voting decision in favour of the upvotes. so the 85% approval rating for the changes may not have been anything like that.
In any case, it appears that many of the upvotes were by people approving the idea that the licence terms needed to be re-evaluated, not they necessarily approved of the licence changes as proposed at the time. In fact, by far, the most heavily upvoted individual comments were very much against the proposed changes.
Legal and ethical issues aside, if I'm straight-up copying code from Stack Overflow, it's probably because I don't quite understand it, so I'm going to keep a link to the question (and pray that it doesn't get deleted for being non-constructive) just for future reference. Shame, shame, I know.
I never understood how attribution worked on Stackoverflow anyway.
1. I post something to SO and the terms say it is CC-BY-SA.
2. Someone uses my post and properly links back to SO.
SO's terms require this.
Shouldn't the attribution primarily mention me, the author of the post?
How can a link back to SO be required as attribution for my content? It's not that I assigned my copyright to SO, I just posted my CC-BY-SA content on their site. SO is just the middleman.
I'm OK with attributing SO and I don't doubt the terms are legally clean. I just goes against my understanding of CC-BY-SA.
as well as the new SO MIT attribution construction.
I'm no expert, but I read them as saying only that attribution is required, and a link to your SO answer counts as attribution. Presumably the user is also free to provide attribution without an SO link, assuming they satisfy CC-BY-SA.
They say that attributions should mention the author of the post, and also did so before? Or are you arguing against mentioning SO at all? It would be interesting if that part would be enforceable.
Attribution doesn't necessarily need to be a name or contact information. It just has to help end users identify the provenance of a work of intellectual property. A URL does that. Many end users are already including URLs in their code to indicate where they found a snippet - compliance with the new terms is already somewhat socialized. That's a big reason we chose these terms. We spoke at length with the Open Source Initiative about using a URL as attribution, and they agreed it works in our case.
When I post code samples on Stack Overflow I want them to be freely useable, under the MIT license. However I don't want nor require attribution. In other words, I am perfectly fine with someone using my code on SO for any purpose what so ever.
This attribution required nonsense is annoying. I freely share my knowledge, anyone can use it, I would expect the same from everyone else that posts their code.
Many posts turn into copy/pastes of solutions found elsewhere. A direct result of: 1) not allowing answers that are just links to elsewhere, regardless of how appropriate or canonical the resource and 2) a mad dash to answer first to maximize internet points (karma).
Will they start policing their own platform for copyright woes?
If Stack Overflow wants attribution to happen in practice, they should facilitate it by adding a copy to clipboard button that would automatically add the desired attribution to code blocks. This would have an order of magnitude greater impact on the actual amount of attribution taking place than simply clarifying the licensing terms.
That being said, I am concerned that the requirement for attribution creates significant legal landmines for anyone who doesn't follow the practice and many users of the service will not be aware of the requirement or it's potential legal impact.
It would be safer to move to an MIT license without attribution, but request attribution as a courtesy.
It would be safer to move to an MIT license without attribution, but request attribution as a courtesy.
Not just courtesy, but work to make it part of the culture. It should be. It is among professionally trained scientists and engineers, and this culture should be propagated into the self-learning crowd.
Best comment I've read: "I'm going to just start putting an ingredient list on my projects. _This software is made with 45% Stack Overflow recycled content_"
All source code that's available to me falls under the "I'll do whatever I want with it" License unless it's related to work for a high-profile client. Most of the time these licensing debates and discussions are an abstract philosophical matter in my life, not a practical one.
And how do you define when it requires attribution and what % constitutes a change and how do you calculate such a %? Also what if I the author put a different license on my answer, which is it?
Quick back story, attribution required is new in this proposal, the previous proposal did not require it leading to notable objections:
http://meta.stackexchange.com/q/271080/180500
I'm very much in the "who cares, I put my code there to be used" camp, but attribution is turning out to be surprisingly divisive.
It's done organically because it's nice to those reading your code later, as the block of code might be more clear if they read the question/answer around it. However, there's a HUGE difference between a nudge for kindness and a threat of hurting someone's life with a court case as an incentive for kindness.
Huh? The GPL already requires an appropriate copyright notice.[1] This is not the same as the BSD advertising clause [2]. I don't see how attribution is any different.
In section 7, Additional 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; or...
Author attributions seems to be quite clearly considered as compatible with GPLv3.
What do you mean by an antilicense? If you don't want to impose any restrictions on people, just put your code in the public domain. Here's some boilerplate for that: http://unlicense.org/
But you can't expect everyone to do that. Considering people who exercise their rights under copyright a "problem that needs to be solved" is generally regarded as a... radical stance.
I think it will be interesting for the SEO team at StackOverflow to see if getting a bunch of links from Github, BitBucket, and other code hosting services, impacts positively their SEO or not.
This seems to be, quite obviously, an attempt at free marketing. They want to be able to point at the corpus of products influenced by SO, and say "see, we're pretty cool".
I used a snippet of stackoverflow posted code in an example in my last book. Adding a one line attribution comment with the stackoverflow user's name seemed like such a natural thing to do that I did it almost on autopilot.
Code is used in ways that other works are not. For example, code has source code, or "preferred form for modification", as the GPL calls it. Code, sadly, may run afoul of patents, whereas a novel or a painting probably does not. Software licenses usually have clauses around these points.
Contrariwise, some licenses like the GPLv3 have intentionally broad language to cover works other than code.
Copyright lawsuits can only be initiated by the copyright holder -- the person who wrote the code being copied. StackOverflow does not claim copyright ownership of a user's comments.
New startup idea: acquire copyright to stack exchange solutions (there must be at least some authors willing to sell out), sue companies, patent troll style.
So, are people actually using code on SO as is? At least I only use it to learn how to use something and then adapt it to my needs. Surely this is my code and doesn't require any attribution or whatever?
What's the actual license text? I couldn't find it. And is mandatory attribution GPL-compatible? The 4-clause BSD license is not GPL-compatible because of its advertising clause.
I'll admit to always being a little confused about this point with reference to StackOverflow. It's a question and answer site that generally involves small, self-contained bits of code. How is answering the question not giving an implicit license to use that answer? Are your answers really so substantive that licensing it seems appropriate? Should I not accept your answer if my question is about proprietary projects so that I can wait for someone with a different license preference to come along and give me an answer I can use?
I suppose I've always looked at SO as devs helping devs, almost like a virtual coworking space. If the guy next to me is having trouble, and I look over and help him solve the issue, I'm not then going to go "oh, and btw, I'm going to need some attribution, and you're only allowed to use my solution if your project meets my criteria."
Furthermore, there are numerous court cases that say that, e.g., letters to the editor may be printed in the newspaper, even the absence of any explicit permission. IANAL, but I'd be really surprised if there's any license or attribution required.
Collections are covered by copyright. So even though a recipe is not copyright-able, a book containing recipes is. One of the reasons you will see recipes filled with many paragraphs of filler is that it then becomes a literary work which is covered by copyright.
Having said that, I would be surprised if the majority of code in SO is generally copyright-able. If I ask a question, "How do I initialise an object in C++" and the answer is a few lines of code, I do not think that this is a copyright-able work. It is a technique. Even if the code is long enough to be copyright-able, I don't think using the technique would be considered a derived work.
Whatever the case, scraping portions of SO would be a copyright violation since it is a collection.
you still can do that and attribute it somewhere. doubly so with this change, since they require a link and it could be a qr code on the margin (not that I'd buy that book, still..)
I am under the understanding that if you don't want your code to be used in proprietary projects then you should not post it on SO. I could be wrong though. I also think you could get around this by link to your code hosted elsewhere but I believe this is frowned upon.
I do not really mind if someone copies my code from SO and uses it in a proprietary project - though I certainly don't want to give that person a legal leg to stand on. I know it will happen inevitably, but saying "This code is licensed under the GNU GPL version 3 or later" will set alarms sounding in any developer paying attention.
I don't know if by submitting an answer (containing code) I am transferring the copyright to SO, or if I can stand in the way of this by saying "Copyright <my name>" in the answer.
You are not transferring copyright (so you can still additionally distribute it under a different license), but you are licensing it to them under their terms (currently CC, potentially MIT).
A major premise of Stack Overflow was that it must be possible for the content to be migrated somewhere else if the company becomes malicious (to avoid being seen as another Experts Exchange). This requires consistent licensing which is compatible with this premise. Allowing users to enforce arbitrary licensing restrictions on their posts would undermine this.
>but you are licensing it to them under their terms (currently CC, potentially MIT).
I see, thanks.
I wish I was told about this issue (and the current potential license migration) by SO. Instead I had to come here to read about a change that will be applied, and due to my low number of points on the site, not have my voice heard.
SO might want to give the appearance of some friendly "democratic" place, but the "this thread has been closed for being off topic" and crap like this license debate has really turned me off.
If they cared about the users, "meta" would not be so hidden away as it is, and certainly not issues like this - yet apparently the choosing of a new moderator by vote (glorified ego contest) is enough to send me notifications about.
What a joke; I can't wait for a better site to come along.
The discussion linked here is linked to on every single question page, question list, and homepage of Stack Overflow. And the same for every other site on Stack Exchange.
I don't mind it in the sense that I know it will happen anyway. I object to my code being used in proprietary projects, though with small snippets it's not such a big problem for me.
But the problem is big enough for me to want to make sure the code is covered by a license I like. This is just how my priorities are to me.
He's not saying that. He's saying that while he understands people will infringe his copyright, he still wants to help. He's not saying you can't use the answer, just that you need to use the answer under a license he chooses.
You could put the code portions of your answer in a gist/pastebin/whatever containing a license and link to that from your answer text. Your answer text would then be CC-BY-SA, but you could license your code under GPLv3 or whatever license you fancy.
I've posted quite a bit of code on SO. I don't want attribution. That is not my goal. That's is an anti-goal for me. I don't want to make it harder to use code in my code. I want to make it easier. I don't even want a link back to SO.
Sure if I write some 1000+ line library on github I might want attribution but I have no such desire on SO.
Am I a rare case? Do most SO contributors want attribution?