Patents are stupid as they are implemented currently (and just in general in my opinion).
Look, here's a new patent:
CLAIMS
- A method of user interaction
- A method by which a user can use a device to interact with a software application
- A method by which a device can "click" a spatial region
^^ I just described every kind of GUI interaction, and this kind of stuff passes.
Let's analyze what a patent does from multiple perspectives...
Does a patent help consumers?
NO. The consumer gains nothing from using patented technology except exposure to a corporation with a monopoly on an
idea (and a troll face).
Does a patent help corporations?
Corporations that didn't rush to the patent office right away to describe their "ingenious" method of say doing an XOR swap ( a ^= b; b ^= a; a ^= b -- effectively three lines of code ) or performing an absolute operation on an integer ( if( a < 0 ) { a = -a; } ), can no longer implement these
basic operations. Considering software is essentially speech with structure and logic (something most people seem incapable of), it's ludicrous to patent it, any part of it, at all. That's like me patenting a specific phrase like "over the rainbow."
The corporations that do gain from this approach usually make their money by being "patent trolls." The usual approach of these patent trolls is to file a bunch of patents, wait until someone violates them (and actively search for people who might do so), then sue them. Usually they'll start with small businesses and small developers because they can't defend themselves easily. Then they start targeting bigger and bigger businesses. They do this because they can point to previous court rulings if the validity of their patent is compromised/targeted by the bigger corporation.
Do patents help small developers?
NO. They take away time from the small developer who should be focusing on more important matters like ACTUALLY IMPROVING THEIR PRODUCT instead of focusing on some random routine that makes shadows look less aliased or something stupid like that.
What are patents?
Patents are a way of saying "I had an idea and I want to implement it; but nobody else can implement it because that wouldn't help me." Let me rephrase that... You have an idea, and someone else, completely unrelated to you and having no knowledge of your product, has the same idea, and you're allowed to implement yours but he's not because you registered the idea first?
First off, your idea isn't fantastic. At least, those are the odds. It's not worth patenting. It's not worth protecting. Maybe there's a better idea you haven't figured out yet because you stopped at an earlier idea and decided to try and "protect your trade secret" by telling the world about it... in a patent. Yeah, that's going to stop someone from country X from implementing your idea.
If you're trying to keep a secret then
keep the secret. Don't tell the world about it by registering a publicly viewable patent.
----------------
John Carmack "Father of the FPS"
Quote: "The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying."
----------------
Software Patent Debate
For Patents
Quote: "Patents must disclose how to make and use an invention in sufficient detail so that other persons of ordinary skill in the art of the invention can make and use the invention without undue experimentation. Furthermore, patents are only valid if the inventions they disclose were not known by the public prior to the filing of the patent application, or if the inventions were not obvious to those of ordinary skill in the art at the time the patent application was filed. (U.S. law was somewhat different from other countries, with the focus being on when the invention was made, not when the patent application was filed. This changed in 2011 to a "first to file" standard pursuant to the Leahy-Smith America Invents Act)."
In software, you can say "this is my patent" without an implementation. This feels fundamentally wrong because if you're going to patent something in software, you should have it working in practice. For actual physical or mechanical designs, this may be more difficult due to needing to come up with the appropriate materials. To remedy both if patents had to stay, I would say that having a one year research period, by which time the invention has to actually be implemented otherwise the patent expires, followed by a limited (six months to two years; depending on how complicated the design/method is) monetary period from which you may exclusively benefit is a "good" compromise.
Quote: "Patents can be invalidated if they lack sufficient detail."
In practice, this only happens if you catch an invalid patent before it goes through the systems
or after a big company is being sued and they can afford to fight back. This process can take a long time (sometimes years). Google vs Oracle? Microsoft vs <anyone>? Apple vs <anyone>? ... <big company> vs <other big company>? They all took a long time.
Quote: "The time delay between when a software patent application is filed, and when it becomes public is 18 months. This is a compromise position allowing U.S. innovators to develop their software before revealing details about it and giving competitors an unfair look at their research and development, and providing the public notice within a fair amount of time to allow others to develop their own technology.[citation needed] The format in which software inventions are disclosed in patents (plain language text, flow charts, line drawings, etc.) allows a person with reasonable programming skills to recreate software capable of performing the ideas patented, as required by law.[citation needed] Copyleft publications by contrast, provide a different type of information addressing a different legal standard with different incentives."
Companies take advantage of this on a routine basis... They file a patent, wait for someone to do something, then take them down. The other person has no reasonable way to defend themselves against this. So yeah, that whole secrecy thing doesn't work for other companies. (I'm a firm believer that competition helps innovation. This stifles competition and therefore does not help innovation.)
Quote: "In the U.S., the Congress has stated that "anything under the sun made by man" deserves patent protection to promote innovation."
That's a terribly vague justification made by people who don't write or understand software.
Quote: "Some aspects of software are also covered by copyright law, but those are largely different from the protection of ideas and innovation in the useful arts provided by patent law."
This is basically saying "patents are good because they are." Yeah, excellent logic.
Quote: "Inventions can only be patented if they are non-obvious. This reduces the granting of "trivial" patents with no inventive step."
The people at the patent office DO NOT UNDERSTAND SOFTWARE and almost everything in the field, especially thanks to the convoluted and manipulative wording of most patents, can get a patent granted. This is broken. Apparently Lodsys invented "paying from within an app." Also,
Microsoft recently tried to patent "Icons". Also,
here's a method of swinging on a swing -- patented.
Quote: "Software patents resulting from the production of patentable ideas can increase the valuation of small companies."
In practice,
many small developers suffer because of patents, with bigger companies benefiting. That's just the opposite of this claim.
Quote: "Software patents increase the return on investment made by the public on federally sponsored university research, and ensures the flow of knowledge that is required for society to progress."
This cites a book that I do not have access to, currently. From the sound of it though, if the federal government funds university research, that research should be placed in the public domain to
actually help society progress.
Quote: "International law provides that an invention in any field of technology can be protected by patents (see Software patents under TRIPs Agreement)."
"Patents are supported by international law!" - if patents actually helped, that might be a good thing!
Quote: "This interpretation of TRIPs contains and reflects that software should be subject to patent law."
This is a separate point but seems like it should be part of the point above. This is effectively filler on the "for patents" section.
Quote: "Granted patents can be revoked if found to be invalid."
Yeah, 'cause that happens often. I already mentioned this... in practice, this doesn't happen unless you're a big company or you catch it early on. Besides, if the patent is secretive for 18 months, how are you supposed to revoke it?
Quote: "If members of the public feel that an examiner has allowed an overly general claim in a patent, they may file an interpartes examination in the U.S., an opposition in Europe, or a lawsuit in Court, to argue that claims are overly broad and should not be allowed."
This doesn't happen much in practice.
Against Patents
Software is math.
Quote: "A program is the transcription of an algorithm in a programming language, and being every (Turing-complete) programming language equivalent to Church's lambda calculus by virtue of the Church-Turing thesis, a program is thus the transcription of a mathematical function. Since math is not patentable, neither is software."
Hinders research and development.
Quote: "Some scientific studies and expert reviews have concluded that patent systems paradoxically hinder technological progress and allows monopolies and powerful companies to exclude others from industrial science in a manner that is irreconcilable with anti-trust laws."
Quote: "Gary Becker, Nobel prize winning economist argues, "Their exclusion from the patent system would discourage some software innovations, but the saving from litigation costs over disputed patent rights would more than compensate the economy for that cost.""
Cost and loss of R&D funds.
Quote: "Should a software developer hire a patent attorney to perform a clearance search and provide a clearance opinion, there is no guarantee that the search could be complete. Different patents and published patent applications may use different words to describe the same concepts and thus patents that cover different aspects of the invention may not show up in a search. The cost of a clearance search may not prove to be cost effective to businesses with smaller budgets or individual inventors."
Quote: "For the U.S. the economic benefit is dubious. A study in 2008 found that American public companies’ total profits from patents (excluding pharmaceuticals) in 1999 were about $4 billion, but that the associated litigation costs were $14 billion."
Copyright.
Quote: "Should a software developer hire a patent attorney to perform a clearance search and provide a clearance opinion, there is no guarantee that the search could be complete. Different patents and published patent applications may use different words to describe the same concepts and thus patents that cover different aspects of the invention may not show up in a search. The cost of a clearance search may not prove to be cost effective to businesses with smaller budgets or individual inventors."
Quote: "Copyright is the right of an author(s) to prevent others from copying their creative work without a license. Thus the author of a particular piece of software can sue someone that copies that software without a license. Copyright protection is given automatically and immediately without the need to register the copyright with a government, although registration does strengthen protection. Copyrighted material can also be kept secret."
Software is different.
Quote: "Software programs are different than other electromechanical devices because they are designed solely in terms of their function. The inventor of a typical electromechanical device must design new physical features to qualify for a patent. On the other hand, a software developer need only design new functions to create a working embodiment of the program."
Quote: "Software is a component of a machine. The computer’s hardware is generic; it performs functions that are common to all of the software that is capable of being executed on the computer. Each software program that is capable of executing on the computer is a component of the computer."
Quote: "Computers "design" and build the structure of executable software. Thus, the software developer does not design the executable software's physical structure because she merely provides the functional terms."
Trivial patents.
Quote: "Anecdotal evidence suggests that some software patents cover either trivial inventions or inventions that would have been obvious to persons of ordinary skill in the art at the time the invention was made."
Quote: "Patent examiners rarely have a comprehensive knowledge of the specific technologies disclosed in the patent applications they examine. This is in large part due to the enormous number of micro-niches in the software field and the relatively limited number of examiners. So, patents are sometimes allowed on inventions that appear to be trivial extensions of existing technologies."
Open source disadvantage.
Quote: "The free and open source software community, and many companies that use and contribute to open source, oppose software patents because they can impede or prohibit the distribution of free software. They contend that patents threaten to undermine F/OSS, regardless of innovations produced by F/OSS collaborations."
That is, even if you have nothing to gain but efficiency for your end-user from implementing something that was potentially patented (which is arguably everything you have ever done or will ever do), you still can't do it. Makes perfect sense.
----------------
I look forward to a well considered response.
Web -
Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius