The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
Why should I hire a software engineer if I can just copy and paste code from the Internet (CP and other sites)?
It is still worth the money. Because -
- Copying code from Internet - $ 0
- Knowing which code to copy from Internet - $ 100000 / year
- Understanding that copied code, and fixing it so that it works correctly, and passes all tests - $ 200000 / year
- Maintaining that code - $ how much?
while not exposing you to legal sh*t for any breaches of the prior 2 points
Here is a scenario:
- A software engineer takes code from the Internet.
- He/she then modifies all variable, method and class names, and then deploys this modified code into production software. (Does not modify anything else in the code). Without attribution.
- Is this an IP breach? Morally/ethically yes, but legally?
IP rights only extend to the patent, copyright, trademark, and "trade secret" categories which probably wouldn't be open source though it doesn't exclude it.
It would probably be a violation of a license's terms though. That code would be considered a derivative work which still falls under the original license. It should be pretty easy to show that something is a line-by-line copy with different names to a judge.
Now if someone took the idea of your work and wrote their own with the same general logic but different implementation details, I have no clue. You'd have to ask a lawyer. My hunch is there's no way you'd be able to reasonably prove your case with only the source code.
I've worked as an assistant expert witness on a number of 'IP' type cases - is it an IP breach (and only considering what you've outlined here) ? most certainly ... expert witnesses analysing code for such look at a number of factors to determine such, but that is some of the most obvious things to do, ie modifying variable/method/class names ..
Sometimes when you're analysing code, there may only be one way of doing something - sure .. but there can be a whole lots of other things/factors 'around that' which may provide the determination of 'copying' or not
.. as said above by others, none of this takes 'licensing' or "what is allowed for a 'derivative work'" into consideration... there be dragons everywhere
I also did some work as an Expert Witness in a "you copied our code" case. I was able to easily show that the allegedly copied code was actually quite different in structure and method even though it achieved the same end (there's more than one way to skin a cat).
The interesting thing is that, to analyze the code, I was paid 5 times what I would have theoretically have been paid to actually write the code! I wish I could have done this kind of job more often, it was quite interesting and I could have retired years ago!
- I would love to change the world, but they won’t give me the source code.
making the code maintainable is a given (or is it these days ?)
Do you really think it? Haven't you read the insider news the last months / years?
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
I once had a coworker who copy pasted EVERYTHING.
Basically, he didn't understand programming, but by copy/pasting (my) code he got by.
At one point I told him to use the Enumerable.Any<T>(Expression<Func<T, bool>>) function for something he needed.
We used Entity Framework and did things like Where(...).Select(...).OrderBy(...) all the time, but Any(...) wasn't used all that much.
So after five minutes this guy's like "Sander, can you help me? How do I use that function?"
And I'm like "What do you mean, how do you use it? It's just a function like all the others..."
He: "Yes, but what's the Expression thing? I don't get it."
Me: "The same you use for Where, Select and OrderBy? "
He checked it out and was flabbergasted at first, that he'd been using Expressions for the past two or so years.
Then he came back because he still didn't get it...
He'd never known about Expressions, just that he put in some random character and then => and then some code where the character was "suddenly" the class he (usually) expected.
E.g. dbContext.Persons.Where(p => p.FirstName == "Amarnath");
He literally didn't get it because instead of "Where" it said "Any" and that, to him, where completely different things.
I think that was when I also found out he thought I invented generics in .NET
I told him he shouldn't copy paste so much and that if he did he at least had to understand what he copy pasted.
Copy pasting is a right you have to earn by first writing it yourself.
Unfortunately, this guy really couldn't do anything without copy pasting and the legend goes he's still copy pasting to this day and until the end of times
Other than that he was a nice guy though, he knew his shortcomings so he wasn't an ass about it, we traded lots of music and generally got along well
I've seen too many developers that can do 1 and 2 and if you're lucky, they can do some of 3.
Most developers don't want to maintain the code they have written. (at least not for long)
When I copy something from the internet, I make it work.
Then the fun starts: Refactoring.
I can tweak a piece of code over and over again until it is according to my standards. (Variable names, Latest language constructs, etc)