Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

So can an algorithm be patented?

I saw this statement which made me think:

Everybody would abstain from patenting the improvements of contour dot algorithm for at least several years, say up till 2021. So that the developers of the Outliner project feel free to implement their ideas.

taken from this codeplex project.

share|improve this question
5  
if you are going to quote can you reference source and context? –  Ross Dec 30 '10 at 1:33
    
Not really a subjective question... –  MIA Dec 30 '10 at 5:13

6 Answers 6

up vote 11 down vote accepted

Yes, legally they can be patented (in many, but not all, countries).

Patents have been around for a very long time, and the idea is exactly as you describe: to protect your invention so that you have time to build it, market it and profit from it. Without patents, you might invent something and then someone with more resources and money could come along, built your invention and by the time you were ready to sell it, they'd have already cornered the market.

Many people believe that the same protections are not required for software, because - generally speaking - it does not take a lot of effort to "build it". When you're talking about real-world objects, you need to have a factory to manufacture it, you need machines, you need employees, you need a distribution network and so on. If you can't get those things, then you could license your patented idea to someone who did have those things, and they could do all of that extra stuff for you.

But with software, anybody with a compiler and an internet connection can build and distribute the software, so there is less of a need to "protect" the invention to give you time to set up your distribution network and whatnot.

Then there's also the problem that the people in the patent office are generally simply not qualified to determine whether a particular software invention is patentable or not, leaving it up to the courts to decide whether a patent was valid when the owner tries to assert their rights to it. That means if you're a small company and you "infringe" on an invalid patent, you likely don't have the resources to fight the patent anyway (even if it's invalid).

But let's not go into that particular debate :-) I could go on for days...

share|improve this answer
10  
The idea behind the patent is not what you described. Patents are a social contract trading limited monopoly, or 'protection', in exchange for disclosure of how your invention works. –  whatsisname Dec 30 '10 at 6:28
    
@whatisname "May application works by doing something extremely vague in an extremely vague fashion...". –  Ivo Wetzel Dec 30 '10 at 8:36
3  
@whatsisname: In the US, anyway, copyright and patent law are to promote the advancement of the useful arts (what it says in the clause of the US Constitution that authorizes them). That's what the social contract you describe is supposed to do. –  David Thornley Dec 30 '10 at 16:11
1  
@Ivo Wetzel: Yes, unfortunately, that's what they've become. But that's what you get when you let a bunch of lawyers run things. :) –  greyfade Jan 6 '11 at 18:11

Yes.

See the various compression algorithms, video encoding algorithms, etc.

Find some of them on Wikipedia

Here, have a sample patent, Code-word list algorithm

share|improve this answer
3  
One of the most famous patented algorithms is Google's Page Rank. –  Charles Salvia Dec 30 '10 at 2:03
5  
Actually, I'd say the LZW algorithm that made up the GIF file format is probably the most famous... or infamous... –  Dean Harding Dec 30 '10 at 2:59
5  
Patent is the worst idea that struck Computer Science. If you want you can copyright your work (which is less harmful in nature). By using patents, you can of course make money. Patent is a bad idea. One must stop using patents. –  kadaj Dec 30 '10 at 4:26

IANAL.

From a legal standpoint in the United States, yes, software can be patented as such. The USPTO has accepted and approved many thousands of such patent applications over the last 25 or so years.

In the European Union, no, software is not legally patentable as such.

Other countries have differing rules regarding the patentability of algorithms and processes. Wikipedia explains.

That said, in the US Supreme Court case In re Bilski, the Court rejected the "machine-or-transformation test" as the sole test of patentability. (One of the Justices dissented from the opinion, stating that the Court did not go far enough in rejecting these kinds of patents wholesale.) The result is that many business method patents are now invalid, and the USPTO has begun denying software algorithms and other method patents - not all of them, but a few.

I'd suggest going to Groklaw's Bilski page and reading more about it.

It's worth adding that the more recent Alice Corp. v. CLS Bank International case, the Supreme Court recently overturned the CAFC's decision to affirm software patents. The patents cover what amounts to escrow, when done over the Internet. The Supreme Court held that merely adding "over the Internet" or "on a computer" is not enough to make a patent covering an abstract idea valid. This substantially narrows the field for software patents, but does not make them invalid.

share|improve this answer
4  
As an aside, I believe software patents to be ethically reprehensible and economically disastrous. –  greyfade Dec 30 '10 at 4:57
    
Big +1 for quoting Bilski. –  Jeremy French Jan 6 '11 at 16:47

In the US, a pure algorithm is explicitly exempted from being patentable as are mathematical facts and formulas and "ideas".

In reality, you can patent an algorithm (in the US). In fact, it doesn't even have to be in code and anyway when a patent is issued, it is NOT issued against source code, it's issued for "a series of steps performed" which of course is nothing more or less than an algorithm. Certainly working source code is not required, so the embodiment of the algorithm in code is not what's being patented. What's being patented is just the ethereal "idea" of something doing X then Y then Z in that order.

If this sounds like the system is talking out of both sides of it's mouth, then you've grasped what's going on... "No, of course you can't patent algorithms." "Sure, of course you can patent that algorithm."

Just to illustrate the fact that no code, working model, actual thing is associated with these patents consider that there are entirely successful businesses that operate as follows:

A entrepreneur sits around in a room with a bunch of "creative types", possibly some programmers, and some lawyers. They "brainstorm" about how some software product could be made to perform some useful function. They create nothing, no code, no prototype, nothing. At each step of the "product improvement process" a lawyer listens in, and when he/she recognizes something patentable, they note it. At the end of the day, the lawyer starts the creation of (or hands off the creation of) a new patent.

This is not made up; there are companies that do exactly the above. Each of these patents is a algorithm, since it does nothing except specify a series of steps to be taken at various points in time.

share|improve this answer

I think so, however the whole concept of Patents as a mean to "protect intellectual property" is in my view deeply flawed.

A patent is nothing more than man made enforced rule (one which is not even consistent across different countries).

Piracy is illegal, but that doesn't make it stop.

Algorithms can and do get "reversed" engineered, so patents aside there is little real physical protection1.

1 Legal is another matter

Trade Secret

share|improve this answer
    
the concept isn't but the practical aspect is. most piracy happens on a private rather than corporate level because corporate piracy is usually enforced. –  Ross Dec 30 '10 at 1:32
    
I agree with that partially. Take for example the case of the TomaHawk Cruise Missile, as you may know there are a lot of legal protection on it. However this did stop Pakistani engineers reverse engineering one that crash landed near its territory. The rest is history. –  Darknight Dec 30 '10 at 1:50

In real world yes, but in a personal opinion, that's just like putting a patent on one of your thoughts and prevent anyone else from thinking on the same thing, it is really stupid, but it is what we have...

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.