Can shaders be copyrighted?

Miscellaneous Forums/General Discussion/Can shaders be copyrighted?

I don't beleive they can be copyrighted because you can't draw a line between a very simple shader anyone can do and a complex one. Just like nobody can copyright
Print "Say hello to my attorney."
because that can be typed up by anyone and you cant draw a clear line between what is complex enough to be legible for copyright and what isn't. Unless there are some insanely complex accuracte guidelines for every programming language there is?

Shaders often include code that is similar to a lot of others so only small parts could be copyrighted in the first place, and then it can be argued anyone can type them up depending on what they like to see in terms of ingame effects. I can understand game media that can be copyrighted such as models and textures but i know ideas and bits of code cant be copyrighted. Anyone know better?

http://en.wikipedia.org/wiki/Doom_3#Software_patent_controversy

A week before [DOOM 3's release], it became known that an agreement to include EAX audio technology in Doom 3 reached by id Software and Creative Labs was heavily influenced by a software patent owned by the latter company. The patent dealt with a technique for rendering shadows called Carmack's Reverse, which was developed independently by both John Carmack and programmers at Creative Labs. id Software would have been putting themselves under legal liability if they used the technique in the finished game, so to defuse the issue, id Software agreed to license Creative Labs sound technologies in exchange for indemnification against lawsuits.

Question: Isnt rendering shadows similar to "shading?"

Also, if you google the phrase "shader patent" you'll find many pages detailing patents that use "shader systems" - like nVidia, etc. I'm not sure if the shader system itself is patentable or not, but in some instances it does appear to be so. I suppose there are many variations though, so one could patent a system simliar to another yet is different enough to be considered new.

That one's about patenting and the licence depends on if the technique is considered to be patentable which in carmacks reverse is hardly the case. I doubt anyone would patent specific shaders because there are so many and that would cost a lot. But patent for zfail technique (shadows) is absurd! They must have bribed whoever gave them the patent right.

BTW im talking about shader "code" such as can be seen in .fx files. Not hardware techniques themselves. It can also be an ASM-like language. GPUs can be programmed with shaders so it isn't so much about actual hardware techniques (in a way)...

BTW im talking about shader "code" such as can be seen in .fx files.
Yes. Shader code, like all other code can be protected by copyrights, and where permitted by law, software patents.

The language used is not important as to what kind of code can be patented.

Just like nobody can copyright
Sure they can. They can even patent it. Whether it stands up in court depends entirely on whether the defendant can prove beyond a shadow of a doubt that prior art had existed.

I just patented the following code:


Print "Hello World!"



So the answer to your question is... no!

So the answer to your question is... no!


I will accept this as a valid expert opinion. Thanks.

But they MAY be patentable! :-)


Hm... on second thought... I guess one could copyright a shader. I mean if I wrote some code, I would hold the copyright to it automatically.

The thing is, there is a large gray area when you get down to individual routines, and just because someone may not copy your program does not neccessarily mean they cannot recode certain algorithms you have coded and end up with the same code.

But it would be very rare for someone to word for word, symbol for symbol accidentally duplicate someone else's work, since there are so many ways to code anything. It could come down to a judge looking at the two functions, and decididng if they are so similar that one must have been copied from the other, and then dtermine who did the copying.

When I said you could not copyright a shader, what I meant was you can't copyright an algorithm. But you can copyright code you have written. You can PATENT an algorithm, but not copyright it.

Think of it like a book. You might be able to patent a plotline (people are trying now) but you cannot copyright a plotline. You can copyright characters. You can copyright a paragraph. But you can't stop someone from writing a book about a kid who goes to a school for wizards. You CAN probably stop someone from writing a book about a kid who goes to a school for wizards IF it can be shown that the characters and plot and actions and such are SIGNIFICANTLY similar. Say, if you named your main character Parry Hotter, and he attended the school of Wizardry and Witchraft, you probably would not get away with that.

But I think with a function you could get a whole lot closer to the original without infringing copyright. I think they would have to show without a doubt that you did lift it from them and did not simply accidentally come up with the same function. And even then, if something is too small, it can't usually be copyrighted. On the other hand, 1 minute of silence can be copyrighted and defended sucessfully in the music world. So nobody can really give you a clear answer on a specific item. You just have to figure the odds and take a gamble, and hope nobody takes you to court.


I just patented the following code:
Print "Hello World!"



You just wasted $1500 then. Your patent will be easily struck down due to prior art, so though you have a patent, you will only succeed in getting anything out of it if you charge so little to license it it would cost a company less to license it than to fight it in court.

Mark uses carmack's reverse in the Blitzmax 3D engine. He says so in one of his posts.

I think it is ok to use carmack's reverse these days AFAIK, but you need to read up on the ramifications of it's use / get a lawyer... things have changed a little since then.

Say, if you named your main character Parry Hotter

Sounds like that lady that wrote the books picked up that name from a stripper she had at her house. The stripper should sue her.

I think they would have to show without a doubt that you did lift it from them and did not simply accidentally come up with the same function.

It would be hard to convince anyone i made a shader by myself with my current knowledge :P I just plan to take stuff out and change it a little. But, i'm not asking this because i'm ripping from obviously commercial sources, i'm taking the free NVidia shaders and learning how to change them. I spent a whole half hour on it too :P lol so i wouldnt guess they would hunt me down for using their code even in original form. They provide it with FX Composer and it doesn't exactly say what we can/can't do. Hopefully tho, in time i will learn to modify shaders enough on my own so they can't take me to court even if they hold all the copyrights in the world. It's a huge grey area... really huge.

You need to stop this discussion, the answer is already out there: algorithms *can* be copyrighted.

Code of any kind use algorithms, and this includes shaders, shadow systems.... marching cubes.... etc

Shaders also fall under "art" and of course are protected both by patented algorithms and artistic content.

It is not the shader itsself but the methods it uses and the art it requires. This effectively copyrights the shader.

All this sneaking around will bite you right in the face if you go commercial. Keep your act clean.

This only proves how idiotic the patent system is.

I agree, I hate the current patent system. I believe that code should only be copyright to within % tolerence... bit like the written word.

The current patent system is stifling innovation and free enterprise IMHO, it is not freedom.

It is actually one of the worst modern concepts in the world. I don't believe the human race will prosper in a corporations only world, this will stifle emotion and innovation.

Heh, How would you measure % though? :P

Actually, I agree with you.

We can't improve some things because it uses X,Y,Z etc...

The way the idea gets realised is by either telling the pattent holder, or licensing of some sort which costs. It really can't continue like this!

nope... i don't think this one would fly...

.... on second thought... hey, it just might...


--Mike


Whether it stands up in court depends entirely on whether the defendant can [afford to] prove beyond a shadow of a doubt that prior art had existed.


Just made a slight modification to Flameduck's quote...


algorithms *can* be copyrighted.


Specific code can be copyrighted, but not the algorithm itself; algorithms can, however, be patented, which is deeply unfortunate.