Trimming the FAT: Linux and Patents

The TomTom case exposed a long-simmering problem resulting from the combination of patents, proprietary software companies and open source. Andrew Tridgell recently patched Linux's VFAT implementation, but the cult of silence that surrounds intellectual property will bedevil open source projects for some time to come.

GNU/Linux. It’s free (libre) software that we all love to use. We love it because it works, because it’s open source and because it encompasses ideologies that many of us support and believe in. But what happens when these ideologies clash with the wider world? Free and open source software has very unique goals. Rather than developing an idea and locking users into that technology, it competes on the quality of the product and support services which go with it. This revolutionary paradigm is tearing down the model that has dominated the computing industry for the last number of decades.

Since its genesis in 1991, the Linux kernel has slowly been taking up market share. It is especially popular in the server market and powers much of the Internet that we know today. Of the world’s top 500 supercomputers, 439 of them run Linux, that’s a market share of 87.80%. Local and federal governments, entire education sectors and even law enforcement agencies are switching to Linux and open source technology. It doesn’t stop there, however. These days, more and more embedded devices are shipping with Linux, from routers and wireless devices, to televisions and phones. Linux is certainly making it big in these markets with many manufacturers switching to the platform. One such company that has made Linux an integral part of its product line up is TomTom, Dutch maker of personal navigation devices.

So how are companies built on proprietary development models competing against it? Linux itself is not a company, so it can’t be bought and the technology destroyed. It’s open source, so the code will never die. Companies like Microsoft have realized that they cannot compete against free and open source software, so they are trying to control it. They are doing this by using software patents and threatening companies which they can then influence.

The Silent War

Microsoft certainly knows how powerful the use of patents can be to stifle technological advancement and control markets. In 1991 Bill Gates wrote: “If people had understood how patents would be granted when most of today’s ideas were invented, and had taken out patents, the industry would be at a complete standstill today.” It’s this realisation that Microsoft has taken on board to control the market and destroy their opposition.

A major component of the problem is that there are hundreds of thousands of patents and it’s almost impossible to ensure software is not violating any of them. This has been perpetuated further by all players building up a larger portfolio of patents to either counter sue or to use as bargaining chips. It’s an arms race that leaves the small players out in the cold.

Due to this uncertainty, free software developers may not feel safe without the backing of a major corporation. As it’s impossible to be aware of all patent violations, companies that use free software might be opening themselves up to the threat of legal action. At least, this is the angle that companies like Microsoft are using to stifle the adoption of free software.

The message to companies is that using free software is not safe because it might be violating various patents, which would then expose them to legal action. In short, your company is at risk if you use free software. This is something that free software is trying to fight, but which is difficult to do as the patent infringements are not readily known.

Solving for Very Large Values of n

Andrew Tridgell, one of the world’s most highly respected software developers, author of Samba and co-developer of the rsync protocol, wrote: “The problem is that the number of patents we have to analyze is unbounded. We have generally found it isn’t too much of a problem to avoid infringement of patents that we know about, but what about patents that we don’t know about?” Authors and users of free software should be protected to ensure that they are not going to be sued by companies over patent infringements. This can only happen if we know where the infringements are and then find a way not to infringe upon them.

Microsoft has long been claiming that there are hundreds of patent infringements in the Linux kernel, but has never come to the party to tell the free software world what they are. The reason Microsoft does this is because they feel that it keeps the balance of power in their hands and enables them to use the threat of patents to fight the adoption of Linux.

The truth of the matter is that if the patent issues were made known, the free software world would work around them, solving the problem. Unfortunately this is a problem Microsoft wants to have and so to maintain leverage they aren’t publicly disclosing their claims. Microsoft has been approaching companies to pay royalties over patents, and forcing them to sign non-disclosure agreements so as to not release the details of the deals. But this backfired in late 2008 when TomTom refused to accept the terms Microsoft was presenting and the patents were then thrust into the public spotlight.

TomTom is one of the only major GPS manufacturers who does not use the Microsoft stack in their products, which is a threat to Microsoft and their business model. TomTom uses the Linux kernel’s implementation of the VFAT file system in its devices and when the company refused to meet Microsoft’s demands for royalty payments, Microsoft in turn filed a patent infringement action against them in February 2009. Among the eight patent violations filed, two were in relation to the VFAT file system regarding Microsoft’s Joliet extensions for long filenames, namely patents 5,579,517 and 5,758,352.

Microsoft only started licensing VFAT as recently as 2003, even though patents were originally filed in 1995. This is part of the reason many are unsure that the patent claims would stand up in court. Indeed, patent 5,758,352 had already been rejected by the Federal Patent Court of Germany in 2006.

Patching VFAT

Whether certain patents are valid or not, they are a fact of today’s software development environment and they do affect free and open source software. In his book, The Cathedral and the Bazaar, Eric S. Raymond coined “Linus’s Law”, which states that: “Given enough eyeballs, all bugs are shallow.” The idea is that with enough developers looking into problems, all issues are solved more easily as the fix will be obvious to at least one. The law might need to be refined to also include other technological barriers, as this is exactly what we have seen with the VFAT patent issue. Andrew Tridgell recently submitted a patch to the Linux kernel which bypasses the VFAT patent issue in question.

The fix addresses the core of the long filename issue, creating files on a VFAT partition with names longer than the 8.3 standard, that is; eight characters for the filename and three for the extension. In hindsight the fix is very simple; just don’t allow the creation of filenames with more characters than the 8.3 standard permits. The patch still allows the system to read pre-existing longname files and supports case sensitivity. By default however, new files are created in the 8.3 standard, all in uppercase.

This allows maximum functionality in areas outside of the patent, so that users can still read any existing data they have in the VFAT format but protects against violation of the patent when creating new files. It might look simple in hindsight, but it’s very clever indeed. The patch adds the option to turn this feature on or off when building a Linux kernel. What this means is that any company who uses VFAT can simply include this option and bypass the patent, thereby removing any threat of being sued over it.

So how easy is it to do? Simple. Firstly, the patch has been accepted into the yet-to-be-released mainstream Linux 2.6.30 kernel, so it will soon be included by default for all distributions to ship. But the patch is available now and anyone wanting to take advantage of it can apply it themselves, build their own kernel and presto, problem solved! Companies which ship Linux based devices can apply the patch to their current kernel and then distribute it via software updates. As more patent issues come to light and are resolved, these too can easily be applied and distributed.

Wakeup Call

This patch is really an eye opener into the world of open source software and patents. Yes, there are probably many patents which affect free software, but there are also lots of very smart people waiting in the wings to work around them. What’s the missing piece of the puzzle? Knowing what they are. If we knew all the other patents which Microsoft claims are violated in the Linux kernel, it would not be long before the Linux kernel wouldn’t violate any at all.

Microsoft wants to collect royalties over patents, whether it is from proprietary or open source software manufacturers. In an interview with Chicago Sun-Times Friday, Microsoft CEO Steve Ballmer said: “Our goal is to try to educate people on what it means to protect intellectual property and pay for it properly.” If Microsoft lets the cat out of the bag, it’s game over for them. And they know it. Thanks to the patch from Tridge, Microsoft may not be able to collect royalties from other companies who also use VFAT with the Linux kernel.

Microsoft wants the world to believe that there are major patent issues in the Linux kernel, without telling what they are. By doing this they are trying to create a cloud of uncertainty around the use of free software and as a result are hoping to deter companies from taking up the technology over their own. By moving any patent issues into the public spotlight however, those in the free software world can help break down the cloud of fear, uncertainty and doubt that Microsoft is spreading. The future problem will be, are companies willing to fight back and make details of the patent claims public?

Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62