Ones and Zeros Do the Darnedest Things

by on February 22, 2007 · 50 comments

Philips, one of the amici in Microsoft v. AT&T, demonstrates some of the same conceptual confusions as Seth Waxman did in oral arguments:

[Not] every computer program is a component of a patented invention. But a program that has the same technical effect as an electronic hardware component surely is. In particular, there are two factors that illustrate that executable software or firmware code is in fact a component of a patented invention.

First, executable code is distributed in its final form such that it cannot be changed. The software developer designs the software in the form of source code, and then fixes it in an executable form by compiling it. The act of compiling manufactures the executable code. In order to modify the executable code, it must be decompiled, modified, then recompiled–a process similar to using a sample to manufacture new copies of a gear. Although the software developer may allow the installer to customize certain parameters, the installer is not allowed to modify the executable code. For example, Microsoft requires original equipment manufacturers (“OEMs”) to attach a Certificate of Authenticity to each fully assembled computer system. This
certificate assures customers that they have acquired “genuine Microsoft Windows software.”

Whatever contractual requirements Microsoft may place on its distributors, it seems exceedingly unwise to base any sort of Supreme Court precedent on the notion that “executable code is distributed in its final form such that it cannot be changed.” As I alluded to in my previous post, some software is distributed as source code, and presumably we don’t want to make patent liability contingent on the details of how software is encoded. Moreover, although it’s certainly true that the most convenient way to change object code is to decompile it first, but it’s entirely possible (albeit extremely tedious) for someone to learn to read object code and modify it directly.

Philips continues:

It is incorrect for Microsoft and its amici to continually refer to software code as mere “design information,” similar to a mold, blueprint, or specification. The executable code of Windows, for example, is not just an abstract idea or design information, it is functioning software that actually operates the computer–that is why it is called the computer’s operating system.

Strictly speaking, the software doesn’t “actually operate” anything, any more than a recipe “actually operates” a chef. The computer, not the software, is the active agent. Every computer program is, by definition, an abstract idea. Specifically, a sequences of ones and zeros. The fact that we have marvelous machines that can use the information encoded in those ones and zeros to do amazing things doesn’t change the fact that it’s the machine, not the ones and zeros, that is acting.

  • Christopher Anderson

    Professor Thomas Nicely discovered the Intel Pentium FDIV bug in the 90s by using his design information, which was compiled executable code, to calculate prime numbers. The design information was right, but the cook in the kitchen (Pentium processor) messed up the execution and produced bad results.

  • Christopher Anderson

    Professor Thomas Nicely discovered the Intel Pentium FDIV bug in the 90s by using his design information, which was compiled executable code, to calculate prime numbers. The design information was right, but the cook in the kitchen (Pentium processor) messed up the execution and produced bad results.

  • http://bennett.com/blog Richard Bennett

    Tim, you’ve put your foot in your mouth again. This amazing remark of yours screams ignorance: Strictly speaking, the software doesn’t “actually operate” anything, any more than a recipe “actually operates” a chef.

    You couldn’t be more wrong. The operating system operates the hardware, including the CPU, the page tables that connect physical memory to to the CPU, the clocks that enable the CPU to schedule programs, and the hardware that does all the I/O. An operating system is tightly bound to a CPU and a whole raft of supporting hardware devices, and is not so abstract that it will run on any CPU and any set of I/O devices. And while an OS is inert without its hardware, the hardware is also inert without its OS. They’re two parts of a system.

    And if you understood how modern hardware devices are actually constructed, you’d know how absurd it is to try and draw a bright line between hardware and software. CPU’s have embedded code, called “microcode” inside them that enable them to execute the machine instructions in compiled code. And the logic in I/O devices is written in another highlevel language, such as Verilog or SystemC and the compiled into another lower-level logic system.

    And in any case, the “abstract idea” isn’t the ones and zeros, it’s the thing represented in a high level language that’s compiled into ones and zeros. Hardware is logic, and logic is ones and zeros and various operations on them.

    Your understanding of computers is by analogy only, and every time you try and take this hard line on software you blow it.

    I dare say you’ve never in your life read any binary machine code and modified it. If you had, you’d know that the process is always to disassemble it into machine instructions (at the very least) and variables, and to go from there. You don’t go “um, here’s a 0x1A, I wonder what happens if I increment that?” You so “OK, 0x1A is a “load register” instruction, so the next word is a address of memory operand, and I’ll go look at that.”

    You’re the one with the conceptual confusions here, not the Philips people.

  • http://bennett.com/blog Richard Bennett

    Tim, you’ve put your foot in your mouth again. This amazing remark of yours screams ignorance: Strictly speaking, the software doesn’t “actually operate” anything, any more than a recipe “actually operates” a chef.

    You couldn’t be more wrong. The operating system operates the hardware, including the CPU, the page tables that connect physical memory to to the CPU, the clocks that enable the CPU to schedule programs, and the hardware that does all the I/O. An operating system is tightly bound to a CPU and a whole raft of supporting hardware devices, and is not so abstract that it will run on any CPU and any set of I/O devices. And while an OS is inert without its hardware, the hardware is also inert without its OS. They’re two parts of a system.

    And if you understood how modern hardware devices are actually constructed, you’d know how absurd it is to try and draw a bright line between hardware and software. CPU’s have embedded code, called “microcode” inside them that enable them to execute the machine instructions in compiled code. And the logic in I/O devices is written in another highlevel language, such as Verilog or SystemC and the compiled into another lower-level logic system.

    And in any case, the “abstract idea” isn’t the ones and zeros, it’s the thing represented in a high level language that’s compiled into ones and zeros. Hardware is logic, and logic is ones and zeros and various operations on them.

    Your understanding of computers is by analogy only, and every time you try and take this hard line on software you blow it.

    I dare say you’ve never in your life read any binary machine code and modified it. If you had, you’d know that the process is always to disassemble it into machine instructions (at the very least) and variables, and to go from there. You don’t go “um, here’s a 0x1A, I wonder what happens if I increment that?” You so “OK, 0x1A is a “load register” instruction, so the next word is a address of memory operand, and I’ll go look at that.”

    You’re the one with the conceptual confusions here, not the Philips people.

  • http://www.techliberation.com/ Tim Lee

    Richard, none of those things are new to me, and none of them contradicts what I said.

    Obviously, the software includes instructions that tell the various components of the computer how to interact with one another. And yes, a computer can’t “operate” without software telling it how to do so. But that doesn’t change the fact that, literally speaking, the hardware, not the software, is the active agent. A chef is equally useless without a recipe (either one that’s written down or one that’s memorized) but we wouldn’t say the recipe operates the chef.

    If you understood how modern hardware devices are actually constructed, you’d know how absurd it is to try and draw a bright line between hardware and software.

    How’s this for a bright line: software is anything that can be transmitted as a string of ones and zeros. Hardware is anything that can’t be.

    And in any case, the “abstract idea” isn’t the ones and zeros, it’s the thing represented in a high level language that’s compiled into ones and zeros. Hardware is logic, and logic is ones and zeros and various operations on them.

    Richard, I’m sorry, but you’re the one who’s confused. Both the high-level program and the ones and zeros of the machine code are abstract ideas. We can get into a debate about whether one is “more abstract” than the others, but the dictionary defines “abstract” as “disassociated from any specific instance.” So the ones and zeros are abstract, while a particular copy of the software–embedded in a hard drive, a CD-ROM, RAM, etc–is concrete.

    Hardware is not logic. It is a physical thing that sometimes instantiates logic. The logic itself is an abstract idea. So (to get back to the Supreme Court case we were talking about) sending a electronic copy of a schematic for a logic board (abstract) would not constitute “supplying a component” while sending an actual, manufactured logic board would.

    I dare say you’ve never in your life read any binary machine code and modified it. If you had, you’d know that the process is always to disassemble it into machine instructions (at the very least) and variables, and to go from there. You don’t go “um, here’s a 0x1A, I wonder what happens if I increment that?” You so “OK, 0x1A is a “load register” instruction, so the next word is a address of memory operand, and I’ll go look at that.”

    Again, I don’t know how this contradicts what I wrote. I said “it’s entirely possible (albeit extremely tedious) for someone to learn to read object code and modify it directly.” I didn’t say that anyone would actually do that–that’s why I included the “albeit extremely tedious–just that it would be possible to do so if someone were so inclined. And therefore, it would be silly for the Supreme Court to make law that rests on something as fuzzy as the distinction between “abstract” source code and “concrete” object code.

    I notice you didn’t mention my argument about that. Do you agree with Waxman that computers can’t understand source code? Do you think the source/object code distinction is a good basis for drawing the line between abstract and concrete?

  • http://www.techliberation.com/ Tim Lee

    Richard, none of those things are new to me, and none of them contradicts what I said.

    Obviously, the software includes instructions that tell the various components of the computer how to interact with one another. And yes, a computer can’t “operate” without software telling it how to do so. But that doesn’t change the fact that, literally speaking, the hardware, not the software, is the active agent. A chef is equally useless without a recipe (either one that’s written down or one that’s memorized) but we wouldn’t say the recipe operates the chef.

    If you understood how modern hardware devices are actually constructed, you’d know how absurd it is to try and draw a bright line between hardware and software.

    How’s this for a bright line: software is anything that can be transmitted as a string of ones and zeros. Hardware is anything that can’t be.

    And in any case, the “abstract idea” isn’t the ones and zeros, it’s the thing represented in a high level language that’s compiled into ones and zeros. Hardware is logic, and logic is ones and zeros and various operations on them.

    Richard, I’m sorry, but you’re the one who’s confused. Both the high-level program and the ones and zeros of the machine code are abstract ideas. We can get into a debate about whether one is “more abstract” than the others, but the dictionary defines “abstract” as “disassociated from any specific instance.” So the ones and zeros are abstract, while a particular copy of the software–embedded in a hard drive, a CD-ROM, RAM, etc–is concrete.

    Hardware is not logic. It is a physical thing that sometimes instantiates logic. The logic itself is an abstract idea. So (to get back to the Supreme Court case we were talking about) sending a electronic copy of a schematic for a logic board (abstract) would not constitute “supplying a component” while sending an actual, manufactured logic board would.

    I dare say you’ve never in your life read any binary machine code and modified it. If you had, you’d know that the process is always to disassemble it into machine instructions (at the very least) and variables, and to go from there. You don’t go “um, here’s a 0x1A, I wonder what happens if I increment that?” You so “OK, 0x1A is a “load register” instruction, so the next word is a address of memory operand, and I’ll go look at that.”

    Again, I don’t know how this contradicts what I wrote. I said “it’s entirely possible (albeit extremely tedious) for someone to learn to read object code and modify it directly.” I didn’t say that anyone would actually do that–that’s why I included the “albeit extremely tedious–just that it would be possible to do so if someone were so inclined. And therefore, it would be silly for the Supreme Court to make law that rests on something as fuzzy as the distinction between “abstract” source code and “concrete” object code.

    I notice you didn’t mention my argument about that. Do you agree with Waxman that computers can’t understand source code? Do you think the source/object code distinction is a good basis for drawing the line between abstract and concrete?

  • Terry Steichen

    I don’t know that, from a patent perspective, it’s important what is the operator and what is the “operatee.” In a conventional invention, the machine’s strategy for operation (the properties that define how it works) is inseparable from the implementation. In a computer, the strategy (code) is cleanly separated from the implementation (hardware). But I don’t think that this separation is terribly relevant because it’s the combination (code + hardware) that has to qualify (novelty, etc.). That applies whether the invention is specified (in the patent) with machine or method claims.

    Tim – I notice that whatever you say, there’s a kinda strange commentor that will always hop up and say the opposite. Nice to have such built-in traffic bumpers. He probably convinces no one but himself, but produces loud and silly enough squacks to add a little humor to the world. (And, here it comes…..)

  • Terry Steichen

    I don’t know that, from a patent perspective, it’s important what is the operator and what is the “operatee.” In a conventional invention, the machine’s strategy for operation (the properties that define how it works) is inseparable from the implementation. In a computer, the strategy (code) is cleanly separated from the implementation (hardware). But I don’t think that this separation is terribly relevant because it’s the combination (code + hardware) that has to qualify (novelty, etc.). That applies whether the invention is specified (in the patent) with machine or method claims.

    Tim – I notice that whatever you say, there’s a kinda strange commentor that will always hop up and say the opposite. Nice to have such built-in traffic bumpers. He probably convinces no one but himself, but produces loud and silly enough squacks to add a little humor to the world. (And, here it comes…..)

  • http://www.techliberation.com/ Tim Lee

    Terry,

    Thanks for commenting. I think the reason the question matters in this case is that Mr. Waxman needed to convince the court that software is more than just a “blueprint” for how the computer should operate–that it’s more than just intangible information about what the computer should do. Otherwise, he winds up on the wrong side of the distinction that Congress drew in 1984: that information about a patented invention could be sent abroad, but “components” of that invention could not be. The discussion of the software “operating” the computer is meant to give the impression that the software is more than just a list of instructions, that it’s a physical thing that’s “doing something.”

    And yes, Richard definitely adds a little humor to the world.

  • http://www.techliberation.com/ Tim Lee

    Terry,

    Thanks for commenting. I think the reason the question matters in this case is that Mr. Waxman needed to convince the court that software is more than just a “blueprint” for how the computer should operate–that it’s more than just intangible information about what the computer should do. Otherwise, he winds up on the wrong side of the distinction that Congress drew in 1984: that information about a patented invention could be sent abroad, but “components” of that invention could not be. The discussion of the software “operating” the computer is meant to give the impression that the software is more than just a list of instructions, that it’s a physical thing that’s “doing something.”

    And yes, Richard definitely adds a little humor to the world.

  • Ned Ulbricht

    My favorite part of the Philips brief came on p.8 (p.13 in PDF) where the brief quotes from Eolas Techs. Inc. v. Microsoft Corp.:

    On a functioning computer, software morphs into hardware and vice versa at the touch of a button. In other words, software converts its functioning code into hardware and vice versa.

    The implied gloss on this “morph” seems to be “PFM” (pure magic).

  • Ned Ulbricht

    My favorite part of the Philips brief came on p.8 (p.13 in PDF) where the brief quotes from Eolas Techs. Inc. v. Microsoft Corp.:

    On a functioning computer, software morphs into hardware and vice versa at the touch of a button. In other words, software converts its functioning code into hardware and vice versa.

    The implied gloss on this “morph” seems to be “PFM” (pure magic).

  • http://dsgazette.blogspot.com False Data

    I agree that treating executable code as somehow permanent is questionable from a technical (as opposed to legal) standpoint. I haven’t dug deeply into Windows recently, but both DOS and Linux modify the executable image of the software on disk as they load it, or portions of it, into RAM–they perform segment fixups, link in the necessary libraries, and so on. I believe a similar process happens as the OS loads device drivers. Also from that same technical standpoint, trying to create some clear dividing line between hardware and software seems difficult. For example, an FPGA straddles that fuzzy line: a series of ones and zeros rewires the device’s components.

    What I don’t understand, though, is how these issues fit into patent law in this case. If you have time to write it, I’d love to see a post that provides a some context, summarizing the issues in the case and how this discussion plugs into them.

  • http://dsgazette.blogspot.com False Data

    I agree that treating executable code as somehow permanent is questionable from a technical (as opposed to legal) standpoint. I haven’t dug deeply into Windows recently, but both DOS and Linux modify the executable image of the software on disk as they load it, or portions of it, into RAM–they perform segment fixups, link in the necessary libraries, and so on. I believe a similar process happens as the OS loads device drivers. Also from that same technical standpoint, trying to create some clear dividing line between hardware and software seems difficult. For example, an FPGA straddles that fuzzy line: a series of ones and zeros rewires the device’s components.

    What I don’t understand, though, is how these issues fit into patent law in this case. If you have time to write it, I’d love to see a post that provides a some context, summarizing the issues in the case and how this discussion plugs into them.

  • http://www.techliberation.com/ Tim Lee

    False Data,

    Does my Ars article clear any of this up for you? If not, I’ll see if I can write something up over the weekend.

  • http://www.techliberation.com/ Tim Lee

    False Data,

    Does my Ars article clear any of this up for you? If not, I’ll see if I can write something up over the weekend.

  • http://bennett.com/blog Richard Bennett

    I’m glad I amuse you, Tim, because you do the same for me. Every time I see one of your software/hardware rants I know I’m in for a rollicking good time.

    I’ll just make one more observation before leaving you to your delusions. “Information” is a component of many systems, including life itself. DNA, you see, can be described as information, and it’s possible, or will be shortly, to describe the human body in terms of the information carried by its DNA. This information shapes the hardware of the human body.

    And just as it’s not possible for the human body to form without the information that shapes it, so too is it impossible for a logic-based system such as a computer to function without the information embedded in its various parts.

    Consequently, the legal distinction between “information” and “components” is specious. There are no components without information. Consequently, it’s all information, embedded and instantiated in various ways.

  • http://bennett.com/blog Richard Bennett

    I’m glad I amuse you, Tim, because you do the same for me. Every time I see one of your software/hardware rants I know I’m in for a rollicking good time.

    I’ll just make one more observation before leaving you to your delusions. “Information” is a component of many systems, including life itself. DNA, you see, can be described as information, and it’s possible, or will be shortly, to describe the human body in terms of the information carried by its DNA. This information shapes the hardware of the human body.

    And just as it’s not possible for the human body to form without the information that shapes it, so too is it impossible for a logic-based system such as a computer to function without the information embedded in its various parts.

    Consequently, the legal distinction between “information” and “components” is specious. There are no components without information. Consequently, it’s all information, embedded and instantiated in various ways.

  • http://www.techliberation.com/ Tim Lee

    Richard, no one disputes that every machine contains information. But that’s not the same thing as being information. The essential point here is that software is nothing but information, whereas hardware is a physical object that may have some information encoded into it.

    So I still don’t see how anything you’ve said contradicts any of the points I made in this post. Patent law permits people to transmit information about a patented invention overseas without incurring liability, so if you truly believe there’s no difference between information and components–between, say, a blueprint and the machine the blueprint describes–then your quarrel is with Congress.

    The statement:

    “There are no components without information. Consequently, it’s all information, embedded and instantiated in various ways.”

    is just a non-sequitur. The fact that ever X contains Y does not demonstrate that every X is Y. Compare:

    “There are no cars without steering wheels. Consequently all cars are steering wheels, embedded and instantiated in various ways.”

  • http://www.techliberation.com/ Tim Lee

    Richard, no one disputes that every machine contains information. But that’s not the same thing as being information. The essential point here is that software is nothing but information, whereas hardware is a physical object that may have some information encoded into it.

    So I still don’t see how anything you’ve said contradicts any of the points I made in this post. Patent law permits people to transmit information about a patented invention overseas without incurring liability, so if you truly believe there’s no difference between information and components–between, say, a blueprint and the machine the blueprint describes–then your quarrel is with Congress.

    The statement:

    “There are no components without information. Consequently, it’s all information, embedded and instantiated in various ways.”

    is just a non-sequitur. The fact that ever X contains Y does not demonstrate that every X is Y. Compare:

    “There are no cars without steering wheels. Consequently all cars are steering wheels, embedded and instantiated in various ways.”

  • Ned Ulbricht

    [A]n FPGA straddles that fuzzy line: a series of ones and zeros rewires the device’s components.

    Can we agree that in an SRAM-based FPGA, charges on the gates of CMOS devices control the operation of the transmission gates comprising the interconnect fabric?

    Can we further agree that the arrangement of these charges, at a sufficient level of abstraction and generality can be modelled by the elements in a boolean algebra?

    And finally, can we agree that while money may be fungible, and electrons may be quantum indistinguishable, and the elements of a set may be unique—notwithstanding all that, a homeomorphism is not necessarily a physical identity?

  • Ned Ulbricht

    [A]n FPGA straddles that fuzzy line: a series of ones and zeros rewires the device’s components.

    Can we agree that in an SRAM-based FPGA, charges on the gates of CMOS devices control the operation of the transmission gates comprising the interconnect fabric?

    Can we further agree that the arrangement of these charges, at a sufficient level of abstraction and generality can be modelled by the elements in a boolean algebra?

    And finally, can we agree that while money may be fungible, and electrons may be quantum indistinguishable, and the elements of a set may be unique—notwithstanding all that, a homeomorphism is not necessarily a physical identity?

  • http://bennett.com/blog Richard Bennett

    The essential point here is that software is nothing but information, whereas hardware is a physical object that may have some information encoded into it.

    Ha ha, ho ho, hee hee. Software doesn’t exist in this universe unless it’s encoded in a physical medium, whether that’s a disk, a ROM, a sequence of symbols in a medium, or in some programmer’s brain. If I ship a ROM to China that contains software that’s meant to be reproduced, or I transfer a file across the Internet that contains software that’s meant to be reproduced I’ve done nothing different.

    There should be no loophole in the law that treats some representations of information differently than substantially similar ones.

    And by the way, if I use a program to disassemble some code I’ve done nothing different than what I do when I disassemble it in my head. It’s reverse engineering in either case, and from time to time I’ve done both.

    And by the other way, homeomorphisms should have the status of physical identities under the law, of course.

  • http://bennett.com/blog Richard Bennett

    The essential point here is that software is nothing but information, whereas hardware is a physical object that may have some information encoded into it.

    Ha ha, ho ho, hee hee. Software doesn’t exist in this universe unless it’s encoded in a physical medium, whether that’s a disk, a ROM, a sequence of symbols in a medium, or in some programmer’s brain. If I ship a ROM to China that contains software that’s meant to be reproduced, or I transfer a file across the Internet that contains software that’s meant to be reproduced I’ve done nothing different.

    There should be no loophole in the law that treats some representations of information differently than substantially similar ones.

    And by the way, if I use a program to disassemble some code I’ve done nothing different than what I do when I disassemble it in my head. It’s reverse engineering in either case, and from time to time I’ve done both.

    And by the other way, homeomorphisms should have the status of physical identities under the law, of course.

  • http://dsgazette.blogspot.com False Data

    Thanks, the article certainly helps. So, to paraphrase, just to make sure I have it:

    • The Supreme Court allowed software patents provided the software meets a funky § 101 requirement.
    • AT&T has a patent on a codec.
    • Microsoft sent a gold copy of the codec overseas so their affiliates could reproduce it.
    • AT&T claims Microsoft has violated a law against exporting components of patented inventions.
    • (Presumably said law also has teeth to prevent someone from sending one copy of the component overseas for copy and reproduction by overseas affiliates.)
    • Microsoft says, “software is not a component, it’s more like a blueprint, so we’re not liable for overseas reproductions.”
    • AT&T counters, “no, it’s a component, therefore you’re liable for the overseas reproductions.”

    My (fuzzy) understanding of the § 101 requirement is that the software must accomplish a particular purpose in the real world. Do I have it now?

    I hope so, because my next question is going to be whether the Supreme Court is likely to distinguish between software for embedded systems and software for general purpose computers.

  • http://dsgazette.blogspot.com False Data

    Thanks, the article certainly helps. So, to paraphrase, just to make sure I have it: <ul>
    <li>The Supreme Court allowed software patents provided the software meets a funky § 101 requirement.</li><li> AT&T; has a patent on a codec.</li><li> Microsoft sent a gold copy of the codec overseas so their affiliates could reproduce it.</li><li> AT&T; claims Microsoft has violated a law against exporting components of patented inventions.</li><li> (Presumably said law also has teeth to prevent someone from sending one copy of the component overseas for copy and reproduction by overseas affiliates.)</li><li> Microsoft says, “software is not a component, it’s more like a blueprint, so we’re not liable for overseas reproductions.” </li><li>AT&T; counters, “no, it’s a component, therefore you’re liable for the overseas reproductions.”</li></ul>
    My (fuzzy) understanding of the § 101 requirement is that the software must accomplish a particular purpose in the real world. Do I have it now?

    I hope so, because my next question is going to be whether the Supreme Court is likely to distinguish between software for embedded systems and software for general purpose computers.

  • http://www.techliberation.com/ Tim Lee

    Presumably said law also has teeth to prevent someone from sending one copy of the component overseas for copy and reproduction by overseas affiliates.

    No, this is actually the key point. If you send a single physical widget to German, and your German business partner takes that widget and makes a million copies, you only have to pay royalties on the one you shipped overseas, not the million copies of the widget. The law only applies if you manufacture the components in the United States, and then ship them abroad.

    The key issue then, is whether (as Microsoft would have it) the “component” is each individual copy of Windows (which was manufactured overseas and therefore does not trigger liability) or if the “component” was (as AT&T has it) the Windows code in the abstract, which was “supplied” by Microsoft.

    Or to put it another way, the issue is whether software “component” was manufactured in Redmond when Microsoft’s engineers wrote the source code and compiled it into object code, or whether it was manufactured when the German firm made a copy of the golden master. That’s why Waxman is talking about the fact that “The act of compiling manufactures the executable code.” He wants to say it was the development of the software, not the making of the copy, that constitutes manufacturing.

  • http://www.techliberation.com/ Tim Lee

    Presumably said law also has teeth to prevent someone from sending one copy of the component overseas for copy and reproduction by overseas affiliates.

    No, this is actually the key point. If you send a single physical widget to German, and your German business partner takes that widget and makes a million copies, you only have to pay royalties on the one you shipped overseas, not the million copies of the widget. The law only applies if you manufacture the components in the United States, and then ship them abroad.

    The key issue then, is whether (as Microsoft would have it) the “component” is each individual copy of Windows (which was manufactured overseas and therefore does not trigger liability) or if the “component” was (as AT&T; has it) the Windows code in the abstract, which was “supplied” by Microsoft.

    Or to put it another way, the issue is whether software “component” was manufactured in Redmond when Microsoft’s engineers wrote the source code and compiled it into object code, or whether it was manufactured when the German firm made a copy of the golden master. That’s why Waxman is talking about the fact that “The act of compiling manufactures the executable code.” He wants to say it was the development of the software, not the making of the copy, that constitutes manufacturing.

  • Ned Ulbricht

    The Supreme Court allowed software patents provided the software meets a funky �?�§ 101 requirement.

    From the oral arguments (p.13):

    11    JUSTICE SCALIA:  You can't patent, you know,
    12 on-off, on-off code in the abstract, can you?
    13    MR. OLSON:  That's correct, Justice Scalia.
    14    JUSTICE SCALIA:  There needs to be a device.
    15    MR. OLSON:  An idea or a principle, two plus
    16 two equals four can't be patented.  It has to be put
    17 together with a machine and made into a usable device.
    

    And on p.27:

    17    JUSTICE STEVENS:  Your time is up, but I
    18 want to ask you one yes or no question.  In your view is
    19 software patentable?
    20    MR. JOSEFFER:  Standing alone in and of
    21 itself, no.
    

    And on p.29

    10    MR. WAXMAN:  ... [F]irst of all, we all agree
    12 that software code in and of itself, removed from a
    13 physical structure, cannot be patentable ...
    

    So petitioner, respondent and the United States all agree that software is not patentable in the abstract.

  • Ned Ulbricht

    The Supreme Court allowed software patents provided the software meets a funky �?�§ 101 requirement.

    From the oral arguments (p.13):

    <pre>
    11 JUSTICE SCALIA: You can’t patent, you know,
    12 on-off, on-off code in the abstract, can you?
    13 MR. OLSON: That’s correct, Justice Scalia.
    14 JUSTICE SCALIA: There needs to be a device.
    15 MR. OLSON: An idea or a principle, two plus
    16 two equals four can’t be patented. It has to be put
    17 together with a machine and made into a usable device.
    </pre>

    And on p.27:

    <pre>
    17 JUSTICE STEVENS: Your time is up, but I
    18 want to ask you one yes or no question. In your view is
    19 software patentable?
    20 MR. JOSEFFER: Standing alone in and of
    21 itself, no.
    </pre>

    And on p.29

    <pre>
    10 MR. WAXMAN: … [F]irst of all, we all agree
    12 that software code in and of itself, removed from a
    13 physical structure, cannot be patentable …
    </pre>

    So petitioner, respondent and the United States all agree that software is not patentable in the abstract.

  • http://http:/bennett.com/blog Richard Bennett

    Right, it has to be recorded somewhere first.

  • http://bennett.com/blog Richard Bennett

    Right, it has to be recorded somewhere first.

  • Ned Ulbricht

    And by the other way, homeomorphisms should have the status of physical identities under the law, of course.

    If any graph A is homeomorphic to some graph B, then THE LAW should regard A exactly as if it were B? Under all circumstances, or only in the context of patent law?

    Please explain further.

  • Ned Ulbricht

    And by the other way, homeomorphisms should have the status of physical identities under the law, of course.

    If any graph A is homeomorphic to some graph B, then THE LAW should regard A exactly as if it were B? Under all circumstances, or only in the context of patent law?

    Please explain further.

  • http://my.opera.com/Vorlath/blog/ Vorlath

    Software should be treated no differently than music or stories in the eye of the law. Software can be patented if it’s part of a machine, but should DVD’s (the story on them) be patentable because they are part of a DVD player? It’s ridiculous.

  • http://my.opera.com/Vorlath/blog/ Vorlath

    Software should be treated no differently than music or stories in the eye of the law. Software can be patented if it’s part of a machine, but should DVD’s (the story on them) be patentable because they are part of a DVD player? It’s ridiculous.

  • http://bennett.com/blog Richard Bennett

    Software that’s an intrinsic part of a patented device should be covered by the patent. Consequently, the VHDL for a patented ASIC, the ROM code of a computer, and the OS of a patented computer-based system would be covered by the patents on their respective systems.

  • http://bennett.com/blog Richard Bennett

    Software that’s an intrinsic part of a patented device should be covered by the patent. Consequently, the VHDL for a patented ASIC, the ROM code of a computer, and the OS of a patented computer-based system would be covered by the patents on their respective systems.

  • http://weblog.ipcentral.info/ Noel Le

    Tim, let me get this straight. Are you arguing that software is *pure information*, akin to blueprints and recipes, and without any physical presence at all? Is your bottom line that software cannot be a component of a patented invention?

  • http://weblog.ipcentral.info/ Noel Le

    Tim, let me get this straight. Are you arguing that software is *pure information*, akin to blueprints and recipes, and without any physical presence at all? Is your bottom line that software cannot be a component of a patented invention?

  • http://www.techliberation.com/ Tim Lee

    Noel, software is obviously pure information.

    And yes, I think Microsoft has the better of the argument in this case.

  • http://www.techliberation.com/ Tim Lee

    Noel, software is obviously pure information.

    And yes, I think Microsoft has the better of the argument in this case.

  • http://weblog.ipcentral.info/ Noel Le

    Well, there are two questions before the court on Section 271(f): 1) whether software contained on the golden disk can be a component of a patented invention, 2) whether copies made from a golden disk shipped from the US to an overseas location are “supplied” from the US.

    Microsoft claims NO to both questions. However, and quite interestingly, many of its supporters argue that software CAN BE a component of a patented invention under 271(f), and thus differ with Microsoft on the first question.

    There seems to be two branches of the view that software can comprise a “component:” 1) software has physical bearing, 2) a “component” need not have physical bearing. Yes, I know, these two arguments conflict with one another:)

    Also, Tim, on another post you refered to Theodore Olson as “Microsoft’s lawyer.” I believe Ted Olson is the US Solicitor General arguing for Microsoft, rather than being outside counsel retained by Microsoft or one of its inhouse counsels. Correct me if I’m wrong.

  • http://weblog.ipcentral.info/ Noel Le

    Well, there are two questions before the court on Section 271(f): 1) whether software contained on the golden disk can be a component of a patented invention, 2) whether copies made from a golden disk shipped from the US to an overseas location are “supplied” from the US.

    Microsoft claims NO to both questions. However, and quite interestingly, many of its supporters argue that software CAN BE a component of a patented invention under 271(f), and thus differ with Microsoft on the first question.

    There seems to be two branches of the view that software can comprise a “component:” 1) software has physical bearing, 2) a “component” need not have physical bearing. Yes, I know, these two arguments conflict with one another:)

    Also, Tim, on another post you refered to Theodore Olson as “Microsoft’s lawyer.” I believe Ted Olson is the US Solicitor General arguing for Microsoft, rather than being outside counsel retained by Microsoft or one of its inhouse counsels. Correct me if I’m wrong.

  • http://weblog.ipcentral.info/ Noel Le

    Sorry, I meant that the arguments proffered by Microsoft’s friends, which disagree with Microsoft’s position on whether software can comprise a compone of a patented invention make each other, and the Microsoft argument, moot. You basically have 3 vastly contrasting views on the issue of a “component.”

    Another interesting aspect of this case concerns terms tossed around by policy commentators, including myself. We talk about “information goods,” “software patents” and “patened ideas.” Its interesting that the Supreme Court has gone through such effort to clarify legal analysis surrounding concepts that are obscurred by their literal construction and casual every day use.

  • http://weblog.ipcentral.info/ Noel Le

    Sorry, I meant that the arguments proffered by Microsoft’s friends, which disagree with Microsoft’s position on whether software can comprise a compone of a patented invention make each other, and the Microsoft argument, moot. You basically have 3 vastly contrasting views on the issue of a “component.”

    Another interesting aspect of this case concerns terms tossed around by policy commentators, including myself. We talk about “information goods,” “software patents” and “patened ideas.” Its interesting that the Supreme Court has gone through such effort to clarify legal analysis surrounding concepts that are obscurred by their literal construction and casual every day use.

  • Ned Ulbricht

    [...] the VHDL for a patented ASIC [...]

    Is your argument that Pellegrini v Analog Devices was wrongly decided?

    Or are you arguing that Congress should revisit 35 USC �?�§ 271(f)(1)?

    Further, what do you mean “intrinsic part”? How do propose to distinguish between VHDL and MP3′s?

    And, more generally, how do you propose the courts should deal with the consequences of Rice’s theorem? Pretend it doesn’t exist? Or implement a depth-limited search followed by flipping a coin? Wouldn’t that be intrinsically arbitrary, capricious and unreasonable?

  • Ned Ulbricht

    [...] the VHDL for a patented ASIC [...]

    Is your argument that Pellegrini v Analog Devices was wrongly decided?

    Or are you arguing that Congress should revisit 35 USC �?�§ 271(f)(1)?

    Further, what do you mean “intrinsic part”? How do propose to distinguish between VHDL and MP3′s?

    And, more generally, how do you propose the courts should deal with the consequences of Rice’s theorem? Pretend it doesn’t exist? Or implement a depth-limited search followed by flipping a coin? Wouldn’t that be intrinsically arbitrary, capricious and unreasonable?

  • http://bennett.com/blog Richard Bennett

    Yes, I’m saying Pellegrini was wrongly decided. When a component designed in the US has its design sent overseas for manufacture in order to escape 271, the company is obviously trying to break the law without getting caught. If I hire a hit man to kill you (transmit information about you and your whereabouts with instructions to take you out), I’m just as guilty as if I’d killed you myself; I’m engaged in a conspiracy to break the law.

    The distinction between VHDL and MP3 isn’t hard, one’s functional and the other’s optional.

    I don’t know what Rice’s theorem is.

    Any more questions, legalistic or otherwise? My arguments on this thread have to do with the nature of hardware and software, an area in which I have expertise. I’m not a legal scholar, nor do I play one on the Web.

  • http://bennett.com/blog Richard Bennett

    Yes, I’m saying Pellegrini was wrongly decided. When a component designed in the US has its design sent overseas for manufacture in order to escape 271, the company is obviously trying to break the law without getting caught. If I hire a hit man to kill you (transmit information about you and your whereabouts with instructions to take you out), I’m just as guilty as if I’d killed you myself; I’m engaged in a conspiracy to break the law.

    The distinction between VHDL and MP3 isn’t hard, one’s functional and the other’s optional.

    I don’t know what Rice’s theorem is.

    Any more questions, legalistic or otherwise? My arguments on this thread have to do with the nature of hardware and software, an area in which I have expertise. I’m not a legal scholar, nor do I play one on the Web.

Previous post:

Next post: