Sign in to follow this  
Daimos

Shadertoy.com Issue

Recommended Posts

I would like to use shaders from www.shadertoy.com as backgrounds in my commercial game. The site uses CC "Attribution-NonCommercial-ShareAlike 3.0 Unported" license. I don't want to copy those shaders verbatim. I will translate them from GLSL to Cg and maybe modify or optimize. I also have an effect engine which can blend many shader effects at the same time. I'm not sure what to do. Can I simply take those shaders and run? Should I contact every single shader author whose code I use?

 

Some of those shaders are 10 line long or less.

 

Share this post


Link to post
Share on other sites

The site uses CC "Attribution-NonCommercial-ShareAlike 3.0 Unported" license.

This is the default license for a shader, if the shader code doesn't begin with a comment declaring some other kind of license:

"All the shaders you create in Shadertoy are owned by you. You decide which license applies to every shader you create. We recommend you paste your preferred license on top of your code, if you don't place a license on a shader, it will be protected by [CC Attribution-NonCommercial-ShareAlike 3.0 Unported]."
 
Many shaders on there do have a different copyright text at the start of them. You are required to abide by whatever copyright restrictions are declared in the shader or that CC license... In the case of the default CC license, that means no commercial use whatsoever...

I don't want to copy those shaders verbatim. I will translate them from GLSL to Cg and maybe modify or optimize. I also have an effect engine which can blend many shader effects at the same time.

As far as copyright is concerned, that's a derivative work which may as well be the same as copying them verbatim. It doesn't change the terms of the license.

Should I contact every single shader author whose code I use?

If the license terms are unfavorable to you, then yes, contact the author and ask for permission.

Share this post


Link to post
Share on other sites

I will give a little example. On that site there are many "plasma" effects. This class of effects is known since around 1990. The trick to nice plasma is creating good compound sinus function. All of the plasmas there use the same base algorithm, they only have a few lines slightly different trigonometric equations with slightly different constants etc. Most plasmas are around 10 - 25 lines of code. Do you seriously insist I have to contact some dude in order to use a single line of sinus compounds?

 

When I find some code online in a tutorial or article I can use it as I see fit and nobody sane would sue me for doing so.

 

AFAIK nobody can own algorithms or equations. Nobody can prevent me from improving some common algorithmic method and selling work based on it.

Edited by Daimos

Share this post


Link to post
Share on other sites

When I find some code online in a tutorial or article I can use it as I see fit and nobody sane would sue me for doing so.

There's a big difference between what the law says, and what actually happens in the real world. I was answering from a legal perspective, not a practicality perspective :wink:
There's a lot of instances of copyright infringement where no one gets sued.
There's also a lot of instances of lawsuits that occur even when the people getting sued have done nothing wrong :( 
 
If you're going to derive a new work using an existing work as a base, without permission from the author, the law says that this is copyright infringement.
In practice you'll get away with it.
So can you take code and disregard law? Yes.
Should you? That's up to you to weigh the risks vs effort in complying with law.

AFAIK nobody can own algorithms or equations.

Sadly, that's where patents come in... You shouldn't be able to own an idea, but patent law means that people can... Which IMHO is immoral ;(
Ignoring patents though, you're right -- so:
* reading these shaders, understanding the algorithms intuitively, and then reproducing the algorithms yourself is 100% ok.
* doing a copy & paste, or a line-by-line translation from the source shader into your new shader is technically speaking, copyright infringement...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this