OT : Carmack reverse is patented!

Plus, if you render front and back faces at once (seperate stencil thingy), it won´t be patented, either.

Hm, have to get to the patent office…

IANAL but you seem to missunderstand how patents work in the USA. The description is an aid to understanding the claims. It is the claims section of the patent that legally defines what is claimed and potentially owned by the inventor. There are often discalimers like “The description represents a single embodiment of the invention is not intended to limit our claims on other implementations which should now be apparent to one skilled in the art.”, I’ll leave it to you to find the disclaimer in this patent even if it ain’t in there the claims still exist.

deshfrudu,
Even if the claim is specific to “incrementing” and “decrementing” (which isn’t certain), patent cases often come down to finding whether you’re substantially similar, and/or whether you’ve re-designed your algorithm just to avoid the patent – in that case, the patent is still assumed to cover your re-design. At least, I think that a patent lawyer might tell you something like that, if you asked him. I’m fairly confused by the whole issue, and would recommend not making any too hard and fast promises of non-infringement unless you’re a lawyer, and on retainer.

Jan2000,
I don’t think that that description excludes an approach where you use separate stencil, because it doesn’t talk about individual ordering between the stencil operations.

I am glad I live in a country with more advanced patent laws.

I took a minute to study the claims in more detail, (not difficult in this case), and there are a couple of interesting things:

The patented algorithm is not zfail, it is z pass, but the depth test is reversed making it subtly different from the generally adopted z fail, they are very specific about this in their description and in their claims. I don’t know if this specificity affects the scope w.r.t. the way things are actually done today (“z fail” vs “reverse z pass”) IANAL.

They are very specific about stencil increment followed by decrement in the claims.

The whole algorithm is described in a single claim that is very specific and on the face of things quite narrow.

Most of the other claims seem very silly and have been done before but I think they’re trying to cover variations or obvious uses of their approach.

There is no mention of capping/closed volumes although there is mention of solving the near clip/cap problem, I cannot see their diagrams so I don’t know if they are capped/closed.

The GDC presentation I linked to earlier actually mentions closed volumes now that I think about it and so that implies the ends capping required by z fail.

[This message has been edited by dorbie (edited 09-24-2003).]

Quick legal reminder: an “approved” Patent is actually a “registered” Patent. The Patent Office does not perform any significant search and validation beyond making sure the people depositing the patent really exist (its a registration process, really, and a slow one).
As a matter of fact, several perpetual motion engines are still getting patented every year.

The validity of a Patent is determined by the first time the case is brought to a court, and the ruling issued by that court. (i.e. the defendant’s lawyers are the ones that must prove the patent is invalid).
This is what makes software patents “a threat”, because if you have enough money, you can swamp any smaller company with legal expenses, and even when the patent is finally rejected, the damage has typically already been done.

I have a few things to say, hope it isn’t too long but someone has to say it…

No algorithm is an “invention”. Software is simply text which makes use of programming languages which are largly known, distributed, and believed to be freely useable to all. This is becoming less true with each new patent. Soon there will be little one can write without infringing.

We cannot have the same programming tools if there are to be legal stipulations on their use. If there are restrictions they should be addressed by the API maintainers.
After all, it is the textbook operation of their product(s) that is being legally claimed and defended.

The “carmack reverse” implementation, or part of it, largely depends on OpenGL’s API and the way GL is implemented. I believe that in all fairness, prior to granting patents the office should consult the maintainers of OpenGL and obtain permission before granting a third party exclusive rights to their API’s operation. To patent usage of their API without asking is clearly a stab in the back.

Without OpenGL this “invention” would probably not exist, and carmack would neither have been able to express the algorithm nor test it’s veracity.

Visualize OpenGL as a bridge. They are similar, someone has spent time and money building them, to ensure they do not break when used. One might call API’s the bridge between PC and humankind. In real life you couldn’t simply declare that anyone who crosses the bridge now has to pay you to do so. Everyone has an equal right to cross, you didn’t build it, and you don’t own it. You could try to contact the state, who would surely say “take a hike”.
A software patent is like hijacking the bridge and holding the people who need to cross hostage. Who cares who built it, you’re in control and nobody can cross without getting by you first. This is unfair to the innocent travellers, and definatly the owner of the bridge.

Why bother to have languages or API’s if only a few patent holders are legally allowed to command them? Why do we grant patent holders exclusive rights to technology they have not developed? If these tools are to exist, all software developers should be afforded equal rights to their operation.

Absolute nonsense.

I agree all sorts of patent areas are a mess right now, but this algorithm is not tied to OpenGL which merely exposes hardware capabilities through an API and the ARB is actually a committee of self interested parties that in all likelyhood are competitors of any graphics inventor.

The prior art I listed is D3D based, and the patent makes no mention of OpenGL, nor should it, no inventor or lawyer would restrict themselves to the use of a single API.

Your analogy of bridges etc with roadblocks is a good one, but companies also find themselves having to file patents to give themselves the ability to defend against other companies using them for anti-competitive purposes, but patents are like property, they can be sold to the highest bidder or wielded by a bunch of dolts who are left behind at a company after the brains have left town.

They are an unnatural protecton that is being abused to stifle competition and is IMHO one of the most significant obstacles to innovation today.

There is no good obviousness test that can pass muster when your jury are a group of individuals hand picked by lawyers not only because of their complete ignorance of the subject matter but also for their inability to grasp the subject in any competent way.

[This message has been edited by dorbie (edited 09-25-2003).]

OK so I was wrong, they worded it to be API-independant. That makes it even more evil and harmful. Not only can we not use it in opengl but we can’t use it in anything, even something developed in 10 years.
My point is we are all programming the same machines with the same capabilities using the same languages, and patenting our possible solutions to common problems disrupts everyone involved. Sure there are workarounds and such, but we shouldn’t have to reinvent wheels when there are only so many wheels we can technically create.

Perhaps other patent areas are a mess right now, but NONE are more damaging than software patents. I wish there was something we could do to stop this. The general response from the industry is they don’t want patents. I hear an awful awful lot about people using them to attack competitors, those obtaining many patents or very broad patents which allow for more “targets” as well as the converse of that, companies getting patents to use as a self defense mechanism to thwart or trade with those who will file their frivolous lawsuits. They almost seem like a more expensive and dangerous version of trading cards!

I also don’t see how they can patent algorithms. The definition of “invention” specifically states the need for a physical incarnation and specifically that it is different from a matematical equation.
That’s why we can freely use math functions like sqrt() sin() and cos() they are not patented and obviously should not be.

I still have respect for Carmack though, he has expressed spite for patents in the past…

It makes perfect sense to patent an algorithm since algorithms are intellectual property. Just because it is written in a freely available language with a freely available API doesn’t diminish its importance. The recipe for Coke owned by Coca~Cola is intellectual property using freely available materials, for instance. (Whether or not that it’s patented is another question, since it isn’t; but the same could be said for any pharmacutical drug that is patented.)

Algorithms are a form of IP. IP can be patented because its the product of someone’s thinking.

Originally posted by john:
[b]It makes perfect sense to patent an algorithm since algorithms are intellectual property. Just because it is written in a freely available language with a freely available API doesn’t diminish its importance. The recipe for Coke owned by Coca~Cola is intellectual property using freely available materials, for instance. (Whether or not that it’s patented is another question, since it isn’t; but the same could be said for any pharmacutical drug that is patented.)

Algorithms are a form of IP. IP can be patented because its the product of someone’s thinking.[/b]

That’s just stupid. Then I can patent all and everything because most things in our world are a product of someones thinking. I can then patent a book, a painting or a song. And noone may use words, colours or notes in a manner similar to my patent. All it has to be is unique and that’s it. You can also patent mathematical, physical, biological, chemical methods. Or as it was done parts of the human genome. Or more to the point of this forum NVIDIA/ATI/3dLabs/whoever else patents their new extensions (not how it is handled by hardware but the whole idea) and the ARB board is not needed anymore. You want this feature buy our card. Just imagine billboarding, bumpmapping, skeletal animation, etc would have been patented. Sounds like patents are definitly the way to go.

That’s just stupid. Then I can patent all and everything because most things in our world are a product of someones thinking.

no. YOU cannot patent something because someone ELSE thought of it. YOU can patent something YOU thought of if it is substiantially unique.

I can then patent a book, a painting or a song.

yes. The term is “copyright”.

You can also patent mathematical, physical, biological, chemical methods.

yes. What is viagra (a patentable drug) if not a chemical method? What is a new type of genetically engineered wheat that can survive on less water than conventional kinds, if not a biological process? What is a chip fabrication process if not physical?

Patents are designed to protect investment in inventions. Intellectual property is a byproduct of someone’s time which should be protected. Not everything is patented. That is why authors of technical papers release the rights to their IP when they publish in a conference/journal/whatever. That is also exactly the reason why some authors sometimes hold back key elements of an overall design as part of their IP.

If patents are not about intellectual property, then what is it? WHat do you consider an ‘ok’ patent? Nothing?

exactly. nothing.

why? because everyone has its own brain and thoughts with its own resources. guess what? i developed z-fail/depth-reverse on my own, too. it was short before john carmack stated it. so what? i’ve made it on my own, he made it on his own. should i now be able to sue him because he was just LATE?

the problem with software development is, it is about reinventing the weel very often… by accident or planned.

i do understand IP, but i don’t think it is something someone should ever be able to own. knowledge should always be shared. just look at the results. linux is not allowed to touch tons of fileformats just because they have patents on the encoding/decoding, no one can make an adobe pdf reader for example, etc.

we’ve seen it with the .gif files… we’ll see it with others, too, possibly. or look at the ogg community. they got a video codec, for free, from a company. instead of being able to publish it for free, to make it usable for everyone, they first have to go trough a huge patent-list to check if there is no OTHER video codec wich possibly has patented any part of their code.

i’m in thinking of patenting some pattern… singletons?

no, really. but i should get some patents on some raytracing algorithms… just to make sure that in 10 years i can ask nvidia, ati, and all the ones around, as well as 3dsmax, maja and co, and all the game engines based on raytracing, to pay me.

patents are some evil form of capitalistic thoughts… they are about owning what everyone can create on itself.

whats the fuzz about the marching cubes patent again? whats with that one?

Davepermen got it exactly. Knowledge belongs to humankind and not to companies. Nothing more to say.

why? because everyone has its own brain and thoughts with its own resources.

yes; and if you spend considerable time working on a problem, why should your invention be “stolen” by others who haven’t? Surely, in our wonderful capitalist model, your investment in time be rewarded and protected?

so while some harddisk manufacturer is soaking large amounts of capital into researching new and better ways to store bits on a disc why should the competition merely take the harddisk design without forking out for the IP? What incentive is there for the first company to actually do any research?

You might say that the harddisk is something tangible, but algorithms are not. But what is different from algorithms written in text and a blueprint for a harddisk written in lines?

so what? i’ve made it on my own, he made it on his own. should i now be able to sue him because he was just LATE?

no one has said you could, or should. If you spent a year of your life working on a design that is substantially different that has intrinsic commerical value, then wouldn’t you want that effort be rewarded?

i do understand IP, but i don’t think it is something someone should ever be able to own.

and why on earth not?

knowledge should always be shared.

in a perfect communist world where we all work for the benefit of society, sure. But that isn’t how the current capitalist system is geared.

because they have patents on the encoding/decoding, no one can make an adobe pdf reader for example, etc.

er…

lrwxrwxrwx   1 root     other          
29 Jan  3  2001 acroread -> ../stow/Acrobat4/bin/acroread
-rwxr-xr-x    1 root     root       964524 Feb 21  2003 xpdf

[QUPTE]no, really. but i should get some patents on some raytracing algorithms… just to make sure that in 10 years i can ask nvidia, ati, and all the ones around, as well as 3dsmax, maja and co, and all the game engines based on raytracing, to pay me.[/QUOTE]

thats assuming you can come up with something sufficiently innovative enough to impress the patents office that your raytracing algorithms are worth patenting, AND assuming that nvidia, ATI etc etc haven’t invested their own time inventing their own, better algorithms, AND that they want to buy your algorithms, AND so on and so on. To do that, y ou’re going to have to invest some considerable time to come up with the algorithm in the first place. Are you prepared to take a year or two off whatever you’re doign so you can do that?

patents are some evil form of capitalistic thoughts… they are about owning what everyone can create on itself.

that is a careless appraisal of patents. I can find you plenty of patents that YOU cannot create by yourself.

I am not saying that all algorithms should or can be patented, or indeed that patents are a necessarily a good idea for everything. Clearly patents have their drawbacks, but if you want to encourage people/companies to invest time and resources into creating something sufficiently new, then you are going to have to come up with SOME kind of model to ensure that they are rewarded for their effort. Patents is one such model. Pumping large amounts of money into universities so researchers can be paid to do research is another model. Both have their advantages and disadvantages. I, in fact, subscribe to the latter, but not everyone works at a university.

I consider patents on intellectual property to be an object of prestige. That’s the way it’s done here in Europa. T’s simply cool to patent an algorithm, but I cannot understand how one can request to be payed money for every use of this algorithm. It’s the most stupid thing I ever heard.

Originally posted by john:
The recipe for Coke owned by Coca~Cola is intellectual property using freely available materials, for instance. (Whether or not that it’s patented is another question…

OT:

From what I’ve heard, the Coca-Cola company have never made an effort to patent/whatever their formula just because they would need to make it publicly available. And patents expire…

… which is why I said

The recipe for Coke owned by Coca~Cola is intellectual property using freely available materials, for instance. (Whether or not that it’s patented is another question, since it isn’t; but the same could be said for any pharmacutical drug that is patented.)

Patent are not bad.
BUT

In an industry there are a lot of solution for a specific problem.
For example: IBM and AMD working on their own transistor and Intel do the same. Intel could license the SOI technology, but he say he can do better…
Now. How mush shadow algorithm do you now? 2? When can we say that your algorithm is not one of them if you make some improvements?
In the Zfail algorithm I do one thing other than I everywhere read. It’s simple, but it makes faster, and I am sure that there are people out there who already use it. Just don’t speak about it…

The main problem with patenting algorithm s that it’s not specific enough. I didn’t see a guidline what it sould contain, and what not.

One more:
In USA the internet auction is patented. No comment…
I am happy not to live in such a country…

Originally posted by john:
yes; and if you spend considerable time working on a problem, why should your invention be “stolen” by others who haven’t? Surely, in our wonderful capitalist model, your investment in time be rewarded and protected?

uhm… nobody wants stuff to be stolen. but patents don’t determine if you have STOLEN something. just if it looks equal, then you can get sued by the patentholder. THAT is a problem. copyright helps for the problem of “being stolen”. patents forbid re-invention.

oh, and no, i don’t think i can call your capitalist model wonderful. except in “it’s full of things to wonder about”.

no one has said you could, or should. If you spent a year of your life working on a design that is substantially different that has intrinsic commerical value, then wouldn’t you want that effort be rewarded?

and what if i’d do that and then someone else comes and sues me because he did that, too? i don’t want to have to browse all sort of patents first to see if i’m someone created that first. sometimes, you know, i do work on MY OWN. and then i honestly DON’T CARE if someone else did it the same way yet. it IS my invention then, it IS my work, and there is NO ONE who is allowed to forbit it to be done.

and why on earth not? in a perfect communist world where we all work for the benefit of society, sure. But that isn’t how the current capitalist system is geared.

because its the way that works best. without this, no forums would exist. if you, john, ever answer a question from someone else again, then you’re a fool. ask them to pay you first. THAT is how capitalism works. its YOUR knowledge. you should not give it for free in here. leave that forum, be on your own. thats the way it has to be. but don’t expect anything to be given to you freely, too, then.

would you like such a world? where every code of you would get analized, what was yet coded by who, and you get then a list what you have to pay to who? and then you can compile? that is what patents on algorithms and ip in a perfect world would be. as you state.

i know there are some acrobat readers out. but they are not without patent-issues actually…

thats assuming you can come up with something sufficiently innovative enough to impress the patents office that your raytracing algorithms are worth patenting, AND assuming that nvidia, ATI etc etc haven’t invested their own time inventing their own, better algorithms, AND that they want to buy your algorithms, AND so on and so on. To do that, y ou’re going to have to invest some considerable time to come up with the algorithm in the first place. Are you prepared to take a year or two off whatever you’re doign so you can do that?

uhm… there aren’t much raytracing patents out there…
and do you call z-fail THAT innovative? as i said, i invented it on my own, carmack did on its own, and i know of some others, too… it took me btw about half an hour to find that idea… nothing too impressive.

[b]that is a careless appraisal of patents. I can find you plenty of patents that YOU cannot create by yourself.

I am not saying that all algorithms should or can be patented, or indeed that patents are a necessarily a good idea for everything. Clearly patents have their drawbacks, but if you want to encourage people/companies to invest time and resources into creating something sufficiently new, then you are going to have to come up with SOME kind of model to ensure that they are rewarded for their effort. Patents is one such model. Pumping large amounts of money into universities so researchers can be paid to do research is another model. Both have their advantages and disadvantages. I, in fact, subscribe to the latter, but not everyone works at a university.
[/b]

patents are not a good such model. they have too much drawbacks…

oh, about how good patents have to be, remember xor for the cursor. THATS what i call a great patent… and how it helped the industry to go on.

the idea of patents is to help. but all they do is blocking software development and innovation.