What are rules with copying code exactly?

Started by
12 comments, last by swiftcoder 2 years, 6 months ago

LedMar said:
You can narrow what special is by something as simple as a math formula that he didn't create. The only thing different is the language implemented in. Just for example, 50 people have a distance function, or basic Vector2 class for that matter. What you will write down, will me 99% of what everyone else does. It just seems off to me without adding some type of own creative twist.

Agree to this, and i use Inigo Quilez distance functions from his webpage. Really a good example. I had to change it because i do it on CPU, otherwise i would use it as is. I do not check if he posted any license at all - i just assume he is fine with me using it. I even assume that's what he wants: Teaching other people some stuff, so they join his vision of procedural content and contribute as well. Everybody happy. At least i hope so :D

Next example: Paul Bourkes Marching Cubes code. I don't use this, but i'm sure many people copy paste. I assume the situation is the same here, regarding willingness to share.
But i'm not sure. Because it's an actual algorithm and invention, not just math. Thus i would check license here, or ask for permission, etc.

Contrary to many, i don't see any general creativity or even art in code. And a certain implementation of a known standard algorithm is no intellectual property imo. But it still belongs to the guy who wrote it (or his company) until he decides otherwise. And also the line between above two examples blurs rather quickly, because many of iq's distance functions contain inventions in form of efficient approximations for example, or other serious efforts.

Advertisement

Where to start?

The default is that you can't copy anything without permission. But most public source code repositories give you some permission through license terms. You need to know about various common copyright licenses - GPL, MIT, Apache, Berkeley. Github has a summary. Commercial code tends to have much more restrictive licenses. Unreal Engine has interesting terms - it's free until you get a million dollars in revenue, then they demand 5%.

Wikipedia is helpful: https://en.wikipedia.org/wiki/Software_copyright

The Nolo Press book on copyright is also helpful.

JoeJ said:
Agree to this, and i use Inigo Quilez distance functions from his webpage… I do not check if he posted any license at all - i just assume he is fine with me using it.

Inigo puts a pretty clear MIT license at the top of the linked source code.

JoeJ said:

Next example: Paul Bourkes Marching Cubes code.

Paul doesn't explicitly list a license, likely because at the time he wrote that code the Marching Cubes algorithm itself was subject to a patent, and nobody could use it commercially without negotiating a license from the patent holder anyway (the patent has since expired).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement