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

XBox is Rapidly Turned Into a Slopfarm by Microsoft
Slop isn't about efficiency and saving money
Reboots Should Never be Necessary
"BUT WHAT ABOUT SECURITY!!"
Microsoft's Halloween Documents and systemd, Wayland, Etc.
Maybe one day Wayland will be widespread. Or maybe not.
 
Gemini Links 15/07/2025: Smolweb and Alhena 5.1.7
Links for the day
The Danes Want GNU/Linux
David Heinemeier Hansson recently moved to GNU/Linux
Cory Doctorow Explains Why Software Freedom Matters, Whereas "Open Source" Misses the Point and Helps Monopolies
It's a very long article
BillPR (EpsteinGate-Bribed NPR) is Turning Into a Partial Slopfarm that Promotes Slop
"I went on a date with a chatbot!"
Two Weeks Passed Since Latest Large Wave of Microsoft Layoffs, More Expected Next Month
Blaming the debt on "AI" is just self-serving storytelling
There's Still Hope for the World Wide Web
Let's hope that the trajectory of the Web won't be leading us to over-reliance on Google, nor will it reward worthless slopfarms
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, July 14, 2025
IRC logs for Monday, July 14, 2025
Gemini Links 15/07/2025: Gemini "Style Sheets" and Switching From Microsoft GitHub to Codeberg
Links for the day
Coming Soon: Another OSI Scandal, This One Implicating Molly de Blanc
OSI has been fairly quiet lately
Outreachy & Debian pregnancy cluster, Meike Reichle evidence
Reprinted with permission from Daniel Pocock
Again, "Lunduke is Actually Sending His Audience to Attack People"
Microsoft Lunduke is not trying to "protect" Linux
One of the Most Hilarious Things About the Microsoft SLAPPs
It's so ridiculous
Financial Support for the Free Software Foundation or the GNU Project
The FSF has extended until Friday its fund-raising campaign
Illegally Hiding (or Demanding Secrecy Around) Illegal Requests or Attempts at Extortion
unlawful communications like threats
Gemini Links 14/07/2025: BOFH Archive, Updating Old Palm PDAS, and Nginx vs Slop Bots
Links for the day
Ubuntu is Becoming GAFAM-Like
What does that say about Canonical and Ubuntu?
Slopfarms Which Take Real Articles About GNU/Linux and Turn Them Into Copycats Which Are False
Even before the LLM hype those were quite common
The Firm That Picks on Techrights is Accustomed to Working With Criminals
Techrights never did anything illegal. So why is it being picked on by people who work with criminals?
Microsoft Said the Mass Layoffs Were for "Investment" in "AI", But It's Also Laying Off the "AI" and "Copilot" Staff
Months ago we showed many so-called "AI" people were getting the boot and this time it's the same
DryDeadFish is Dead, Long Live DryDeadFish
We kept checking, hoping it can recover from some temporary technical issue
For Quite Some Time Already Microsoft Attracts Crackpots, Scams, and More
Occasionally we talk about the situation at IBM as there are many parallels
Links 14/07/2025: Chatbots Broken Again, McHire LLM Shows Limits of the Hype
Links for the day
Changing One's Name Won't Change One's Past
People who have earned a bad reputation are not magically "entitled" to reset
People Who Assault Women Are Not Victims of "Distress"
It seems like an American tradition. In a country with almost 50 presidents, not even one was a female.
Slashdot Media Turned Linux Journal Into a Slopfarm and Now Slashdot Actively Promotes Anti-Linux Slopfarms
Yes, "no-nonsense" apparently means actual nonsense
Adoption of Gemini Protocol Still Growing
Gemini Protocol is being obscured by the media - it doesn't help that Google 'hijacked' the word "Gemini" - but people still manage to find out about it, download a client, and use it
Links 14/07/2025: Arresting Photographers, Threats to Revoke US Citizenship Over Criticism
Links for the day
More EPO Leaks on the Way
We hope that Mr. Rowan will actually try to refute what we say and show, not merely point the finger at the messengers
Decommodification is a Corporate Strategy Against Communities
systemd is led by Microsoft and hosted by Microsoft
copyleft.org 'Hijacked' by the People Who Attack the Person Who Created Copyleft
So far there's nothing "tasteless" in copyleft.org, but that can change at any time in the future
Asking People to Take Down Articles and Videos Only Makes These More Popular and "Viral"
If you do something bad, one of the worst things you can possibly do it try to silence those who speak about it
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, July 13, 2025
IRC logs for Sunday, July 13, 2025
Two-Thirds Towards FSF Goal, Richard Stallman to Give Talks in Europe
There are 67 left before reaching the target
Brett Wilson LLP "Takes it Personal" (Character Assassination, Not Professionalism). Everybody Can See That.
On behalf of violent men
Gemini Links 14/07/2025: Politicised Tech and "Leaving GitHub"
Links for the day
Pissing Contests and Pissing Off Everyone
people who came from Microsoft are trying to vex and divide the community
Microsoft Repeats the Mistakes Made by the EPO After We Exposed a Major Microsoft/EPO Scandal 10 Years Ago
That scandal was all over the media, not just in English
The Demise of LLMs
We've just checked BetaNews again. They've dropped all the slop and went back to human authors.
Gemini Links 13/07/2025: Sonpo Museum of Art and FCEUX
Links for the day
Links 13/07/2025: UnitedHealth's Censorship Campaign, Australia Wary of China
Links for the day
Firing Away With Nonsense
Or fighting fire with fire
Links 13/07/2025: Climate Crisis, GAFAM Poisoning the Water
Links for the day
Turns Out LLMs for Code Don't Save Time and Don't Improve Quality
Neither legal nor useful
The Microsofters Will Have an Obligation to Compensate Us
This story isn't just about Microsoft. It's also about corruption, there are many women victims, there is abject "abuse of process", and many more scandals to be illuminated in years to come.
Reproducing at the EPO Instead of Producing Monopolies for Foreign Monopolies With Their Price-Fixing Cartels
Does the EPO recognise the need of well-educated Europeans to bear kids?
Valnet Inc. Dominates Real (Not LLM Slop) GNU/Linux Coverage in 2025
And likely in prior years, too
Free Software Foundation (FSF) Fund Raiser Goes on
Later this month we'll expose another OSI scandal
EPO Staff Representatives Issue a Warning About Staff's Health and Inadequate Care
Even the EPO's own stakeholders (money sources) are openly protesting against what the EPO became
Links 13/07/2025: Partly Assorted News From Deutsche Welle and CBC
Links for the day
Gemini Links 13/07/2025: Board Games and Battle Styles
Gemini Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, July 12, 2025
IRC logs for Saturday, July 12, 2025