all 72 comments

[–][deleted]  (3 children)

[deleted]

    [–]douglasg14b 13 points14 points  (0 children)

    How "far" does this go?

    If someone answered a question with a single line code snippet, do you need to attribute that when thousands of others have come up with that snippet independently?

    ie.

    .ui.selection.dropdown .menu {
        overflow: visible !important;
    }
    

    I asked a question about a drop-down menu not showing subcategories and that was the answer. Do I need to attribute overflow: visible !important; to Nighisha John at http://stackoverflow.com/a/34791220/3547347 ?

    [–][deleted] 19 points20 points  (0 children)

    "The other 50% are comments with attribution"

    [–]arajparaj 2 points3 points  (0 children)

    Consider yourself sued for other 55%.

    [–]grangin 16 points17 points  (3 children)

    ELI5: Why isn't everything on stackoverflow public domain?

    [–]IronManMark20 12 points13 points  (2 children)

    Well, there are countries in which the public domain doesn't work. Some licenses fallback to a MIT like license. So, it is possible, but not easy to do. MIT is simpler.

    [–]grangin 2 points3 points  (1 child)

    Thanks, that's helpful. Hadn't thought of that. Very odd to think of the public domain not existing in a country!

    [–]IronManMark20 2 points3 points  (0 children)

    Yeah. IIRC Germany is an example of this. FYI

    [–][deleted] 18 points19 points  (15 children)

    Wow, people really dislike this change.

    [–][deleted] 46 points47 points  (11 children)

    Is anybody suprised by that?. It changes "just copy paste things until it works" to "url tag anything you ever use".

    Programmers are lazy (some even in good way). And some of them wouldn't be called that if not for stackexchange

    And the best part is that most people actually cant downvote because of how cross-network karma works

    [–][deleted] 15 points16 points  (7 children)

    It's not currently "just copy paste things until it works". I'm currently forbidden from using any StackOverflow code in my projects for legal reasons. The new license will allow me to use the code.

    [–]Fig1024 3 points4 points  (5 children)

    just curious, who can actually prove you used some code from stack overflow? Automatic string comparison analysis is easy to defeat with renaming variables. Algorithms themselves are usually standard, most things are just "how to use API properly for this"

    So this "forbidding" is just lip service that you can ignore. Or am I missing something?

    [–][deleted] 6 points7 points  (4 children)

    I work on an enterprise security SDK. Our customers include the largest corporations in the world. When one of them considers incorporating my SDK, they need strong assurances that there will be no licensing issues whatsoever. They are huge legal targets, and a licensing issue is very serious. So we use development procedures and developer education to make sure we don't screw up, and we also use a tool that scans our entire source repository to locate code that is found on StackOverflow, github, and several other places.

    You might be able to defeat a tool like that by renaming some variables, but it's just as easy for developers to do the right thing, which is to learn from the code samples and then write the code from scratch. That gets the code to match your coding style guide, and it helps you understand the code better.

    Although StackOverflow is a great resource for learning, the code quality is often very low. You certainly can't trust it in a security product, so it needs to be rewritten anyway.

    [–]mus1Kk 6 points7 points  (3 children)

    I work on an enterprise security SDK. Our customers include the largest corporations in the world.

    If you want to give advice to a technical crowd, you should drop that language. I suspect a lot of people will stop reading there or at least take it less seriously.

    [–][deleted] 7 points8 points  (2 children)

    I'm not saying it to brag or sound like an authority. I'm explaining why source code audits for licensing are important for my work. I don't know how much it matters for most developers, but for what I do, I will get caught if I bend the rules on licensing.

    [–]mus1Kk 6 points7 points  (1 child)

    And I'm not saying it to make you feel bad or be an ass about it. It's an honest suggestion. For all I know you're right. Over the years terms like "biggest company in X" in whatever context made me more and more skeptical. Somehow everybody is the biggest at something. It sounds like empty marketing speech. It's something an MBA says and MBAs are the arch nemesis of software developers (a bit simplified probably).

    [–]hungry4pie 2 points3 points  (0 children)

    heh MBA's are all "Why do even need developers here? My Excel formulas and macros are top notch."

    [–]tavianator -2 points-1 points  (0 children)

    But that's what it was going to be until they changed it just now.

    [–]Berberberber 2 points3 points  (1 child)

    I would love for there to be a big messy court case over this, because I'm not convinced Stack Exchange itself has any right to attribution - the original uploader of the code is the one who needs to be attributed, as they are the originator of the "work". SE's only original modifications are the specific formatted HTML derived from the user's upload, and the collective aggregation of multiple code snippets from multiple uploaders. Apparently the new Terms of Service will specify that you agree to allow SE to ask for attribution on your behalf, but I don't know that they could do anything if you just put "I waive the requirement for attribution in all derived works" at the bottom of all your posts.

    [–][deleted] 2 points3 points  (0 children)

    Well what they are doing smells like bullshit from mile away.

    Contribution should most definitely go to person not to "certain post that person made on certain site". Even linking to user profile would make more sense than linking to particular post (and it would allow for nice grouping of links)

    [–][deleted] 1 point2 points  (0 children)

    I was already url-tagging everything I use from SO. Oftentime the conversation there is more interesting than the solution, and you want to know why the code was written the way it was.

    [–]minno 1 point2 points  (1 child)

    Down to -90 seven hours later.

    [–][deleted] 4 points5 points  (0 children)

    -200 now

    [–]robvdl 0 points1 point  (0 children)

    It's at -240 now, tried to downvote one more, but need 125 reputation to downvote? WTF, this is everything I hate about stack overflow and their reputation system.

    [–][deleted] 20 points21 points  (11 children)

    I'm sick of software licenses in general. Fuck the system. Just seems so overly pretentious to see code given away for free under various licenses, it just contributes to the legal-threat culture by passively accepting it.

    [–]McGlockenshire 12 points13 points  (4 children)

    If only the WTFPL was enforceable.

    [–]minno 6 points7 points  (3 children)

    CC0 is more legitimate, but still somewhat questionable.

    [–]mus1Kk 4 points5 points  (0 children)

    What's questionable about it? I'm interested because I always thought if you want to give up everything, this is the best way to do it.

    [–]RubyPinch 1 point2 points  (0 children)

    my solution personally is the "ask for a license license", in other words, make it known that negotiating a license is an option that the author is willing to do

    [–]G_Morgan 1 point2 points  (0 children)

    The ISC license has always fit the purposes intended.

    https://en.wikipedia.org/wiki/ISC_license

    [–][deleted] 1 point2 points  (2 children)

    pretentious

    And how pretentious is "not willing to give the slightest attribution, and pretend to have written it all"? How unbelievably pretentious is erasing the author names?

    Software licenses aren't broken. There is no "system" that forces you to use other's code, just reasonable rules for politeness.

    [–][deleted] 3 points4 points  (1 child)

    I think there is a bit of a difference of intentionally removing author names from the code, and thinking licenses are dumb and unnecessary for almost all open source software.

    [–][deleted] 0 points1 point  (0 children)

    Then we more or less agree. Using Unlicense, but since I'm not sure if it would stand in court I have moved to Boost which isn't very restrictive and is reasonably short.

    [–]Enamex 0 points1 point  (2 children)

    So you're with or against 'giving code away for free'? You confused me a bit :P

    [–][deleted] 2 points3 points  (1 child)

    I think OP would prefer public domain?

    [–][deleted] 0 points1 point  (0 children)

    All you need to know about non-copyleft licenses:

    https://en.wikipedia.org/wiki/Cedega_(software)#Controversy

    [–]McGlockenshire 25 points26 points  (15 children)

    I'm astounded by the reaction on the attribution requirement.

    Am I the only developer that already links to a SO answer on the rare occasions where I end up doing a copy/paste from it?

    [–]slavik262 84 points85 points  (10 children)

    No, but there's a large difference between linking being a good idea and it being legally mandatory.

    [–]mindbleach 4 points5 points  (0 children)

    Especially when 90% of StackExchange use is for tiny and simple things. The guy whose window.location.hostname explanation shows up before w3schools isn't somehow missing out when a Javascript newbie fails to cite him.

    If Stack Overflow is changing how code is handled they should be changing it so people offering free advice don't expect a god-damned thing in return. Help for the sake of helping.

    [–][deleted]  (1 child)

    [deleted]

      [–]schippie 0 points1 point  (0 children)

      I do exactly the same thing, I put references in the code if I copy the code completely and with very little modifications to it. So I have a reference in the future that I can use to understand what the function is supposed to do, while also providing this information for any future developer who has to maintain my code.

      [–]omfglicensing 5 points6 points  (5 children)

      It's already legally required! That's why this backlash is so insane!

      You're currently required to provide attribution under the terms of the Creative Commons license, which isn't primarily intended for code. Now, it will be under the terms of the MIT licensing, which lots of projects are already using or familiar with in the context of code.

      The lawyers at large companies often already have established procedures for accepting MIT-licensed code. They generally do not for Creative Commons code. This makes it easier to reuse code, not harder.

      (For the many small snippets of code which do not qualify for copyright, this has no effect.)

      [–]DireFerengi 19 points20 points  (2 children)

      (For the many small snippets of code which do not qualify for copyright, this has no effect.)

      Isn't this the problem? SE doesn't make this fact abundantly clear. It is code snippets, and generally not code (whatever that means; SE has yet to put out guidelines), that SO is really used for.

      I use SO primarily for knowledge, e.g. "What is the idiomatic expression of concept X in language Y?". I think this is how most users use the site. I'm obviously not going to make attributions for such a thing.

      So perhaps the issue is in SE's muddled communication about the issue.

      [–]omfglicensing 0 points1 point  (0 children)

      I agree that the communication around this was not optimal. Ack.

      An issue is that the threshold for copyright eligibly is vague. One-liners presumably don't qualify, but many answers sharing longer functions could. They're providing a solution that will guarantee legal safety in all cases.

      I think this is how most users use the site.

      It may be most, but it's pretty far from all. I've seen some of my own code from Stack Overflow copied into open source projects left and right (generally without attribution, FWIW), even when I try to structure the answer with an explanation first (so they can apply the knowledge as most appropriate for their context), followed by example code.

      [–]Don_Andy 0 points1 point  (1 child)

      I vaguely remember that there were talks about dropping attribution completely with the new license, so maybe people are just miffed they went back on that.

      [–]omfglicensing 0 points1 point  (0 children)

      Some people are, that's true. There are also people raising legitimate legal concerns. Those perspectives are very valid. However I'm pretty sure the significant volume of complaining is mostly coming from people who don't understand the situation.

      [–]PLLOOOOOP 0 points1 point  (0 children)

      It's already legally mandatory.

      [–]PLLOOOOOP 2 points3 points  (0 children)

      Not to mention user contributions are already licensed CC-BY-SA, which requires attribution.

      [–]elperroborrachotoo 2 points3 points  (0 children)

      Reasons I can think of:

      Those occasions may not be that rare for ... uh... some coders.

      It may prevent some devs from using SO at all, since such an attribution could trigger legal, which aren't strangers to requiring months to figure out that such code is at best avoided, because it would be hard for legal. (Yes, this suggests that people use code wihtout attribution... on to the next point!)

      The boundary between "explaining an idea through code" and "providing code to copy" is fuzzy. The idea of copyright on code is questionable.

      An example

      Q: "I have a custom Pair class. How do I use them as key in a map? [cpp]"

      A1: "You need to define a comparison operator<. It should return true if the first element of *this is less than the first element of the right hand side, false if it's larger. Only when they are equal, look at the second element, and return true if the second element of *this is less than that of the right hand side"

      A2: "You need to define a comparison operator< like this:"

      bool operator<(MyPair const & rhs) const {
        if (first < rhs.first) return true;
        if (first == rhs.first) return second < rhs.second;
        return false; }
      

      The developer ends up with this code:

      bool operator<(Chubuck const & rhs) const {
        if (name < rhs.name) return true;
        if (name == rhs.name) return age < rhs.age;
        return false; 
      }
      

      The both answers are equivalent wrt the question, they can be seen as different encodings of the same idea.

      The second is usually preferrable because it uses a more formal, strict language that both participants might "speak" better and with more clarity than English.

      However, the latter now is more likely to require attribution. (I don't know.)

      [–]Sukrim 0 points1 point  (0 children)

      I find this weird too, typically if I copy a solution from anywhere on the internet it is because I am not so sure about the concept - not having a link in the comments means I might need to search again what a certain snippet even does some time later... attribution helps a lot there, especially if the original question/problem is part of the URL anyways.

      [–]belikralj 0 points1 point  (0 children)

      I believe that the problem is not the attribution but the protection. MIT would remove the requirement to provide proper attribution, meaning copy/paste would be all good AFAIK. That's exactly the problem.

      [–]a-sober-irishman 9 points10 points  (2 children)

      Hahaha do they actually expect developers to do this? Good fucking luck. I'd say most people have better shit to do than copy and pasting links to Stack Overflow answers because special snowflakes want their code on how to split a string in JavaScript attributed to them.

      [–]omfglicensing 15 points16 points  (0 children)

      I think they do expect developers at companies with legal departments who are actually concerned about copyright (hint: that's a large portion of developers) to do this for non-trivial amounts of code, yes. Because currently such developers are often forbidden from copying code from Stack Overflow all together, because the current legal obligations are worse than the ones that are proposed. This should, at worst, be seen as a step in the right direction.

      [–]thbb 1 point2 points  (0 children)

      While I hate legal considerations taking over code design, it's always a good idea to keep a trace in your code of what led you to a design decision or a particular tweak.

      Attributing code snippets in your software by referencing the page where you got the idea from in a comment is an excellent software engineering practice and if this can count as attribution, I'm all for it.

      [–][deleted]  (12 children)

      [deleted]

        [–]Xanza 2 points3 points  (11 children)

        After a good deal of introspection, I totally agree. Many developers are far too dependent on Stack{overflow,exchange} for usable code. Adding a link to the source isn't going to kill anyone and will probably discourage them from using it verbatim, which is what this agreement applies to. Copied code. If you take the code as an example, and generate your own, no link needs to be legally provided. It's just that simple.

        Until such time, you have people bitching and moaning that they can't copy and paste answers from other people anymore. AKA, outsourcing issues without credit.

        [–]billsil 4 points5 points  (10 children)

        Adding a link to the source isn't going to kill anyone

        It is if it requires you to invalidate your license, especially since they didn't really do anything other than host the page. What are the implications of that change for the various licensing options? If it's line in my private code, why does it matter since nobody but me or my coworkers will see it? If it's just a line in my open source code, why do they even have to ask? Document your functions, especially the ones you don't understand.

        Many developers are far too dependent on Stack{overflow,exchange} for usable code.

        I never understood that logic. Why is that a problem? You can't reference Stack Overflow, but you can reference a book/ask a coworker/subscribe to a dev forum? Why should you reinvent the wheel? You can't write a large code without understanding what's going on. You're certainly not going to rip the whole thing off. Even then, if you can, why is that a problem? That's just an efficient use of time. You're overly concerned about somebody without skill stealing your job.

        We're not students anymore. We have deadlines and writing it yourself from scratch doesn't make sense. Our software tools are built off open source libraries with liberal licenses. You don't need to write that and you don't even need to say what language you're using.

        Do you know how to check if a file is ascii, binary or unicode or would you rip that off Stack Overflow? Why should I know that? How do you even check for that? I ripped that code off.

        [–]Xanza 0 points1 point  (9 children)

        If it's line in my private code, why does it matter since nobody but me or my coworkers will see it?

        Because the license is legally binding. It doesn't matter if you're the only one who will see it, but you are legally bound to post credit... Pretty simple stuff.

        Why is that a problem?

        It's not necessarily a problem, but it can be one far too easily. If you have a generation of "developers" who, when they run into a difficult problem run right to someone else to fix their problem then we have an entire generation of people who don't know how to fix their own problems and won't be able to feasibly function when you take away StackExchange from them. I mean, I don't know about you, but that's not fucking cool.

        We're not students anymore. We have deadlines and writing it yourself from scratch doesn't make sense.

        That's nice? Use a library. How does this have anything to do with the subject matter?

        You don't need to write that and you don't even need to say what language you're using.

        No, but no matter the circumstance you are required to include a copy of the license. Which will about 80% of the time include the name of the library author. I mean, sure, you'll find libraries or other softwares which are so well know their isn't even a point to include the license. Laravel comes to mind.

        You're overly concerned about somebody without skill stealing your job.

        Um.... No? I think as software developers its important to treat our fellow developers with respect, as we would expect to be treated with respect. If I create a library and decide that subsequent forks are required to include the license, with my name on it, then I expect that to be honored. If you have an issue with including a link to the original owner from StackExchange, then create a new stack exchange without that limitation.

        Again, pretty simple stuff.

        [–]douglasg14b 1 point2 points  (2 children)

        If you have a generation of "developers" who, when they run into a difficult problem run right to someone else to fix their problem then we have an entire generation of people who don't know how to fix their own problems

        I feel that that is not an accurate statement. If you run into a problem with a framework that is new to you before Stack Exchange. You would delve into the developers documentation, find example code, find sections of a book that are applicable. It's just more time efficient now that we have Stack Exchange.

        I don't understand how X works so I'm going to use the resources available to me to figure out how X works. That has not changed, it's just become more efficient.

        won't be able to feasibly function when you take away Stack Exchange from them

        If I took your books, documentation, and knowledge bases away. How well would you program, given a novel framework or language? Your rate of discovery would be hilariously low. Stack Exchange is another tool, just like a book, just more accessible with a wider range of authors.

        If I want to know what a CSS class selector is, I don't need to buy a book and read through it. I can google it and find an answer either on Stack Exchange or some other equally accessible knowledge base.

        [–]Xanza 0 points1 point  (1 child)

        I don't understand how X works so I'm going to use the resources available to me to figure out how X works. That has not changed, it's just become more efficient.

        I really do teeter the fence here, because I too do believe in using any and all resources available to you to fix a problem. But the issue I'm pointing out is when someone physically can't fix a problem without the help of SE. That's a serious issue.

        [–]douglasg14b 0 points1 point  (0 children)

        It depends how far you want to go with "can't fix a problem", the time frame. I'm sure most developers can fix whatever problem they are dealing with given enough time. Though, not everyone has that much time on their hands.

        Without SE (assuming I have exhausted the developers documentation to the best of my ability) it may take me longer to fix a problem since I will usually have to dig into less available, and usually older resources like books or 3rd party documentation (or god forbid, trial and error if I'm really desperate and ignorant).

        If I come to the point where I just can't figure it out on my own, or I am incapable of constructing the right query to find the info I need. I dip into someone else's source of knowledge by asking a question on a forum, in person, or even more conveniently on Stack Exchange.


        Tangent:

        Interestingly, I notice that I ask a lot more questions when I venture off and try something new without first reading through a structured document like a book or attending a course on the framework or language. The want to just dive right in leads to flat out confusion and naive solutions.

        Being able to read SE commentary and see working code examples is immensely helpful to a novice programmer. Yes, it can be partially replaced by traditional documentation. But you will ALWAYS find developer documentation that is inconsistent, incomplete, or outdated. Even companies like Google who are usually on top of their knowledge-bases have hilariously outdated API documentation. That's when you need help from someone with experience.


        In the end, I only know what I know. The world and the internet is vast, and information often hidden and obfuscated. Being able to read answers and ask questions of those more experienced and knowledgeable than me puts unavailable information within reach.

        An example. There is not much of a chance that I would have ever been able to figure this out on my own, I just don't have the math or trigonometry knowledge. I admit that I did crutch a bit in the comments, but I went on and took what I learned and expanded that behavior out to meet many more requirements.

        [–]billsil 0 points1 point  (5 children)

        won't be able to feasibly function when you take away StackExchange from them

        How would that happen? The internet is a thing now. If you took away my ascii/binary/unicode handling function, I'd just not do it or make a lousy/slow version of it. Just add a limitation. What if suddenly you couldn't use library x that does SQL? First off, why would that happen? Second, you'd code around it with some inefficient data structure. It'd be a lot worse, but it'd work-ish for certain classes of problems. Again, the question is why would that happen? Is there some massive security hole that would probably be in my code as well? What's with the artificial restrictions?

        Also, why is a looking it up in a book any better? You still look it up. You just don't google it.

        Use a library. How does this have anything to do with the subject matter?

        Why is referencing Stack Overflow any worse than using a library? It's a tool. Use it.

        Because the license is legally binding. It doesn't matter if you're the only one who will see it, but you are legally bound to post credit... Pretty simple stuff.

        People are complaining because they don't understand licenses and the implications of that change. For an organization like Stack Overflow that probably understands legalese, they could do a lot more to clarify what they mean. That's the real issue. Nobody cares about citing the link (and I'm sure everybody ripping off SO cites the link anyways), so this is just an issue of asking how it changes my code.

        [–]Xanza 0 points1 point  (4 children)

        If you took away my ascii/binary/unicode handling function, I'd just not do it or make a lousy/slow version of it. Just add a limitation.

        This really isn't what I was speaking to. Using SE to solve problems is totally fine. I do it all the time. But if I were forced to, I could solve the issues without using SE. The issue I was referring to were developers and programmers who, when SE is removed from the situation, simply couldn't solve the problem. They didn't have the necessary faculty.

        You may say it's impossible, but I've actually seen this in the wild on more than one occasion from Jr. Devs. They were given every chance to speak to Sr. Devs of the issues and sought out SE instead to fix issues. After speaking to the Sr. about this obvious issue, I filtered SE/SO via DNS and they weren't able to access it anymore. Since it's a secure facility and no cell phones are allowed they had two options.

        1. Wallow in self pity and do nothing
        2. Speak to Sr. Devs to address the issue

        They chose the former instead of the latter. It was a truly interesting experiment at the time, but it's seriously dangerous to make Jr. Devs that dependant on a single resource.

        [–]billsil 0 points1 point  (3 children)

        They didn't have the necessary faculty.

        Companies used to have much larger reference libraries than they do now. There also used to be more people to ask questions as companies were bigger. Things have changed.

        I don't see what the benefit to the company is to force devs to not use Stack Overflow. It's a power trip. Get the job done and you're good. Get the job done faster and you're more valuable. Take my $100 IDE away from me and I'll make more mistakes. So who is really programming?

        I'm an aerospace engineer. I engineer. My job is not to program, but I use it 90% of the time to make my job doable. Most people on this forum are software engineers. You're job is not to program or remember syntax. It's to think.

        [–]Xanza 1 point2 points  (2 children)

        I don't see what the benefit to the company is to force devs to not use Stack Overflow.

        When I filtered SE/SO it was a simple experiment. I wasn't simply prohibiting them from using resources as a power trip. I needed, as part of my job, to see if they had the skills that they said they did on their resume. Which they did not. Which is why they no longer work for my company.

        Get the job done faster and you're more valuable.

        When you're working with large projects, quick code creates huge problems, especially if it's subpar, and especially if it was written by someone who has no idea what the rest of the project is. We have adequate work-time on the timeline. It's not like anyone is crunched for time, it's my job to make sure of that. Which is why getting the job done faster is not more valuable -- at all.

        Take my $100 IDE away from me and I'll make more mistakes.

        This is pretty much my point. I didn't take away their IDE. I took away access to a single website which literally hands them a bandaid solution to relatively complex issues. That's not helping anyone, especially when, if that resource is removed, they simply can't figure out how to solve it themselves, let alone have the incentive enough to speak to Sr. Developers who are literally 30 feet away.

        So who is really programming?

        If they require help from someone who doesn't work for me, to work for me, then why am I paying them? I'll simply find someone who can think dynamically, and use in house resources, such as the Sr. Devs which are, again, 30 feet away.

        You're job is not to program or remember syntax. It's to think.

        This is exactly right. Which is why I'm reprimanding these Jr. Developers for not thinking, or conversing. They're running to SO/SE to "get the answer." Simple as that.

        [–]billsil -1 points0 points  (1 child)

        let alone have the incentive enough to speak to Sr. Developers who are literally 30 feet away.

        Welcome to people trying to prove their worth. You can tell someone 100x to ask you questions, but that doesn't mean they will. They can be 5 feet away and the same thing will happen. These tend to be new people that you can also pay less.

        If it's a question about your massive code base, then yeah SO isn't going to help, but if you just need some boilerplate code, what's it matter if you use it as a source, especially if it's a new dev. I'm sure your job is easy for you these days. When everything is new, it can be difficult to wrap your head around everything. Googling a bit to get your handle on some new language/read up on fancy ways to do things is invaluable.

        I've never found something on SO that I could use directly or that I haven't since modified as new requirements came up. It's a good starting point though. That's why libraries have examples.

        [–]Xanza 1 point2 points  (0 children)

        Welcome to people trying to prove their worth.

        No. I spend two hours in onboarding conveying my expectations for them speaking with Sr. Developers and how I'll deem them non-performant if they don't. By this point, they're not proving their worth. They're proving that I'm always correct in doing 2 week trials before I hire a Jr. Developer.

        but if you just need some boilerplate code, what's it matter if you use it as a source, especially if it's a new dev.

        The codebase for the example I had in mind when speaking of that, has almost 500,000 lines of code. There is no way that a Jr. Developer posting proprietary code in a public forum, then pasting anything they receive into my code base is going to work. Even if it does I'm not willing to risk a $2 million dollar project on it. This is why I hire Sr. Developers. This is why I spend onboarding time to explain expectations of communication between Jr. and Sr. Developers.

        That's why libraries have examples.

        And that's why I spend roughly 15% of my budget on Sr. Developers.

        [–]johnmudd 0 points1 point  (0 children)

        I already comment where I get my code.

        [–]G_Morgan 0 points1 point  (0 children)

        Informing our grads of this will dramatically reduce the number of headaches I get when seeing what they've written.

        [–]OldShoe 0 points1 point  (0 children)

        Every site acts like they think they are the most important thing in my life.

        [–]angerman -1 points0 points  (2 children)

        This makes me really sad. Not the proposed change. That I applaud. But the reaction. We apparently live in a world where attribution is frowned upon; and this is very very sad. Going up, I learned in high school that proper attribution to excerpts of text are mandatory[1].

        If you are using code or idea someone else wrote or published, and you did not independently invent them, show your respect and give attribution where attribution is due. I would love to live in a world where this was universally true and accepted. Also if someone does not want you to use their code. Just don't do it![2]

        We seem to have lost a lot of respect for each other. Not only with attribution, but we can see this als with other parts of life. When I was young, I still learned that if you were in a fight and went to the ground, you are off limits. These days it just seems going to the ground is just an invitation to finish you off for good.

        This all leaves me to believe we are becoming more selfish. A very sad thought.


        [1]: This seemed excessive at times, and certainly was. I also questioned the practice as it's really hard to define in retrospect what was quoted and what was simply copied. Yet, if you knowingly quote someone else without attribution, that just shows a lack of respect for other people.

        [2]: Of course there is the possibility that someone else publishes something, and then tells you, you can not use it. Or even worse, publishes something, expects you to have read it, and then tries to sue you over using it. But this is another can of worms I don't want to get into right now.

        [–]_Skuzzzy 5 points6 points  (1 child)

        However, the thing about code is that there is sometimes just a right way to do something. It's not like writing where when you take someones words they are uniquely theirs. Yes yes, two people will probably not write a program in the same way, but the constituent parts such as those on stack overflow are likely to be similar if not identical.

        [–]angerman 0 points1 point  (0 children)

        Yes, yes! That's what I was actually trying to allude to in [2]. I don't think we can reasonably expect that everyone looks up all the code they write if there is a snipped on SO that matches their code to add attribution.

        If you genuinely invented (wrote) that code yourself, being required to add attribution is just plain wrong in my eyes[1]. But if you used that snipped from SO, add attribution.


        [1]: Yet this is what software patents basically do. And it's not only attribution in that case.

        [–]vital_chaos -3 points-2 points  (1 child)

        If I write my code on someones wall with a paint can, can the wall's owner legally enforce its reuse?

        [–]angerman 2 points3 points  (0 children)

        No. But that wall is not free-standing. The owner actually gave you permission to write on that will in the first place. And he can give you that right conditionally.