May 192007
 

Microsoft has recently claimed that open source software breaches exactly 235 software patents. Apparently open source developers “burn down the patents system”. Well my response to that is “well done open source developers”. Software patents are the biggest scam out there … bigger by far that all those scams we receive in our inbox every day. I quite happily say that companies trading on their portfolio of software patents are amongst the slimiest examples of capitalism and that even Microsoft were not that bad. Of course now they seem determined to join them.

A bit of tedious history … patents were first introduced as a mechanism to protect individual inventors from being ripped off by large companies. The 19th century is full of examples of individual inventors being ripped off by large companies. So patents for “hardware” inventions are not necessarily bad things.

Software is somewhat different. Software developers utilise software libraries written by others without inspecting the libraries for ‘patent violations’. When writing new code, they will come up with solutions to problems without realising that the solution they come up with has been used before. For instance one of the many algorithms for sorting is the insertion sort; it is not the most efficient sort, but is efficient enough (and probably more importantly is a stable algorithm) and is so simple that it has probably been re-invented many times. Certainly I thought of it back when I wrote a database engine for the BBC micro. There are many examples of software patents that are this simple.

For example, Microsoft holds a patent on a mechanism for navigating a web page in a graphical browser using the keyboard which requires that the ‘current link’ is highlighted in some way. Not only is there an example of a web browser using this mechanism before Microsoft’s patent (Lynx … a text browser that does exactly what is described in Microsoft’s patent), but it is a mechanism that is so obvious that it has been invented many times independently. Text editors on text terminals in the 1970s (and earlier!) used some sort of highlighting to indicate the current ‘active point’ on the screen and many of these editors were developed independently. So Microsoft’s patent here is a development of prior art (the only new thing is the graphical interface), and the basic concept of pointing where the ‘active point’ is, is one of those things that is obvious.

Back to Microsoft’s claim that open-source software is in breach of its patents … what exactly are these patents ? Well Microsoft doesn’t appear to be letting anyone know, which is kind of underhand as it stops open source developers from attempting to remove the problematic code. Linux Torvalds also points out that Microsoft hasn’t released their own source code to see how many patents they might be in breach of. Who knows ? Perhaps Microsoft has taken open source code and then patented concepts developed by open source developers … certainly it is known that Microsoft’s TCP/IP software is based on the BSD TCP/IP network software. Linux also points out that Microsoft has probably used many technologies developed by IBM such as demand paging and the like.

Most sensible people seem to believe that Microsoft’s tactic here is to spread FUD over the use of open source software to encourage people to use their own software. Perhaps they should spend more time on making their software better rather than indulge in dubious legal practices.