Monday, March 09, 2009

Open source, file systems and patents

Do you ever wonder how things work? Here at TechnoLlama we spend an obscene amount of time wondering precisely how applications and gadgets work. How does a media server allow me to watch downloaded TV shows in my PS3? How are long files negotiated between a Mac and a PC? Which file protocols are required to make Linux and Windows systems talk to one another? The answer to some of these essential yet often neglected questions is one of standards. If every device in the world operated its own file system, then things would not be able to communicate with one another. Mac, Linux and PC formats would each exist in their own little worlds and the technology world would be a little bit more difficult than what it is. Thankfully, file systems can talk to one another, allowing us to execute files across platforms, so the ext* system in Linux can access information in Windows FAT drive.

This seems straightforward enough, but the issue is that some file systems are protected by patents, specifically, Windows File Allocation Table (for example, this 1989 U.S. patent). Traditionally, interaction with devices has been permitted through cross-licensing agreements between the major file system providers, which has allowed some of these patents to go unchallenged. This has been for everyone's benefit, as a world where different file systems could not talk to one another would be problematic to say the least. However, the delicate balance has finally been broken as Microsoft has sued car-navigation maker TomTom for infringement of their file system patents.

Some background information is required. Gadgets and electronic devices that have some form of graphical user interface require an operating system to run on. Media players, digital cameras, mobile phones, GPS systems, PDAs, all of them have built-in and often bespoke operating systems. The Linux kernel is very popular with gadget manufacturers because it offers a stable, scalable, modifiable and cheap option for manufacturers. In order for these devices to talk to Windows, they have to implement some form of compatibility with Microsoft's FAT, which would require a licence. These are commonly handled in the industry through cross-licensing, Microsoft allows the manufacturer to use FAT if they in turn licence them with some of their own claims. Cross-licensing is widely practised, and allows the industry to operate without having to go to the courts at the drop of a hat. However, the Linux kernel is licensed through the GPL v2, which imposes an obligation on developers using modified code to allow the user to "copy, distribute or modify the Program subject to these terms and conditions." Furthermore, the GPL makes it clear that even if a developer is subject to patent infringement restrictions through litigation or an agreement, then they must stop distribution of the modified code. Section 7 reads:

"If, as a consequence of a court judgement or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program."
This is clear as day. If anyone develops a program using the Linux kernel code and embeds it to a gadget, then they must make that code available without restrictions. What has come to light is that Microsoft has entered into secret cross-licensing agreements with various manufacturers who use the Linux kernel that amount to breach of the condition set in section 7 of the GPL. TomTom refused to sign such an agreement, so they got sued.

This could very well be the opening shot in the much awaited software patent war between Microsoft and FOSS developers. If the allegations are true, then the Free Software Foundation may not have any other option but to start suing people for breach of the GPL. The question is, who will be sued first?

*opens popcorn and sits watching avidly the ensuing Armageddon*

1 comment:

hook said...

Fun times! :]

Man, I *really* have to finish my law degree ASAP not to miss all the fun :P