I like how the west is worried about copying/pasting some code and whether that would lead to some obscure licensing issue in the future where lawyers battle it out for 4 years, costing $3M in attorney fees; while some engineer in Shenzhen going off and copying stuff without any worries and infact openly teaching others in his team to learn how to cook some copy pasta.<p>IMO software licensing and patent litigations, all this nonsense of patenting a concept or workflow or some stupid idea someone had, hampers society tremendously.<p>David Beazley did an amazing and entertaining talk about software licensing litigations and what kind of things happen during this process: <a href="https://www.youtube.com/watch?v=RZ4Sn-Y7AP8" rel="nofollow">https://www.youtube.com/watch?v=RZ4Sn-Y7AP8</a><p>When I write any code, I take 2 options: 1) Don't share it publicly or 2) Completely release it as public domain. No need for MIT license or any of that crap. Here, just take the code and go win the world, I don't need any credit. Ask yourself how you've benefited from someone crediting you if at all it comes back to you. The world is a large place and just let it go. I am gonna die in 40 years and whatever I do will be totally irrelevant - if my name appears in COPYRIGHT 2020 MR. FERMI ENRICO. YOU MUST CREDIT ME. in some notice that a lawyer with thick glasses is scanning through after I am dead. What an amazing legacy that I am leaving behind.<p>Furthermore, we need have some respect for people that want to keep code private. Not everyone is interested in open sourcing their work - but somehow that's looked down upon. Why!? It is their work and respect it, there are so many people with pitch fork entitlement. Closed source is OK. They deserve it and hope they can be financially rewarded for the hard work. I see the open-source ecosystem as a double sword edge - we got some cool stuff out of it and everyone shares that base to build off of. But then there is also socialism of code - no one wants to improve it because its not their job, then the open source volunteers are blamed for the quality of their library where these guys are just doing it for fun in their free time - literally no right to get angry at them. Now, everyone is sharing the same shitty unmaintainable library 8 layers deep in their package.json file. The devs are overloaded, issues are piling up on Github and the dude in Shenzhen has already finished the project and his gadget is in prod.<p>We gotta be more agile lol.
Something I realized working on a large internal codebase at a company: any line of code you write is liable to be copied-and-pasted at some point in the future.<p>And that's good! Consistency is a very valuable quality of large codebases worked on by many engineers.<p>If I want to figure out how to write a unit test for a service call, find an existing example of that pattern and copy that. Resist the temptation to invent a new, very slightly better way of doing that.<p>There's a big corollary to this: if you find yourself doing something for the very first time in that particular codebase, take the time to do it well. Because everyone else will be copying your code for the future lifetime of the project.
Making a copy of an example someone has publicly posted to help people and modifying that copy to properly integrate it isn’t “stealing”. It was offered freely and the original author isn’t deprived of the benefits of their original work.<p>This article just wants to sound edgy.
I often incorporate snippets; some from SO, some from SomeRandomDudesMessyBlog.io<p>I have a rule, though: I <i>never</i> add code, unless I understand it 100%, and I often make tweaks to adjust it to my immediate needs.<p>One of my best thefts was a simple FIFO queue, from this book: <a href="https://www.objc.io/books/advanced-swift/" rel="nofollow">https://www.objc.io/books/advanced-swift/</a><p>This is my adaptation: <a href="https://github.com/RiftValleySoftware/RVS_Generic_Swift_Toolbox/blob/master/src/Collection%20Tools/RVS_FIFOQueue.swift" rel="nofollow">https://github.com/RiftValleySoftware/RVS_Generic_Swift_Tool...</a><p>I really had to do almost nothing to improve it. I think I just extended its utility a bit.<p>Of course, these weren't your usual SO "academic sample" dudes.
I think I might have a few hundred copies of:<p>```<p># From <a href="https://stackoverflow.com/a/246128" rel="nofollow">https://stackoverflow.com/a/246128</a><p>DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"<p>```
What is this article actually saying? Sometimes programmers copy-paste things, and that's ok except when it isn't, and something something Van Gogh? Is there more to it that I missed?
I read this article on vice gaming earlier about giving credit to creators for assets used in development that I thought was interesting...<p><a href="https://www.vice.com/en_us/article/qj4pzd/how-we-assign-credit-in-solo-game-development-waypoint-radio" rel="nofollow">https://www.vice.com/en_us/article/qj4pzd/how-we-assign-cred...</a><p>For me it just comes down to the license, I’d probably credit an artist for their work if I used it in a game but if the license doesn’t say that then there’s no onus to right?<p>If I like the stuff enough to use it in my project then The creator deserves some recognition, is there a reason not to?
If you're working on a JavaScript project, do you prefer copying from SO or installing a (micro-) package that solves your problem?<p>I seem to prefer the former.
To be completely honest, if you're smart, and focused on shipping product you really don't care and will find a way to steal while at the same time obfuscate to the point where no one will notice or care. I get there's a moral dilemma for some, and credit etc. comes into play, but I can assure you the people that are solely focused on getting $#!t shipped really don't care, and by the time they have to they will have either sank or have enough resources to handle it.
This applies to ops as well. Most problems we look at have been solved before so it's a case of identifying and integrating (aka opinioinating) the solution not necessarily creating something from scratch.
This should be a real book!<p>It is important -- vital even -- to know how to find the right code, how to understand and test it, how to modify it.<p>And not just from stack overflow, but also from colleagues and even yourself.<p>If this were real, I would buy it.