
The man was in the city to give a speech on "The dangers of Software Patents" at the CLT, IIT Chennai. Having got special permission from my boss and in the company of a colleague arrived at around 2.30pm to get a seat. The auditorium was fully crammed when Richard Stallman walked in late and just as you expected him to be, in jeans, red t-shirt with a backpack on. Before anybody could give the introductory speech or start with the formalities he took the podium and went straight to the topic at hand.
He started by explaining the differences between a patent, trademark, copyright and quote Intellectual Property unquote (hey!, thats how he mentioned it every time he had to use the term...). Having laid the foundation he moved on to the actual dangers of software patenting. According to him software does not lend itself to patenting as well as it does for other industries because all software is simply a representation of abstract/mathematical ideas. Each software does not have a single idea but has thousands/millions of ideas (some of them are not considered ideas anymore because they've become structured like the if-else, while, for loop etc.), and ideas can be patented. And because software consists of abstract/mathematical ideas they can be grouped as using a different set of ideas by different people. Added to this is the convoluted legal language in which it is all written. So it is a nearly impossible thing to write software which does not have a single patented idea in it which can only happen if you have a totally new idea which is extremely rare. Most ideas are enhancements of existing ideas(like we have bubble sort, heap sort, quick sort,...if one was enough why the other?) even then that single idea cannot make a complete software it needs other ideas for other things it must do to appeal to a customer. So, the task of tracking down all the patent infringes of a particular software is massively time consuming and useless to be bothered about by a programmer. Infact, the penalty for infringing a patent without prior knowledge is lesser so its more feasible that way ;).
He decried the moral ideal behind software patents is to protect the small entrepreneur from being forced out of business by a big company because he has a patent on his software that cannot be violated by the larger company. What happens infact is that the big company has numerous other patents which cover parts of the software developed by the entrepreneur that he is forced to cross licence.
Another concern about software patents is that the party holding the patent may not issue a license thus effectively preventing the use of an idea (which would be called restrictive trade practices otherwise if not for patents). An interesting anecdote Richard Stallman shared was about a Paul Heckle. Another interesting tidbit was from IBM about the benefits of software patents for IBM from them
1. The license fees
2. The litigation and payments avoided by cross-licensing (which is a better benefit than the first one)
On the whole the speech was a blast !!