Advertisement

Patenting an Algorithm?

Started by July 16, 2014 09:42 PM
38 comments, last by Hodgman 10 years, 6 months ago

Without patents, almost nobody would do R & D work. This applies just as much to software as it does to anyone else. If a software company spends two years and several million dollars developing new algorithms, they should be allowed to protect that investment, otherwise anyone who can disassemble code can duplicate it at almost no cost.

Thats the argument trotted out by corporate software houses (who have huge sunken costs in maintaining this harmful status quo), but it's demonstrably false.
Patents in the video game industry are very rare, with the usual reaction to them being 'outrage', rather than 'pride' as in business programming's endless frivolous patents (yes, if you start attacking game developers with patents, expect the public to hate on you strongly).

Despite the fact that we avoid patenting our work, we still do tonnes of new R&D. Not only are we constantly researching and innovating the technology that we use, we also go out of our way to freely share our discoveries at conferences such as GDC, unemcumbered by patents!
What we don't do is share our implementations of these ideas - at least not entirely - we do often share small portions of the implementations to help spread the idea.

Apparently our industry should be technologically stagnating, due to there being "no incentive" to research and develop new tech... But the total opposite is true! The state of the art in video game technology is advancing rediculously rapidly and cooperatively between competing studios. The incentive is in being on the bleeding edge of tech, as the imitatiors are always playing catch-up and using 2nd rate tech anyway.

The advantage is that R&D becomes cheaper for everyone, so we can actually do more of it! Instead of having internal retreats with the legal team to craft, break, find the loopholes in, and re-craft patents for our work, we instead do nothing, or upload our PowerPoint slides to the world. Instead of reading the patents of others and spending days planning how to circumvent them (while also reverse engineering their ideas), we instead attend conferences or download PPTs. Instead of paying huge licensing costs, we just deal with being a few years behind the curve as we roll our own implementations. In the process, maybe we either almost catch up, or maybe we push the idea further and provide a positive contribution back to the original author and everyone else who's interested. We benefit through having cheaper R&D costs - we can focus on one area to push forward, while cheapl playing catch up in other areas. Startups benefit by actually being able to enter the industry withou requiring millions up front in "protection money". The industry benefits from that by the supply of jobs being more stable, which results in the supply of talent being higher, which means we can continue to make quality products. The consumer benefits from every game being of higher quality due to the huge amount of industry-wide R&D that results in the technological bar bein raised year after year.

I know this might be tantamount to communism or treason or something, but I'll be damned if it aint working for us!

Most people say here that idea/algorithm cannot be copyrighted, only exact line of code, however isn't H264 copyrighted? It probably isn't too hard to find information how it works then write own implementation, but I think I remember VLC having problems with that patent. Am I mistaken?

Advertisement
Copyright covers the expression of the idea. It covers the source code, the executable, and so on. If somebody copies and distributes the source code, or uses it in their own programs that work similarly and then distribute it, they are violating copyright.

Patent covers processes, machines, and devices. It can potentially cover the process of encoding, the mechanics behind it. If somebody came up with a similar process for encoding and decoding that is too similar to the patented process, they are violating a patent.


If someone used a 'clean room' implementation, that is they came up with a H264 implementation on their own based on descriptions given to them, they would not be violating copyright (because it is their own expression of the idea) but they would likely be violating the patent (because they used the process).
Silly example, but entertain it a little:

Two kids are running their own lemonade stand, one kid on the opposite side of the street as the other.

Would one kid ever have a legal case against the other either for the similarities of the way the lemonade is made, or for the perhaps exact design of the lemonade stand, or for the perhaps strangely identical taste of the lemonade?

If one kid researched everything there is to know about lemons and sugar to produce the best lemonade, and the other kid mimicked him, does he then have a right to sue?

On the playground I remember the words "that's not fair!"

The way Apple and Samsung, and these big companies are, it's like children on a playground. You almost have to protect yourself. If your idea gets big enough, here come the trolls.

They call me the Tutorial Doctor.

Would one kid ever have a legal case against the other either for the similarities of the way the lemonade is made, or for the perhaps exact design of the lemonade stand, or for the perhaps strangely identical taste of the lemonade?

If one kid researched everything there is to know about lemons and sugar to produce the best lemonade, and the other kid mimicked him, does he then have a right to sue?


Commercial food recipes fall under the realm of "trade secrets." The recipe for KFC - the formula for Coca-Cola.

Design of the lemonade stand falls under trademark (assuming you're talking about logo colors, like McDonald's golden arches).

I recommend you read Patent, Copyright & Trademark; An Intellectual Property Desk Reference
by Stephen Elias & Richard Stim. Nolo.com (Nolo Press), ISBN 0-87337-601-3

-- Tom Sloper -- sloperama.com

Interesting you should say that Tom. I always likened source-code to secret recipes. Not much of a difference really. Imagine if food restaurants gave away their secret recipe, then others could copy it and go into business selling the same thing.

Yes, this is a perfect analogy (don't know why I didn't think of it earlier).

It is advantageous for a company to keep their recipe secret (for competitive reasons).

Keywords, "recipe" and "formula."I wonder if source-code could fall under "trade secrets" then. It makes more sense that way.

I used the term "Patent" because an algorithm is a process. Even a formula is a process. A recipe is a process as well (albeit, ingredients are the key parts of the recipe).

So this makes my question about whether the algorithms (processes) are the most valuable parts of a game, rather than the game itself (in terms of patent/copyright law).

Chicken is chicken, but KFC chicken is a matter of process.

Thanks for the link. I actually needed something like that a while ago when I was researching design patents.

They call me the Tutorial Doctor.

Advertisement

You could try and apply for a patent on the method of preparing lemonade / the method of selling a drink via a stand... but hopefully the patent office would reject your application because it's too obvious.

Unfortunately, this doesn't happen with software patents. There's millions of really obvious algorithms and data structures that are actually covered by patents -- everything from the linked-list, to sending emoticons over a network, to the 16:9 aspect ratio, to the visualization of a 12-sided dice.

Thankfully most of these patents are held by large corporations who just horde them as weapons of mass destruction, in a kind of cold war against other corporations. If one of them decides to sue over a patent violation, they can pull out a thousand of their own and launch their own lawsuits as a kind of MAD...

The actual recipe itself, as it's written on paper is covered by copyright. If I copy your recipe and start up my own stand, there's not much you can do about it (unless you have a patent)... But if I photocopy your recipe and publish it in my own cookbook, then I've committed copyright infringement.

Likewise, I can implement any non-patented algorithm as code myself, but I cannot just copy&paste someone elses code.

Without patents, almost nobody would do R & D work. This applies just as much to software as it does to anyone else. If a software company spends two years and several million dollars developing new algorithms, they should be allowed to protect that investment, otherwise anyone who can disassemble code can duplicate it at almost no cost.

Thats the argument trotted out by corporate software houses (who have huge sunken costs in maintaining this harmful status quo), but it's demonstrably false.
Patents in the video game industry [... snip]


I think this isn't universally applicable. The video games industry has the benefit, that every game is self contained, and that with every game you can tweak/improve your stuff further. This results in a situation, where an "algorithm" is never truly finished. So if you were to patent it, others would either improve it and use the improved version, if the improvement results in a change such that the new algorithm won't infringe the patent anymore or they wouldn't use it because it is falling behind technologically as no one cares to improve it.

In other domains, things are different. Take for example, video coding standards like H264. These are not self contained. You can't release a new standard, or a small update to the standard, every couple of months and declare all blueray players sold up to that date deprecated. When you create the standard it must be top notch, state of the art. Also, you can't just show a couple of power point slides to show the general idea, because you actually want every implementation of that standard ever build to behave exactly the same. You have to provide a reference implementation, which shows exactly every single operation.

I don't know how free codecs like Vorbis and Dirac get developed, but as much as I dislike software patents, I can understand that there are cases, where patents are the only way to cover your development costs.

In other domains, things are different. Take for example, video coding standards like H264. These are not self contained. You can't release a new standard, or a small update to the standard, every couple of months and declare all blueray players sold up to that date deprecated. When you create the standard it must be top notch, state of the art. Also, you can't just show a couple of power point slides to show the general idea, because you actually want every implementation of that standard ever build to behave exactly the same. You have to provide a reference implementation, which shows exactly every single operation.

if only that were consistent with reality.

Most industry-developed standards, including h.264, are developed in committee by a wide group of participating members. These members typically hold patents on some aspect of the technology, and they agree to make that technology available to the standardization group. Why? Because everyone with an IP stake in that particular standard agrees that everyone else with a stake can use it, thus putting all of the members on an even footing and not being required to pay large license fees. This part makes sense.

BUT: Let's say you have a patent whose invention is not finally included in the published standard. What happens at this point is you no longer have a stake contributed to the working group, which means you're no longer part of the royalty fee deal. You have to buy a license! Which is expensive. Oops. So what happens when somebody like MPEG-LA get together is not only about choosing the most competent technology. It is also about many groups vying to get as much IP into that standard as possible, regardless of its technical merits. Somewhere at the intersection of technical and financial back-and-forth is where the final standard is set.

Vorbis, Dirac, Theora, etc are developed by collaboration between open source volunteers, and groups who were never a party to these big standards discussions. Their argument is that by focusing strictly on technical excellence, rather than engaging in proxy patent battles, they can produce a superior final product. I don't know to what extent that holds up in reality, but certainly Vorbis has very much held its own from a technical standpoint relative to AAC, nevermind the aging and relatively poor MP3 standard. Theora doesn't seem to fair as well. We also have the unusual case of WebP/WebM, where an independent proprietary technology was opened up after the fact. Layered on top is the reality that none of the open codecs have any traction in hardware decoders, which has become more and more of a problem over time.

MPEG-LA has also wielded its total contributed patent chest as a weapon against competitors, notably Microsoft's VC-1 in the HD-DVD era.

At the end of the day, patents create significant distortions to how things are created, shared, and licensed. Whether those distortions are positive or negative depend on what you're talking about and from what perspective you're looking at it. There's a real sense in the software industry that patents as a whole have created more problems than they've solved.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.


1) IMO, software patent should be globally banned

I disagree. However, I do believe that there are too many frivolous patents.

But consider the whole idea of why patents exist in the first place, which is to allow you to be compensated for time and money that you spend developing a process, and stop others from making money off your R & D. Without patents, almost nobody would do R & D work. This applies just as much to software as it does to anyone else. If a software company spends two years and several million dollars developing new algorithms, they should be allowed to protect that investment, otherwise anyone who can disassemble code can duplicate it at almost no cost.

Out of interest, do you have examples of patented software algorithms that took years and millions of dollars to develop?

Disassembling source code is something that is going to be a big risk for companies in many cases, even without software patents (e.g., accusations of copyright infringement).

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

This topic is closed to new replies.

Advertisement