software patents, submarines and linear algebra

By anders pearson 19 Jul 2002

probably by now, many of you have heard that Forgent Networks is claiming a patent on some of the compression techniques used in the JPEG image format and actively trying to get licensing fees from anyone who uses jpeg compression in their software. the patent was filed 16 years ago and they’ve waited until now to assert their ownership. of course now jpegs are so widely used that there’s no way the technology can really be eliminated or replaced without causing a lot of harm. so any companies that distribute software that handles jpegs are stuck either paying licensing fees or getting sued. open source developers are, of course, even more screwed. when Unisys pulled a similar stunt with a patent on the LZW compression used in gifs a few years ago, there were similar problems. many powerful open source image libraries such as perl’s GD library had to remove support for gifs.

<p>obviously, i&#8217;m not very happy about this whole situation. i wrote the following post on the <a href="http://www.webdesign-l.com/">webdesign-l</a> list:</p>

<p><blockquote></p>

<p>i&#8217;d really love to see someone with high paid lawyers attack the<br />

foundations of software patents. patent law specifically forbids<br /> patenting mathematical processes and techniques. companies are somehow<br /> getting away with patenting computer algorithms. anyone who&#8217;s studied<br /> computer science and is familiar with things like the lambda calculus<br /> knows that any computer algorithm can be represented as a mathematical<br /> process.</p>

<p>in my <em>introductory</em> linear algebra class, we went over a basic lossy<br />

compression algorithm similar to what jpeg uses. the idea is that an<br /> N x M matrix can be decomposed into two smaller matrices (eg, an N x 1<br /> and a 1 x M matrix) that, when multiplied together produce<br /> approximately the original matrix. if your original matrix is actually<br /> a bitmap where each element in the matrix represents a pixel, what you<br /> end up with is basic jpeg compression. for a small image (say 10<br /> pixels by 10 pixels), you can do the whole process by hand on a<br /> blackboard. the compression technique that the patent covers is a<br /> little more complex than that but is still essentially <strong>math</strong> which<br /> you shouldn&#8217;t be able to patent.</p>

<p>i&#8217;m not holding my breath for anyone to actually put this argument<br />

forth in court though. any of the companies with enough money to<br /> challenge the foundations of software patents realizes that they<br /> benefit too greatly from them. microsoft, <span class=”caps”>IBM</span>, lucent, etc. all<br /> maintain huge portfolios of software patents, many over really trivial<br /> algorithms. between them they just make agreements: you can use my<br /> patents in your products if i can use your patents in my products. but<br /> they have patents on enough basic algorithms that they can effectively<br /> lock out any smaller competitors that they want to (or use the threat<br /> of patent lawsuits as leverage for takeover bids, etc).</p>

<p>software patents are the single greatest threat to open source<br />

software development. particularly the stupid, simple patents and the<br /> patents like this one that pop up 16 years after the fact when the<br /> algorithms are already in too widespread use to replace.</p>

<p></blockquote></p>

<p><a href="http://www.meyerweb.com/eric/">eric meyer</a> then gave me a little hope by replying with link to a story about how<br />
these kinds of &#8220;submarine&#8221; patents may be made illegal
<p>in general though, i expect this same kind of situation to happen over and over again, causing serious harm to the advancement of computer science and software development for as long as software patents are legal.</p> 

Tags: patents ip submarine jpeg