Latest StackOverfart Brainflow: Attribute all the things



  • Basically, you're supposed to attribute anything that comes from SO in your code with a link to the page in question.

    Right. Which kind of leads to the question: What will happen if you don't do this?

    Judging from the comments, the userbase is not exactly enamoured with this move.



  • @Rhywden said:

    What will happen if you don't do this?

    Nothing. Ever.


  • BINNED

    We will give you guidance on identifying code in an upcoming FAQ, plus guidance on how best to comply with the attribution requirement

    So people who read SO FAQs will know about this. People who google "How do I maths in jQuery" will still c/p wrong code and leave it at that



  • Yeah. That's why I asked - I seriously couldn't think of a scenario where this makes a difference.

    Plus, a rule you can't enforce at least partially and which will get ignored from the get-go doesn't make a lot of sense.


  • sockdevs

    Not everyone active on Stack Overflow is active at SE.Meta. For those users, they can upvote (thanks to cross-network bonus) but not downvote (that requires explicit participation on this Meta, not the SO.Meta).

    Basically, StackExchange is imposing these asinine changes on StackOverflow users because of votes from people who have probably never written a single line of code in their lives. What kind of ass-brain would run such a s- oh, wait, he's also behind Discourse.



  • Hey, look who I've found!

    Hi @MikeTheLiar!



  • @RaceProUK said:

    Basically, StackExchange is imposing these asinine changes on StackOverflow users because of votes from people who have probably never written a single line of code in their lives. What kind of ass-brain would run such a s- oh, wait, he's also behind Discourse.

    Even without people who can't participate because of this silly restriction, this announcement has an internet pointz score of -211 (130 upvotes, 341 downvotes)... meaning that the majority of people voting for this hate the idea.



  • Heh:

    ##How did we get there?
    Despite a top-voted analysis that said, basically, "Please don't do this", Stack Overflow staff billed the feedback as "highly positive". This ignored the fact that some people upvoted the question because they thought that licensing was an important issue that deserved attention, rather than because they agreed with the proposal.

    I think we've learned our lesson this time. This question has been downvoted off the front page of Meta.SE. Is that a clear enough signal? If not, then what would constitute the "showstopper" that you require?

    Jeff may not be running the show there any more, but he taught his successors well.



  • @Rhywden said:

    Basically, you're supposed to attribute anything that comes from SO in your code with a link to the page in question.

    So anyone following links in your code will constantly slam their faces into "Question closed, not constructive" pages.



  • It gets even better:

    Does this potentially make answering pre-February 2016 questions illegal after that date?

    If someone asks on January 31st:

    I have this code, it doesn't work, how can I make it work?

    then two days later, I might know the answer and just copy his code, change a few characters to make it work and post that as an answer. Except, that I am not allowed to. His code is licensed CC-BY-SA but by putting it in my answer, I would license it as MIT. I am not allowed to do that.

    Is this correct, or am I missing something?

    Of course to make it legal I can answer it like

    In line 5, you have to change the 3rd 'a' at position 16 to 'b' and in line x...

    But if it is that cumbersome to answer, I might just not.



  • What was that Jeff quote about Stack Overflow's success being measured by people forgetting about Experts Exchange? This proposal sounds like a pretty good way to get them back in the spotlight.



  • Such an unfortunate name, though.


  • sockdevs

    Only because they didn't have a hyphen



  • 3 questions.

    2: How will this be enforced?
    1: What are the penalties for breach of this nonsense.
    3: Is SO liable for the content of their site?



  • They added it... eventually.



  • @RaceProUK said:

    Only because they didn't have a hyphmen

    Filed under: STFY



  • Thanks for the heads-up. I need to inform my employer that it is legally dangerous for our staff to ever use StackExchange ever again, because there's no way we can possibly attribute every possible instance that someone might copy a line of code (or type in something from memory that was once learned from SE, or copied from another project that copied code from SE.)

    It's like the GPL, but with less political activism and more stupidity.



  • Uhmm, reading more into the subject, attribution is already required by the current license (cc-by-sa).

    Apparently it's listed under "changes" because it's a change to the previous proposal, which recommended removing that clause.



  • This is why licensing code sucks. I have a feeling that if SO code was public domain from the start, we wouldn't be having these headaches and the way people use SO wouldn't even change. Just to prevent people from having these headaches with my own code I use the unlicense...


  • Discourse touched me in a no-no place

    I was hoping the Unlicense prohibited all uses of the codez for all eternity.


  • Discourse touched me in a no-no place

    @boomzilla said:

    Jeff may not be running the show there any more, but he taught his successors well.

    The mods on stackexchange are all Jeffs, as well as most of the active users. The non-Jeff users get annoyed at the Jeffs and eventually stop posting. The chess stackexchange is mostly OK but that may just be because there aren't as many users. I spend a lot more time on quora for chess questions, also reddit (which has its own set of problems).



  • LOL:

    What's that they say about a lead zeppelin?



  • @rc4 said:

    What's that they say about a lead zeppelin?

    That it would float in a sea of mercury?


  • sockdevs

    @rc4 said:

    What's that they say about a lead zeppelin?

    That it's not as crazy as it sounds?
    Mythbusters lead balloon – 04:49
    — cng4802002

    OK, it's a balloon not a zeppelin, but as a proof of concept…



  • To be fair, if I do copy a function from a website, I always add the website URL to our codebase. At least until I start rewriting, at which point all bets are off.

    I'm kind of curious as to what people's objections are, it seems pretty harmless...


  • Discourse touched me in a no-no place

    @blakeyrat said:

    I'm kind of curious as to what people's objections are, it seems pretty harmless

    People working for places that are still allergic to the idea of open source code and people who are dishonest enough to make an living copy pasting code from the internet but honest enough that they'd admit it if required.



  • Only the big corps will have a problem with this. Which will make working for them even more unbearable.

    What a dumb move.



  • Well as the link says, technically it's already required since the "Creative Commons" license they use for the TEXT of the answer already requires attribution.



  • The problem with corporate legal departments is that they want to be certain that they won't be sued.

    SO might be saying that you need only to post a link in your comments above the quoted code, but a lawyer's not going to just assume that that's the end of the discussion. What if you didn't make a perfect copy, but implemented the illustrated concept with new code? What if you converted the function to a different programming language? What if you wrote new code based on the discussion? What if you copied it for a throw-away test app and then wrote new code for the production build based on what you learned from the test app? What if you discussed the concept with coworkers and they wrote new code based on what you discussed? What if six different people posted the same code in response to six different questions and you only know about (and therefore only read) one of them?

    How many degrees of separation will be necessary before there is no longer the need for attribution? An informal posting on SO's meta group isn't going to be sufficient for any lawyer to decide on. He's going to need to see the full text of the license, along with all kinds of similar case history to determine what the boundaries are to avoid losing a suit, and what the other boundaries are to avoid someone bringing a suit in the first place.

    I think in most cases, employers are just going to say "it's not worth the expense to figure this out, so employees are no loner permitted to read or contribute anything on SO and its related sites." So everybody loses.



  • @David_C said:

    The problem with corporate legal departments is that they want to be certain that they won't be sued.

    This



  • @David_C said:

    It's like the GPL, but with less political activism and more stupidity.

    So...................................... it's like the GPL?



  • @David_C said:

    The problem with corporate legal departments is that they want to be certain that they won't be sued.

    The problem with me is that I want to be certain I get a pony.


  • Impossible Mission Players - A

    @Rhywden said:

    Basically, you're supposed to attribute anything that comes from SO in your code with a link to the page in question.

    I do this on principle so I know who to thankblame if it ends up not quite working as expected.
    Actually, I rarely straight copy-paste code anyways, so there's that....

    Edit: Kinda :hanzo:'d by @blakeyrat. Really should get in the habit of reading through the end of the thread before replying...



  • @LB_ said:

    Just to prevent people from having these headaches with my own code I use the unlicense...

    It would be more stylish if you used The WTF Public License.



  • This needs more emphasis:
    @Medinoc said:

    attribution is already required by the current license (cc-by-sa)
    ------------------------------------------------------------------------

    @blakeyrat said:
    it's already required since the "Creative Commons" license they use for the TEXT of the answer already requires attribution.
    ------------------------------------------------------------------------



  • @Bulb said:

    It would be more stylish if you used The WTF Public License.

    I checked, and that license doesn't have a no-warranty clause. No go.


  • Discourse touched me in a no-no place

    Meanwhile, at WtfCorp:

    :man: (Weng): We need to buy a license for this, the license says it's free for personal use only.
    :baby: (Vice President): My other team uses it freely, you are wrong!
    :man:: Here, have a link to the license.
    :baby:: My other team uses it freely, you are wrong!
    :man:: Maybe we should ask Governance or Legal?
    :baby:: No! My other team uses it freely, you are wrong!



  • I'm glad our contract department (which is an arm of out legal department) has a pretty powerful hammer to swing if anything like this happens. And they do swing it, and people take note.

    However, it's rare that something slips under their noses for more than a few days since they know every piece of software that gets installed on every system.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    To be fair, if I do copy a function from a website, I always add the website URL to our codebase.

    There are people who don't do this?

    Though thinking about it, yes, it does happen - dunno why I'm surprised - I've actually seen it :

    @PJH said:

    About a month later he was forced to admit that he was having problems implementing ICMP pings. (Mgt fuckup #3: Much later, after he left, I discovered by Googling an obscure comment in his code that he'd actually copy pasted (far too much) code from Berkley's ping utility. The successor implementation did it in around 15 lines.)


  • Discourse touched me in a no-no place

    Libraries tend to slip through the auditing cracks because they tend to be "A bunch of DLLs and some CHMs" which are the kind of stuff that tend to appear autonomously on developer machines ALL THE TIME.



  • @blakeyrat said:

    At least until I start rewriting, at which points all bets are off.

    Point is, you don't want to get sued over the lack of said attribution, and you don't want a legal battle on when exactly their code stopped being their code and became your code, etc, etc.

    Plus it's okay if it's a swath of code, but gets kinda silly if you get an one-line answer, and now you're legally forced to attribute. Imagine an answer like "oh, you have a typo here, it should be List<T> list = new List<T>();". You fix the code without thinking, and then bam, legal action.


  • area_deu

    @LB_ said:

    I checked, and that license doesn't have a no-warranty clause. No go.

    Why is there no “no warranty” clause?

    The WTFPL is an all-purpose license and does not cover only computer programs; it can be used for artwork, documentation and so on. As such, it only covers copying, distribution and modification. If you want to add a no warranty clause for a program, you may use the following wording in your source code:

    [code]/* This program is free software. It comes without any warranty, to
    * the extent permitted by applicable law. You can redistribute it
    * and/or modify it under the terms of the Do What The Fuck You Want
    * To Public License, Version 2, as published by Sam Hocevar. See
    * http://www.wtfpl.net/ for more details. */[/code]


  • Grade A Premium Asshole

    StackExchange is what happens when you hand out participation awards.



  • Well, :doing_it_wrong: did start StackOverflow almost 10 years ago and looks like it might finally implode.

    Looks like :minidisc::horse: is on track for that 10 year plan.



  • By fixing a typo you are not instantly the author of a creative work that falls under copyright protection.

    In general, copyright protects expressions that contain a certain amount of originality. It doesn't protect ideas and algorithms (that's something for patent law) and it also doesn't cover the straightforward implementation of such an idea, for example, when an API or framework dictates how something must be done. You have to be able to express the same idea differently. And if you do express the same idea differently, it is also ok. Copyright law doesn't forbid plagiarism. (see also here on Wikipedia)

    So, that code line List<T> list = new List<T>(); doesn't fall under copyright protection.

    And the same probably applies to most of the code on StackExchange, exactly because it is a site to get a straightforward answer to a question and not a site to get software programmed for free.

    Which would mean that it is mostly a lot of fuss about something that won't hold up in court anyways, but just creates unnecessary uncertainty.

    (Disclaimer: I'm not a lawyer and this text certainly doesn't exactly describe the law in any particular country)



  • Meanwhile at every Hungarian startup:

    • Boss: You're gonna be writing C# in Visual Studio and please use ReSharper to enforce the coding style.
    • Intern: So where do I get the company licenses for those?
    • Boss: Here's a tool to crack it.

    Meanwhile at a Hungarian music club:

    • Me: I use hardware synthesizers.
    • Other keyboardist: Software synths sound much better, you should use those instead and it's a way cheaper option.
    • Me: But the total cost of laptop, MIDI controller, VST host and the softsynths is as much as my current hardware rig.
    • Him: Theoretically yes, if someone buys the software.

    Meanwhile in a Hungarian university:

    • Instructor: This course is about MATLAB and there will be homeworks.
    • Me: So how do I get a free student license?
    • Instructor: You can download it from torrent. Or you can try to find a time when the computer classrooms are empty and write your homework here.
      ...
    • Instructor of another course: On this course we're gonna use Spartan for molecular simulations. There is a free student version but it cannot do everything that you'll need for the homework so here's a link to download the cracked version. Theoretically you can use it in the classroom but the simulations you need to run take 8-12 hours to finish.


  • Yeah, those usually get caught being downloaded by the proxy though. Thankfully, because otherwise they'd be hard to detect (as you said).



  • @blakeyrat said:

    To be fair, if I do copy a function from a website, I always add the website URL to our codebase. At least until I start rewriting, at which point all bets are off.

    I do exactly that - if it's a function then I put the URL in a comment in the header, not least because there are often discussions / comments at the URL which explain why this is a better approach than others.

    But I sure as hell don't attribute a 2 or 3 line piece of code (last night, I lifted a 3 line snippet to copy a memorystream to disk, for example) and won't start doing this, just cos The Jeffs say so.

    Edit: This is what I copied, pasted, and then subtly changed (because I wanted to return the byte[] rather than write directly to disk) - do the Sons of Jeff seriously expect me to attribute this?

    using (var ms = new MemoryStream())
                {
                    xml.Serialize(ms, config);
                    return ms.ToArray();
                }
    

    @blakeyrat said:

    I'm kind of curious as to what people's objections are, it seems pretty harmless...

    My core objection is someone trying to say that the above two examples are the same, and both need attribution. You just need common sense.



  • Like @blakeyrat, I tend to put a link to the webpage that provided the solution. But only because the solution is often to a difficult or obscure problem, and the solution is also a bit difficult or obscure. There's usually discussion around the solution, including WHY it is the way it is. The link is there for the next developer who comes around and says

    "Wow, this looks stupid. Why did they do it like this instead of Y. I should just change it to Y-- wait, what's this link? Hmm, this discussion says Y won't work because of obscure ZZZ thing. Good thing it is the way it is, or I would have dumped dozens of hours into this."

    On the other hand-- 99% of the time the code on Smurf Overflow is wrong, and requires reworking just to get it to compile.

    In conclusion, if Snack Oedipus becomes a selfish pile of shit, then I'll just do what I did for Sex Exchange; blackhole the domain, and go to the second result in Google instead.


  • sockdevs

    @Lorne_Kates said:

    On the other hand-- 99% of the time the code on Smurf Overflow is wrong, and requires reworking just to get it to compile.

    An issue made worse by the mentality that it's OK to vote up a dirty hack instead of a proper solution. Assuming of course someone's spent more than ten seconds trying to come up with a proper solution.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.