A Tiny List of Software Patents

When I wrote my most recent post on software patents, I claimed that it wasn’t possible to create any piece of non-trivial software that didn’t violate hundreds of patents. When I wrote that line, it didn’t even occur to me that this might be a controversial statement. As a developer who sometimes accidentally reads patents, I knew that it was true, so it didn’t realize that I should provide sources for the claim. Nilay Patel rightly called me out on this on Twitter, writing:

«It is simply not possible to create any non-trivial piece of software that doesn’t violate hundreds of patents.» Citation please, @LKM.

I want to start out by explaining why it didn’t occur to me that this statement would be controversial. I simply assumed that it was common knowledge. The fact that existing patents cover pretty much everything you do when developing software has been reported in other places. Here’s a quote from NPR’s «When Patents Attack»:

«We’re at a point in the state of intellectual property where existing patents probably cover every behavior that’s happening on the Internet or our mobile phones today,» says Chris Sacca, the venture capitalist. «[T]he average Silicon Valley start-up or even medium sized company, no matter how truly innovative they are, I have no doubt that aspects of what they’re doing violate patents right now. And that’s what’s fundamentally broken about this system right now.»

Similarly, here’s a quote from Google’s recent blog post on the topic:

A smartphone might involve as many as 250,000 (largely questionable) patent claims.

So I’m not breaking any news here.

Since Twitter discussions rarely work out well, I figured that it would be best to ask what exactly I would have to cite in order to convince Nilay, so I wrote:

@reckless If I do this research, and provide a reasonable number of patents many devs are likely to violate, will you change your mind?

Nilay responded:

@LKM Sure, but only on the condition that you recognize the inherent value of being able to search publicly disclosed inventions.

Of course, I don’t agree with that. It’s not a good idea for developers to read patents, and even if it were, software patents rarely contain anything useful (see below for more on these two claims). So I responded:

@reckless I don’t. That’s another area where software patents fail, because 99% of the time, reading them offers no information that you can’t get from simply looking at a piece of software that implements the patented idea.

Nilay asked for citation again:

@LKM Is that really true? 99 percent of the time? Citation please.

Obviously, the «99%» was hyperbole. I asked again what exactly it would take to convine him:

@reckless I will provide evidence for that as well, if you agree that you will change your mind if I do the research.

Nilay agreed that this would do:

@LKM Sure thing, but you’ve agreed to an impossible challenge.

I’m guessing that the «impossible challenge» bit was hyperbole as well, and that it isn’t literally impossible for me to change his mind, regardless of the evidence. So here’s what I have to provide:

  1. A reasonable number of patents that many developers are likely to violate (since I don’t have weeks to research software patents, I will simply assume that «twenty» is a reasonable number)
  2. Evidence that most of these patents don’t offer any information that can’t be gleaned from merely seeing an implementation of the patented idea

This is what I will do here.

I should start out by noting that this post will list software patents. If you are a developer, you might not want to read this post. The less you know about what’s patented, the better. In case you are sued for patent infringement, you’re less likely to be found to infringe willfully:

Under the patent laws, in appropriate cases the damages may be trebled. In the situation where there has been a finding of infringement and the patent owner has requested treble damages the district court must first determine whether willful infringement was proven at trial.

Having said that, I will mainly list commonly known patents that many software developers already know about.

Now, on to a short list of software patents that should meet the two requirements shown above. This obviously isn’t an exhaustive list. Every year, over 15,000 new patents on «computer implemented inventions» are issued, many of whom are similarly broad as the ones listed here.

I will only quote the patent’s title in order to keep this as short as possible, but I will link to the patent itself, since the title often doesn’t tell you anything about what the patent actually claims. So I encourage you to actually read the patents (unless you’re a developer, see above).

I should also point out that I’m very obviously not a lawyer. Even though these patents are ostensibly patenting things I should be able to understand, it’s often difficult to figure out what exactly a patent is trying to say. So if I’m misrepresenting what any of these patents actually claim, I welcome corrections.

Here we go.


Linked List

Is it easy to accidentally violate this patent? Yes. Linked lists are a very common construct in software development. This patent is for a linked list where each entry can link to more than one other entry. Not exactly uncommon.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. The patent does’t offer anything useful that you can’t get from seeing an implementation of the patent.


Methods and Systems for Gathering Information From Units of a Commodity

Is it easy to accidentally violate this patent? Yes. This is the famous Lodsys patent. If you read the patent, you’ll find that many applications violate it.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. The patent does’t offer anything useful that you can’t get from seeing an implementation of the patent.


Method and System for Publishing and Subscribing in Social Network

Is it easy to accidentally violate this patent? This has been filed in 2010 and hasn’t been granted yet, but if it is, then answer will be «yes». This is the Kootol patent. Many companies violate it.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. Read it. You’ll know all it contains merely from using a social network.


Pop-Up Help System for a Computer Graphical User Interface

Is it easy to accidentally violate this patent? This seems to patent tooltip-like help systems, so yes. It also references many other, similar patents, such as Methods of Displaying Help Information Nearest to an Operation Point at Which the Help Information Is Requested.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. There’s nothing useful in the patent; if you see it in action, you know everything that’s in the patent itself.


Network Apparatus and Method for Preview of Music Products and Compilation of Market Data

Is it easy to accidentally violate this patent? Yes. This seems to patent listening to music on a website, and keeping track of who listens to what.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. The patent doesn’t reveal any useful idea, other than «people click on a link in order to listen to music».


Computer Method and System for Publishing Content on a Global Computer Network

Is it easy to accidentally violate this patent? Yes. This basically patents blogs, and some of the features common on blogs (like hierarchically classifying, rating, and recommending blog posts).

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. If you’ve read a bunch of blogs, you know what this patent contains.


System and Method of Peer to Peer Searching, Sharing, Social Networking and Communication in One or More Networks

Is it easy to accidentally violate this patent? Yes. See above. This seems to patent many «social» features commonly used by modern applications and websites.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. If you’ve used a social network, you know what this patent contains.


Method and System for the Creating, Managing, and Delivery of Feed Formatted Content

Is it easy to accidentally violate this patent? As far as I can tell, pretty much every application that loads structured data from a server violates this.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. Just read it.


Configurator Using Structure and Rules to Provide a User Interface

Is it easy to accidentally violate this patent? It’s hard to tell because of its obtuse language, but this patent seems to cover pretty much every dynamically generated user interface, so the answer is probably «yes».

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. The inventor himself calls this patent «mumbo jumbo».


Internet Online Backup System Provides Remote Storage for Customers Using IDs and Passwords Which Were Interactively Established When Signing Up for Backup Services

Is it easy to accidentally violate this patent? If your application stores user data on an Internet service, it might violate this patent.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. Merely using any kind of online backup service will tell you everything this patent contains.


Recording Medium, Method of Loading Games Program Code Means, and Games Machine

Is it easy to accidentally violate this patent? This is a patent for entertaining the user with a small game while the «real» game is loading. It’s the reason why loading screens on non-Namco games are boring, yet I regularly see smaller indie games (presumably accidentally) violating this patent. Konami owns a similar patent.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. If you see a loading screen with a game, you know what this patent covers.


Method and System for Improving Client Server Transmission Over Fading Channel With Wireless Location and Authentication Technology via Electromagnetic Radiation

Is it easy to accidentally violate this patent? This patent sounds weird, but it’s very broad. Currently, Groupon is being sued for violating this patent. As far as I can tell, they’re mainly being sued because they use location data to show offers to users.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? Honestly, I’m not sure. The patent’s text barely seems coherent at all.


Game Display Method, Moving Direction Indicating Method, Game Apparatus and Drive Simulating Apparatus

Is it easy to accidentally violate this patent? This is a patent for showing an arrow in a game, pointing to where the player should go. Many games violate this.

Does this patent publish any major invention that you couldn’t see from merely looking at an implementation? No. Once you’ve played one of these games, you know how it works.


And just in case this wasn’t enough, here are some more patents. I don’t think it’s necessary to even talk about them. It’s obvious that it’s hard (and in some cases impossible) to avoid violating them.

Patent #5446889: Computer-Based Methods for Determining the Head of a Linked List

Patent #5892828: User Presence Verification With Single Password Across Applications

Patent #6360326: Password Delay

Patent #6883006: Additions on Circular Singly Linked Lists

Patent #5155806: Method and Apparatus for Displaying Context Sensitive Help Information on a Display

Patent #6671690: Deletions on Circular Singly Linked Lists

Patent #5883625: Arrangement System for Object Placement on Windows

If you’re a developer, you’ll know that all of these patents cover things developers do all the time.

In fact, I would assume that the websites Nilay writes for actually violate many of the patents listed above. Even if they don’t violate any of the social network/internet publishing/blog patents, they use linked lists somewhere.

Three arguments against this post occur to me, so I’ll just respond to them preventively.

«But these are all patent trolls! What about legitimate companies?»

Some of these patents are owned by Namco, Konami, Oracle, and other legitimate companies.

«Won’t these patents run out, and soon we won’t have to bother with them anymore?»

No. It’s easy to come up with new, similar ideas to patent. In fact, some of these patents have just been filed in the last few years, and some haven’t even been granted yet.

«You said there were hundres! These aren’t hundreds!»

True. It took me a few hours to compile this list; I could expand it, but unfortunately, I can’t spend a week reading patents in order to come up with hundreds of them (an I'm uncomfortable with doing patent research, for reasons mentioned above). Keep in mind that every year, over 15,000 new software patents are granted, many of which are similar to the ones listed above.

For example, while I only listed one Lodsys patent, Intellectual Ventures alone owns over 30,000 patents, many of which are just as broadly applicable as the Lodsys one.