Bonum Certa Men Certa

Guest Post: Watch Out for “Patented API” Traps, by Jose X

The Trap in a Nutshell



A patented API is short-hand for saying that an API (a software interface) is defined to parallel a patent so that using the API to build applications creates patented material unavoidably.



This is a trap API. Use it, and infringe.

The story:

Q: Can I "work around" the patent? Q: Can I re-implement the API libraries so as not to have to redesign and recode all apps? Q: Can I map or translate the app automatically into something safe?

A: In general, no, you can't, if the trap is a good one.

This covers the trap in a nutshell.

[The disclaimer: I am not a lawyer, and I have never written a patent application. But.. I do know how software works, and I have developed more than just half a clue about how patents work (in the US).]

Further Basic Discussion



For those that want a little more explanation, we have this link.

..as well as a hypothetical "Tetris" Patent Trap example.

Visual Basic function



"Tetris" Patent Trap



Patent Tetris Patent CoolDraw API Tetris API CoolDraw

We have two patents and two API. One patent and one API are high-level (Tetris). The other patent and API are low-level (CoolDraw). The high-level patent and high-level API are designed together as a trap as mentioned above. Ditto for the low level ones.

Let's look at a few more details on the patents and on the APIs. Then, we'll cover the four main scenarios. Do note the interplay of high-level with low-level. When the levels are the same (and matching), we have stepped onto the trap.

-- Patent Tetris: patents any tetris like game.

-- Patent CoolDraw: patents a cool way to draw on the screen from computer memory.

-- API Tetris: a createTetris function produces a tetris game when you input things like block size, colors, number of rows, time, etc.

-- API CoolDraw: a doCoolDraw function uses a cool algorithm to move values onto the screen.

Case 1: -- Patent Tetris -- API Tetris.

In this scenario, if we use API Tetris within our app so that a tetris game is created, we violate Patent Tetris, guaranteed.

Case 2: -- Patent Tetris -- API CoolDraw.

In this scenario, if we use API CoolDraw within our app so that we draw to the screen, we do not violate Patent Tetris unless we write a lot more code so as to create our own tetris game. It would take many lines of code to violate Patent Tetris.

Case 3: -- Patent CoolDraw -- API Tetris.

In this scenario, if we use API Tetris within our app so that a tetris game is created, we may violate Patent CoolDraw ..or not. It depends on how API Tetris was implemented. Does createTetris write to the screen the way described by Patent CoolDraw?

Case 4: -- Patent CoolDraw -- API CoolDraw.

In this scenario, if we use API CoolDraw within our app so that we draw to the screen, we violate Patent CoolDraw, guaranteed.

Quick Analysis

Case 1 (and Case 4) patent and API are at the same level (and matching). This is a trap. To avoid infringement, you have to redesign and re-code the application using a different API.

Case 2 is the case when people consider "working around" the patent. It's an odd event. You have to write many lines of code in order to possibly be infringing. If you are, you then try to code around it, perhaps by building something a little different than tetris. [In general, avoid infringement by make sure some of the properties of the patent claim are not met.]

Case 3 is the case where if a violation were to exist in the API implementation, you can try to re-implement the libraries and this way avoid re-implementing each and every single app as would be required for Cases 1 and 4.

The reason Case 3 allows you to re-implement the libraries and avoid re-coding up every application is fundamentally because you can re-implement the API but keep fixed the same interfaces and specifications enshrined in the API contract and assumed by the applications. This is not possible in Case 1 and Case 4 because any re-implementation of the same specification, for these cases, will infringe in the same exact way as with the original implementation since it's the specification itself (not any implementation of any part of it) that parallels the patent.

The reason Case 2 does not result in automatic infringement as happens with Case 1 and Case 4 is that the API interface and patent requirements don't match. It's that simple. Case 2 is where the application could possibly end up violating if you code enough with that API or with another. The Case 2 patent is high-level while the API is low-level. Case 3 is different in that the patent is low-level while the API is high-level; thus, Case 3 contrasts with Case 2 because in Case 3 the potential violations would not happen within the application (as with Case 2) but rather within the library.

In short, Case 1 and Case 4 are the only cases (of the four) where any API usage, by definition, specifies that the application will acquire all the properties of the matching patent claim. These are the traps.

Random APIs will not shadow any given patent as occurred in Case 1 and in Case 4. Developers normally would not have to worry. They can expect a Case 2 or a Case 3, if anything. However, Case 1 and Case 4 can be designed on purpose when the patent author and API designer are the same entity. Why would this author create this trap for developers? Well...

-- The patent author is determined to file lawsuits as necessary (maybe via proxies) in order to slow down many and/or key competing applications (eg, FOSS applications).

“You can be given a patent license and even GPL code for the core API, but not for the patented API extensions.”If you are using an API designed by such a vendor (regardless of who implemented the libraries), beware. I see lots of redesigning and re-coding in your future, just to get back to the same point (on a per app basis). Remember that the patent might still be in the pipeline, have been sold to a proxy, or have been developed through a partnership under a different company or alias.

The above nutshell and sample analysis omit many details. There are many corner cases and things are not cut and dried. In a second article to follow (possibly), we will look closer into many details of the trap scenario.

Finally, there is a more insidious trap that exists. You can be given a patent license and even GPL code for the core API, but not for the patented API extensions. You may then find that you can create only simple applications safely (with that core API), even if you decide not to use the patented extension API but build your own. This is more insidious because the patent and copyright licenses given for the core API give the illusion of safety (a green light to proliferate), and is insidious and dangerous all the more so since you might purposely avoid the patented extensions. The trap happens if you use the "safe" core with any extension whatsoever (since the extended patented properties can be very general in nature). The details of this extended insidious trap may form the subject of a third article later on. It's also described further here.

Comments

Recent Techrights' Posts

UEFI 9/11 Aftermath - Part III: Mr. 'Secure Boot' (Shim) and His Fake 'Holiday' (Sending My Wife and I Threatening E-mails on 9/11)
despite being on holiday, according to him, he finds time to instruct lawyers to contact my wife
Ron Wyden: Microsoft Should be Held Accountable for Security Breaches (He Has Said This for Years Already, It Never Happens)
Negative media coverage isn't a fine and it does nothing to compensate Microsoft's billions of victims
Disable 'Secure Boot' (If It Lets You)
it doesn't put you in control
Longtime Red Hat Staff: Maybe Just Disable 'Secure Boot'
A refreshing take from Adam Williamson
 
It's Still Not to Late to Turn Off "Secure Boot"
If people reboot their PC or server today, and it relies on "Secure Boot" on Sept. 12 or later, then depending on the firmware there may be trouble ahead
Links 12/09/2025: Shira Perlmutter is Back, “Software Per Se” Patent Rejections in In re McFadden
Links for the day
Slopwatch: Linux Plagiarism, Slopfarms Still Infesting Google News, Many Images Are Fake
Google is promoting plagiarism
"This Morning Might Turn Out to be an Interesting One for System Admins Who Haven't Updated Their Devices' Secure Boot Certificate" (If They Reboot)
Who asked for this anyway?
Gemini Links 12/09/2025: Metric System, Dumping Windows, and Software Architecture is Dead
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Thursday, September 11, 2025
IRC logs for Thursday, September 11, 2025
Microsoft Admits the Workers Have Lost Trust (Endless Layoffs, 12-13 Rounds of Layoffs This Year), So Now It's Trotting out Its Peter Bright-Like Media Prop Jordan Novet
What they don't want people to pay attention to right now
Links 11/09/2025: Windows TCO and Russian Drones Invading Poland (EU/NATO)
Links for the day
Gemini Links 11/09/2025: xkcd, misfin, and Alhena 5.3.2
Links for the day
Repetition of Last Summer (Microsoft Breaking Dual-Boot Systems)
UEFI 9/11 is about to kick in
UEFI 'Secure Boot' Boiling Frogs (Cannot Turn Off 'Secure Boot')
"MSI laptop is locked on Secure Boot and doesn't allow me to turn it off"
UEFI 9/11 Aftermath - Part IV: The 'Hulk Hogan of UEFI' and His 'Hideout' Holiday (Retreat From Reality)
Let's keep an eye on what matters
UEFI 9/11 Aftermath - Part II: "The SecureBoot Thing Got Out of Hand."
The next few weeks might be... interesting
UEFI 9/11 Aftermath - Part I: "I Believe This Affects Thousands of Devices... Because Multiple Devices I Checked, Whether Client or Server [...] Affected."
Most people aren't even aware that this is happening or about to happen
The UEFI 9/11 - Part X - An Outline of the Series About Microsoft Sabotaging GNU/Linux (With Ramifications to Unfold Online in Coming Weeks as People Reboot)
Today is UEFI 9/11 (9/11/2025)
Culture of silence: Ubisoft harassment convictions, Mozilla, Sylvestre Ledru & Debian make no comment
Reprinted with permission from Daniel Pocock
Links 11/09/2025: "Hey Hi" Ponzi Schemes at Oracle (Unpaid Contracts) and Cindy Cohn is Leaving the EFF
Links for the day
Gemini Links 11/09/2025: Playdate Console, Dichotomy between the Real and the Digital
Links for the day
A Dozen Observations About "UEFI 9/11" Deflections
What we are expected to see, tentatively
The Microsoft AstroTurfing and Microsoft-Led Blame-Shifting Tactics Are Ahead of Us
Of course it has nothing to do with security, it's about control, i.e. them controlling everything
Celebrating Assassination is Bad Because It Legitimises Assassination of the People You Like, Too
Condoning or even celebrating political assassinations is bad optics (and taste)
The World's Richest Ponzi Scheme (Faking Value Using Net Waste)
The higher they go the harder they fall
We Could Dual-Boot Back in the 1990s, Why Has This Become So Difficult?
And prone to breakage
Being Conditioned to Accept Unreliable Computer Systems That Fail With Black Screen of Death (BSoD)
Welcome to 2025
Slopwatch: Google News is Still Promoting Many Fake Articles About "Linux", in Effect Rewarding Misinformation and Plagiarism
things continue to deteriorate
New Series: The Coup Against GNU/Linux Has Begun
today, this year in particular, we shall also focus on Secure Boot, which is sold based on a lie and tortures many computer user
New Paper on "BYOVD, but in firmware. Signed UEFI shells, vulnerable modules offer new paths for Secure Boot bypasses."
One might say digital "security theatre"
Links 11/09/2025: Oracle Layoffs, Drunk Pilots in Japan Airlines, US-Korea Tensions Grow
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, September 10, 2025
IRC logs for Wednesday, September 10, 2025
Xubuntu Site Compromised
Let's hope it is not a security breach
Links 10/09/2025: Retaliation at Facebook and Microsoft Reveals Almost 100 Security Holes
Links for the day
Gemini Links 10/09/2025: Annihilation of Self, The Future Eaters, and Leaving Academia
Links for the day
They Say That People Are Afraid of or Worried About "Hey Hi", But the Worriers Should be the Fools Who Invested in It
At the end of the day nobody should worry more than those who invested their money in this bubble
Harassment evidence: franceinfo's Clara Lainé report on Ubisoft prosecution
Reprinted with permission from Daniel Pocock
Links 10/09/2025: Microsoft Layoffs in "RTO" Clothing and Windows TCO, GitHub TCO
Links for the day
Blaming Everything on China
TikTok works for China. GAFAM works for fascists.
People Get Tired of "Hey Hi" (AI), Unlike the Subservient Money-Obsessed Media That Gets Paid to Pretend This Bubble Still Matters
"crash will be way bigger than dot.com burst in 90s. and that was Internet, actually transformative technology, not this expensive AI toy with direct dependency on the energy input which is not scalable"
Brett Wilson LLP Accepts That the Serial Strangler From Microsoft Filed a Case That Also Implicates My Wife (Everything is Connected)
They used to pretend that there were two separate cases
10 Reasons to Disable (or Enable) UEFI Secure Boot
Tomorrow the "trusted corporation" Microsoft will see a certificate expire
Gemini Links 10/09/2025: Hospital and Large Feeds
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, September 09, 2025
IRC logs for Tuesday, September 09, 2025
The Bluewashing of Red Hat is Being Completed, Many Staff Understand They'll be Made Redundant
Jim AllowHurst (Whitehurst) is meanwhile promoting Microsoft's agenda from within other companies
Throwing Away "Old" Computers (Mozilla and Other Climate Deniers)
Mozilla is not leftist