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

[Video] Richard Stallman's New Talk in Germany Covers What Free Software Means, Why LLMs are "Bullshit", and Lots More (Web3 Summit 2024 Berlin)
Closing Keynote Day 3 - Dr. Richard Stallman - Web3 Summit 2024 Berlin
On Losing the Job at Google After Talking About Committing Acts of Violence Against Colleagues
We still have a highly toxic element trying to enter and fracture our community
[Meme] Patent Monopolies as Bribes at the European Patent Office (EPO)
bloggers who report crime are being threatened with lawsuits by several law firms hired by the EPO to cover up crimes
New EPO Letter Expressing Concerns About EPO Violating Its Charter, Clearly Violating Rules (Possibly Bribing Siemens With Monopolies) and Granting Loads of Fake Patents to Make More Money
Why does the EU tolerate the EPO's crimes and how much longer will this go on for?
[Meme] EPO 'Hush Money' to Companies That Point Out EPO Breaks the Rules
A bribed doorman: "We have patent examiners, but if you say the right words, we'll bypass them for you"
Certificate Authorities (CAs) Are Serving the Authorities, Not You
The centralised CAs "model" is not working
Rage in the Propaganda Machine
There has never been a better time to quit social control media
The Free Software Movement Must Not Assume That Truth and Science Always Win
Sometimes the bad people and the liars get ahead
Peter Eckersley and 'Afterlife'
It's better to look after one's health at present than to pursue all sorts of perceived 'insurance' policies
 
The Best Interface is Outdoors, It's Nature!
Not everything should be replaced by or emulated by digital devices
Terms of Service (TOS) Under Scrutiny - Part XVII - A Personal Perspective
The bottom line is, it's possible to reduce (albeit not entirely eliminate) how many things one signs, presses "OK" on and so on
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, September 08, 2024
IRC logs for Sunday, September 08, 2024
Always Taking Things Up a Notch
Nothing will stop us
[Meme] EPO Keeps Masking Its Corruption With "Diversity and Inclusion" (Hiring the Wife of a Friend of Someone Who Bribed His Way Into EPO Presidency)
chain of nepotism
Very Large EPO Applicants Now Threaten a Boycott of the EPO (the EPO Management is Trying to Bribe Them to Change Their Plans/Minds While Hiding It From Staff)
If corruption prevails to this extent, it will have severe international effect
Gemini Links 09/09/2024: Gemini Application Developer Guide and ROOPHLOCH 2024
Links for the day
Links 09/09/2024: 'Dieselgate' Criminal Trial Starts Late, Mass Layoffs at Volkswagen
Links for the da
NIST is Threatening to Sue You With Patents on Mathematics (That Aren't Even Legal in the First Place) If They Don't Like You
They're asserting monopolies on mathematics
Gemini Links 08/09/2024: WebDAV, OpenBSD, Pocket Reform, and More
Links for the day
Links 08/09/2024: Super Typhoon and Lots of Climate Journalism
Links for the day
Terms of Service (TOS) Under Scrutiny - Part XVI - When Radio is No Longer "Read-Only" (Listening Mode) Because Someone Listens and Sells Your Data
Who would want to put up with this?
Terms of Service (TOS) Under Scrutiny - Part XV - "Zoom's terms of service change sparks worries over AI uses" (and More)
Then they wonder why users get all grumpy?
redhat.com is Promoting Revisionism and Lies Regarding the Origin of the Term "Open Source"
debunked many times before
Software Patents Against GNU/Linux Again
Patent extortion against OpenShift and Red Hat Enterprise Linux
IBM is Cutting - Almost in Half - Its Office Space in Austin, So Expect Many Layoffs (RAs)
IBM reduces office space by 187,00 square feet or 37%
IRC Proceedings: Saturday, September 07, 2024
IRC logs for Saturday, September 07, 2024
Over at Tux Machines...
GNU/Linux news for the past day
Gemini Links 07/09/2024: Self Hosting (Not "CLOUD") and Site Reliability Engineering
Links for the day
They Used to Say Avoid Nginx (or NGINX) Because It's Russian. Now You Can Say Avoid It Because It's Microsoft.
Thankfully we quit using NGINX when we shut down our HTTP proxy for Gemini
Instead of Telegram People Should Use Free Software (Telegram Was Always Unsafe for Use)
"Modern" so-called 'smart' 'phones' are compromised at the OS level or baseband side
The Arrest of Pavel Durov is Changing Telegram
Remember that Telegram's founder, who is also French, cannot leave France until he satisfies those who detained him
The Growth of GNU/Linux is Now a Mainstream Topic With Widespread Awareness
We can do less counting (of baskets and eggs) and more advocacy
Techrights is a Demonstrably Popular Site, Reporting Suppressed Facts. Those Vouching for Its 'Unpopularity' Express a Desire Rather Than a Condition or a Fact.
Our 100% source protection record will hold up
John Pilger's Site Relaunches, Wikileaks' Site Has Not Been Updated in Years
We have long hoped that, more so after the release of Assange, Wikileaks will have some kind of "relaunch" or recovery
A Terms of Service (TOS) Notion of "Consent"
We're well past the true notion of real consent
Terms of Service (TOS) Under Scrutiny - Part XIV - Zoom the Beast
breakdown of the Zoom TOS and corresponding privacy statement
Links 07/09/2024: Qualcomm May Buy Parts of Intel, YouTube Deletes Channels for the US Government
Links for the day
No, Mastodon is Not Growing, Social Control Media is Generally Waning
Our sister site pulled the plug on the whole thing over a year ago, seeing it was mostly a source of online abuse
A Loss for Fake Security, a Win for Net Autonomy
Crucifixion of domains has been ramping up this past week; it's a cautionary signal
Links 07/09/2024: UK Police Raid Journalist's Home, Epoch Times Setbacks, and Karma
Links for the day
FSFE: Donate to Us to Co-Fund With Microsoft the Unpaid Underage Labour, YH4F
Latest from FSFE
Links 07/09/2024: China's Financial "Bond" to Africa and Attempts to Postpone Trump Criminal Cases
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Friday, September 06, 2024
IRC logs for Friday, September 06, 2024
linuxsecurity.com is Still Spamming the Web
This is not harmless to Linux and it definitely merits a shun
Gemini Links 07/09/2024: Freedom in Bareness, Reactions in Addictive Social Control Media
Links for the day