Armaggedon
Posted May 17, 2007 9:05 UTC (Thu) by
lysse (guest, #3190)
In reply to:
Armaggedon by marduk
Parent article:
Microsoft takes on the free world (CNN)
Actually, that was specifically not supposed to be the case*. Patents were designed to cover implementations - an idea simply could not be patented, only a machine which implemented that idea. A patenter could only patent his particular implementation of a mousetrap; he could never patent the simple idea of a device for trapping mice, nor only a fragment of a device - and that would remain true regardless of whether or not anyone had thought of a device for catching mice before. Likewise, what would be judged infringing is the reuse of that implementation in any context (not just the rodent-trapping domain), not the use of a different design of device to accomplish the same end.
The rot set in when it was successfully argued that a general purpose machine plus a set of parameters (a program) could be a special purpose machine, and thus patentable; somehow over the years, the combination part has been forgotten, and the parameters themselves became patentable - and by extension, the high-level description of an algorithm which is converted into those parameters became patentable too. And therein lies the flaw* - source code cannot be directly executed, and is therefore not "a set of parameters" for a general purpose machine in any meaningful sense. It only becomes one when converted to a directly-executable binary representation. The "machine" in question is "cited computer + binary" (or, at a stretch, "computer + interpreter + script"); substitute a different computer and you need a completely different set of configuration parameters - ie. you've created a completely different machine. By allowing a system of rules that can be converted in a vast number of ways into a set of parameters, patents on software have become extended to cover precisely the "device for catching mice" idea that remains verboten in patents on physical devices.
What would it mean were patents restricted to a particular combination of hardware and object code? Well* - for one thing, source code is restored to "description of algorithm" status, which is generally a Good Thing! For another, it would mean that a separate patent would have to be obtained for each implementation on every kind of processor architecture, virtual machine, interpreter... which would render it trivially circumventable (in the worst case, just write a new VM and publish the two parts separately) and not impede progress in the art in the way that patents do today. And finally, since the particular implementation of object code is by and large determined by the particular implementation of a compiler, it's possible that simply recompiling source code with a different C compiler would be sufficient to be judged non-infringing - but that would almost certainly have to be legally ruled on.
* IANAL, this isn't legal advice, "To Serve Man" is a cookbook. In particular, I would love to hear from some real lawyers about whether this approach might be worth pursuing, whether it's already been shot down, etc.
(
Log in to post comments)