decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Thanks a lot, and a clarification | 1347 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Thanks a lot, and a clarification
Authored by: Anonymous on Monday, June 11 2012 @ 08:27 PM EDT
"Did it have that capability before the software was written? Well, maybe,
but not that particular message. It doesn't have that capability until I load
the software onto the machine."

This is the kind of fuzzy thinking that gets you in trouble here. The answer
to your question is yes, period: the computer was always capability of sending
that particular message to the display. It simply hadn't been instructed to do
so until you loaded the software.

"I think you are right. But I also think
that there can be a set of instructions for a general
purpose computer that causes it to perform a process or to
be a "thing" that does something it wasn't capable of."

This is another example of fuzzy (and patently bad) thinking. Much like what PJ
pointed out earlier where you were trying to take a certain branch of
mathematics and label it "not mathematics".

[ Reply to This | Parent | # ]

Thanks a lot, and a clarification
Authored by: Anonymous on Monday, June 11 2012 @ 08:35 PM EDT
2. We have an apparatus. It is an apparatus having the capability of printing "Hello World" on the screen. Did it have that capability before the software was written?
Yes, of course it did. Loading software into a computer does not change what it is, nor does it change its capabilities in any way. Any existing legal conclusions to the contrary are factually wrong. If we decide to let lawyers make up their own definitions for how reality works, it leads us to the situation we are in now: laws and precedents that are inconsistent with reality.

But I also think that there can be a set of instructions for a general purpose computer that causes it to perform a process or to be a "thing" that does something it wasn't capable of.
Then you don't understand what a general-purpose computer is.

It is "capable of" anything that any set of instructions you can possibly load into it would instruct it to do, and it is not capable of anything else. That is what it was designed to do. It is the intended purpose -- it can compute anything that is computable (subject to certain resource limitations).

Like a Universal Turing machine, a real-world computer can't actually do anything other than process inputs, perform mathematical computations and emit outputs. Software is nothing but a complex set of inputs provided to this general-purpose computing machine.

[ Reply to This | Parent | # ]

Thanks a lot, and a clarification
Authored by: PolR on Monday, June 11 2012 @ 09:15 PM EDT
I want to make sure we don't get confused in terminology. In computer science the instruction set is a term of art. It refers to the list of instructions the CPU is capable of executing. I see that you use the phrase "instruction set" as something synonymous with programs. This is potentially confusing. Programmers never call programs "instruction sets".

The list of instructions in the instruction set is fixed by the designers of the CPU. A programmer is not allowed to insert in his program an instruction which is not in this list. The CPU is designed to execute any sequence of instruction in any order no matter how creative the programmer may be. So I don't know what you mean by this:

And in this example, I think you are right. But I also think that there can be a set of instructions for a general purpose computer that causes it to perform a process or to be a "thing" that does something it wasn't capable of. It has to be a process/thing that the designers of the computer didn't think of, and that wasn't obvious to anyone at the time that use was thought of. That is an application of the math to make the machine do something new.
A computer program never contains any new instruction which isn't already in the instruction set defined by the designer of the computer. Here I don't understand what you have in mind. Do you think a programmer can make up his own instructions? He can't.

Are you familiar with the notion of universal algorithm? This is a mathematical concept from computation theory. There is a category of mathematical algorithms that are capable of doing every possible mathematical computation. We know they have this capability because there are a mathematical theorems that proves this is the case. We can take that as a mathematical truth. If we make a circuit for computing a universal algorithm then, as a matter of mathematical truth, it has the capability to do every computation as long as we don't exceed the available resources. The available resources don't change with computer programming. Any adaptation of software doesn't change the machine here. We just look within the range of possible computations for one that fit within the hardware constraints.

The instruction cycle of a computer is such a universal algorithm. The term of art to describe this mathematical construct is a Random Access Stored Program although real life implementations are more complex than the models studied by mathematicians.

In this context I don't see how there can be a capability to compute something that wasn't planned for by the circuit designer. He has built on a mathematical theory that says if the mathematical computation is computable at all then his chosen computer can compute it.

Here you have written something that to me is applicable to all programs

Your point, if I am understanding it, is that this is all just the computer, and the software does nothing to enhance the capabilities that were already there. It's just a set of instructions. Indeed, under that view, that fact that it is math is irrelevant - there's just nothing added to the basic machine.
Yes , the point that nothing is added to the machine is orthogonal to where the process is math. And nothing is ever added to the machine because the programmer is not allowed to make up his own instructions. He may only choose a combination of instructions from the set permitted by the CPU designer. This adds nothing to the machine.

The statement that software is math builds on this observation. If no new machine is made, if nothing is added to the computer, then what is the process? It is the execution of the instruction cycle with new inputs and a limitation to a specific field of use. And the instruction cycle is a mathematical algorithm. There is no need to parse the patent to figure out whether an algorithm is recited. The algorithm is there by virtue of the way the machine is designed.

The ways capabilities beyond the plain mathematical computation can be added are either (1) by setting field of use limitation which assign a non mathematical semantics to the bits; this never adds to the machine because semantics is never part of the machine structure; the process is a mathematical algorithm with a field of use limitation; or (2) by integrating the computer into something like the Diehr rubber curing process. Then the patent is no longer on just the software. We are longer arguing the patent is on a new machine made by programming the computer.

[ Reply to This | Parent | # ]

Software Patents ne Process Patents
Authored by: RMAC9.5 on Tuesday, June 12 2012 @ 04:34 AM EDT
But I also think that there can be a set of instructions for a general purpose computer that causes it to perform a process or to be a "thing" that does something it wasn't capable of. It has to be a process/thing that the designers of the computer didn't think of, and that wasn't obvious to anyone at the time that use was thought of. That is an application of the math to make the machine do something new.
People who invent or create new and novel ways to use general purpose computers naturally want to protect their IP and process type patents , at first glance, appear to make this possible. Process patents , however, have a natural limitation [that helps to prevent their misuse] that is missing for software patents on general purpose computers. Process patents, like curing rubber, are limited to the specific processes that they protect.

Software patents on general purpose computers, however, are not limited to specific languages, specific operating systems, and specific hardware because they are filed for general purpose computers. It is the scope or the unlimited "application of the patentable idea" to ALL computer languages, operating systems, and hardware that we software developers simply can not live with!

Copyright is the correct IP tool to use for software because it is limited to the specific software program/invention/process/thing being protected.

[ Reply to This | Parent | # ]

Thanks a lot, and a clarification
Authored by: Anonymous on Tuesday, June 12 2012 @ 10:16 AM EDT
"2. We have an apparatus. It is an apparatus having the
capability of printing "Hello World" on the screen. Did it
have that capability before the software was written?"

Yes.


"Well,
maybe, but not that particular message."

Wrong. It always had that capability. Just like pen and ink always had the
capability of writing ANY POSSIBLE book. You don't get to patent Moby Dick!

"It doesn't have that
capability until I load the software onto the machine."
Wrong. I can write whatever software I like and I can write my own Hello World
software. The machine always had the capability.

You really don't understand general-purpose computers, Mr. Risch. It's
unfortunate.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )