Unlike patents, independent creation is a valid defense to copyright infringement.
Copyright is the literal expression of the idea. The identifier names, how the functions are broken up, which libraries are used etc…
Given more than a dozen lines or so, 2 people aren’t going to write the exact same code to solve the same problem. It might be equivalent code, but it’s not going to be the exact same.
def copyright_warning(times) do
for _ <- 1..times do
IO.puts("hey man this code is copyrighted. Don't copy it pretty please")
end
end
That code is copyright protected. I don’t have to do anything. I automatically own the copyright once I create it.
If you copy that you are infringing.
You could do something similar if you wanted. But if you copy that directly, you are infringing on my copyright.