[ILUG-BOM] Software Patents in India

jtd jtd at mtnl.net.in
Tue Aug 5 00:28:53 IST 2008


On Tuesday 05 Aug 2008 11:27, Saurabh Nanda wrote:
> JTD, thanks for taking out some time to write that mail, but I'm
> afraid to say that I couldn't understand a word of the following
> paragraph (which I is the crux of your argument). Could you please
> try explaining it with a different approach?
>
Err i am trying...to describe the blurring of lines between physical 
devices and software and the dangers of creating laws based on 
present perceptions.

> Consider a VHDL file that describes a PCI /AGP/USB/other device.

VHDL is a Hardware Descriptive Language very similar to ANSI C. 
http://en.wikipedia.org/wiki/VHDL
http://en.wikipedia.org/wiki/Hardware_description_language

HDLs are used to describe and model hardware systems. The code is just 
like any other code. Running the code thru a compiler - logic 
synthesiser - produces a circuit diagram and a fusemap. You can use 
the circuit diagram and build hardware that will work just like you 
described in the HDL code. Or you can use the fuse map to blow / 
reconfigure an FPGA to create the circuit or send it to a fabhouse to 
create a custom ASIC.

(the above para is a gross simplification but suits us for now)

One can easily patent the resultant ASIC. So by extending the logic 
backward one can patent the Parent HDL code. However while patenting 
the ASIC one is patenting one single specific implementation of the 
circuit. If the HDL code were patented, One could reduce any code 
(even highily disimilar code which produces very different physical 
hardware, but capable of producing identical end results) to show 
that it is similiar to the patented code.
Modern ASICs allow creation of FPGA + ASIC + Microprocessor + RAM 
blocks in a device. Add a driver which programs the FPGA and 
downloads an API so that it's functionality is exposed for use. Now 
patent the whole lot by extending the HDL-patent case a little more. 
It is after all a sort of software tied to specific machine limited 
hardware  which makes a useless piece of silicon do something unique.  
Examples of such hardware in widespread use was in the previous mail. 

From this point it is very easy to get rid of the hardware requirement 
completely and patent the HDL code ( description of specific 
hardware) + driver (software with machine limitation which downloads 
microcode for execution there bundled with application (more software 
with machine limitation). If you wanted to seperate this blob into 
HDL, microcode and application you would most likely be contaminated.
Now just build your PC with gizmos in the previous mail examples and  
you have a completely un reverse engineerable combo of what? - non 
generic hardware?, software?, driver?. Since the API now exists 
within the patented blob reverse engineering will screw you up, 
unless you have an army of lawyers.

In short "specific hardware" is extremely generic until the software 
gets in whence it morphs into  "special adoption or modification of 
its hardware or organization ". 

In the above i have restricted myself to silicon. But the same could 
apply to full machines - robots -. What a robot does is totally 
dependent on the software. You could make it do flips or eye surgery.

What you should aim at is complete ban on patents for any software / 
process / method irrespective of it being tied to specific hardware, 
including the results of code being morphed into machine readable 
binaries, either for execution on, or modification of internal 
elements in FPGA / ASIC / General or special purpose machines, 
irrespective of it's method of storage or accessseaability

There are similiar parallels in the bioinformatics and pharma 
industry. Essentially it's capitalism gone beserk with patents being 
used to continue obsolete business practices. But that is another 
story.

-- 
Rgds
JTD



More information about the Linuxers mailing list