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

Microsoft Starts 2025 Like 2024: Mass Layoffs Every Month!
It's a company in tailspin
Beta'News' Still a Spamfarm Run by Bots
It's a source of Web pollution
 
When They Insist That Getting Rid of Paper Receipts and Paper Trail of All Kinds is Better (Manchester City Council and the "Smart" or "App" Mindset)
just classic greenwashing
Gemini Links 09/01/2025: Domain Changes, Dirty Links, and OpenWRT
Links for the day
Links 09/01/2025: X-Book (Facebook) Follows the MElon (Musk) Model and X Comes Under EU Investigation for Inciting
Links for the day
[Meme] Microsoft's Scam Altman, Bigger Scammer Than 'Crypto' 'Currency' 'Exchanges'
More pollution, too
Interest in Microsoft Waning, Company Deep in Debt and Mass Layoffs Implemented Every Month Since 2023
As fewer people still use Windows (over time many move to Android or whatever) that site, microsoft.com, will likely languish some more
Microsoft Says Scale of Layoffs in January 2025 is Several Thousands
Microsoft is the first of GAFAM to announce layoffs in 2025
Microsoft Windows Continues to Sink in India
The consistent and almost linear decrease will continue because Microsoft has nothing in store other than vapourware and mass layoffs
statCounter Has Outdated and Unfit-for-Purpose User-Agent Parsers
poor recognition or parsing or classification of User-Agent strings
[Meme] GAFAM Buying Shares in NYSE:EFF
To the ordinary person, today's EFF isn't a go-to protector, it's just meant to look like one
Sometimes the EFF Prefers to Talk About Sex, Not Tech (or Unnecessarily Conflate the Two Things)
The old name (or brand) remains; the goals? Not so much...
Links 09/01/2025: Software Patents Squashed, Meta Becomes "MAGA" Booster
Links for the day
Gemini Links 09/01/2025: Chants of Sennaar and Security Theater
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, January 08, 2025
IRC logs for Wednesday, January 08, 2025
Gemini Links 08/01/2025: Minimalism and Efficiency With Gemini Protocol and tilde.cafe "May be Shutting Down"
Links for the day
There Used to be an Actual Community in SUSE (OpenSUSE is Dying)
Volunteers with programming skills don't want to become slaves of Microsoft resellers
[Meme] Blindly Trust Rust
First, you need to get it from a proprietary platform
Communications Assistance for Law Enforcement Act (CALEA) is a Far Bigger Problem Than Some Unintentional Bugs (Not Back Doors) in Software
What's a "memory safe programing [sic] language"? Rust has holes in itself, never mind programs made using Rust.
Amid Mass Layoffs at Microsoft (2025) Executives Flock to Google
The managers and executives typically know ahead of time what's coming
Links 08/01/2025: HMPV Concerns and UK Deaths Soared in 2024
Links for the day
IBMers Question IBM's Decision to Send Money to "Chinese Military Companies" in Spite of US Sanctions
Some people bring this up now
[Meme] Real Money and Fake (Speculative, Fictional) Money
"Looking for the next $400,000,000,000 in 'investment'"
Microsoft LinkedIn Going 'the Way of the Epstein'
LinkedIn is going downhill
Will 2025 Bring Recovery of News Sites or Just More LLM Slop? Probably the Latter.
The Web is deteriorating. Geminispace does not have LLM trash (yet).
Engagement in Microsoft GitHub Falls, Expect More Layoffs and Office Closures
Maybe it'll become an "open secret" if some rebellious whistleblower contacts us
Why Government Data on "Job Openings" is Typically a Lie (Perpetrated in Part by Corporations)
Millions (yes, millions!) of fake "openings" exist in the US alone, based on a survey done last year
[Meme] Microsoft's January 6th
Most Microsoft employees want to leave the company
Links 08/01/2025: Arrest of Yoon Suk Yeol Still Due, Prime Minister of Canada Stepped Down
Links for the day
Gemini Links 08/01/2025: Why Mastodon Sucks and Fake Code Generated by Scanning Real Code
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, January 07, 2025
IRC logs for Tuesday, January 07, 2025
All the Latest 'Articles' in This Fake 'News' Site Are SPAM, LLM Slop, or Both (to Googlebomb CES)
These people destroy the Web
Microsoft Has a Google Problem (and GNU/Linux Problem) in Sweden
Sweden likes Chromebooks, Web access data suggests
Less Than a Tenth of a Second
Look ma, static pages!
[Meme] The LLM Salesperson
LLMs are net liability (loss)
LLMs Destroy the Web Not Just by Filling It With Cruft and Chaff (Slop)
It'll destroy many sites or increase the cost of running them
Who Says Microsoft Is Actually Succeeding as a Business? (It's Faking a Lot)
Microsoft has been cooking the books for a long time
The Free Software Foundation (FSF) Turns 40 This Year, Now It Shows Possible Logos for the Special Event That Celebrates Sharing
FSF's options in a nutshell
Links 06/01/2025: 10 Years Since Terrorism Against Satire in France
Links for the day
Gemini Links 07/01/2025: Praise of E-mail and App Store 'Invention'
Links for the day
[Meme] Removing Correct Information
publish what's true
President Biden Has Less Than a Fortnight Left to Pardon Julian Assange (Donald Trump's Regime Plotted to Assassinate Assange)
Don't try to lecture/explain/preach to people that exposing corruption, resisting corruption, and merely covering corruption is "bad" because crime "is everywhere"
From 92% to Less Than 25%: How Microsoft Lost Norway (and Still Loses What's Left)
just like in most countries
Matt Birchler: "This is why it’s important for people to own their presence on the web, especially when it comes to government agencies that need to communicate with people."
hours ago
Microsoft Continues to Attack Users' Choice
We're being herded into uniformity
Diversity of Views, Diversity of Sources
We want diversity, not monopoly
With 10 Days Left the Free Software Foundation (FSF) Looks to Raise Just Over $50,000 More
More than 10 days in Boston (eastern coast)
In Europe, Russia's Yandex About to Become Bigger Than Microsoft's Bing, Google Search Estimated to Have Grown Since the LLM Hype Began
Remember that Bing had many layoffs in the past 2 years, the corporate media barely reported on those
The Google Exodus That Wasn't
Search engines exist to serve their masters, not their users
Google (Blogger) is Already Disintegrating and It's a Reminder of the Great Dangers of Outsourcing Blogs to Companies (Including Automattic or WordPress.com)
Plus, Phoronix admits that using PHP - and not static pages - causes the Web site to be DDOSed, sort of
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, January 06, 2025
IRC logs for Monday, January 06, 2025