I think one of the best pieces of evidence that patents are harmful to the software industry is the way that software companies’ behavior changes when they’re facing bankruptcy. A couple of weeks ago I discussed Transmeta’s transformation from an innovative technology company into a patent troll. Back in June, I covered Creative’s lawsuit against Apple after losing in the marketplace. This week we’ll consider SGI, another company with a proud history that has sadly descended into trolldom.
If a software patent were an ordinary productive asset like a plot of land or a truck, SGI’s behavior would make no sense. If somebody were squatting on SGI’s land, they would evict him immediately, they wouldn’t wait until they were facing bankruptcy before defending their property rights. Likewise, Disney or Merck wouldn’t tolerate another company using its movie copyrights or pharmaceutical patents without permission. Yet here we have SGI suddenly interested in suing over Patent #6,650,327, granted three years ago. Why didn’t SGI file this lawsuit back in 2003?
The most likely explanation, it seems to me, is that in 2003, SGI still had aspirations of being a legitimate technology company. Because they still had shipping products, they knew that a patent battle would end up being a loser for both parties. Every big company has products that infringe on at least one of every other big company’s patents, and so the other company would just file a counter-suit, and the only winners would be the lawyers.
But now SGI has hardly any customers left, and is teetering on the brink of bankruptcy. They have few legal vulnerabilities (since they have almost no products left) and very little to lose financially. So suddenly suing everyone who might have infringed their patents starts to look like a good idea.
Let’s take a quick look at SGI’s patent. It covers a “display system having floating point rasterization and floating point framebuffering.”
To unpack this a little bit, computers often represent images with a 2-dimensional array of pixels called a bitmap. This is the format required to display graphics on display devices such as computer screens. Rasterization is the process of “painting” an abstract shape (like a triangle or circle) into a bitmap. The frame buffer is the area of memory where a computer stores a digital representation of the contents of your computer screen. Both of these techniques have been widely used in computer graphics for decades.
A floating point number is a way of storing numeric data in scientific notation. It might store the 10 most significant digits of a number plus a 3-digit exponent. It has been a standard data type in programming languages like C and FORTRAN for decades.
The “invention,” then, is the idea of combining the two. It would have been perfectly obvious to a graphics engineer in 1998 that one could use floating point numbers to perform graphics operations. In practice, it was probably fairly rare at the time, because integer representations tend to be more compact, and would have conserved the limited graphics memory in early video cards. But the concept certainly would have struck most engineers at the time as obvious.
Of course, it has become increasingly economical to use floating-point values in graphics cards, and so companies like ATI have increasingly been doing so. But that’s an inevitable consequence of the advance of the semiconductor industry, it had nothing to do with SGI “inventing” the concept. Granting SGI this patent did absolutely nothing to promote the progress of science and the useful arts. But it helps keep the patent lawyers fed.