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
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

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


Contact PJ

Click here to email PJ. You won't find me on Facebook Donate Paypal


User Functions

Username:

Password:

Don't have an account yet? Sign up as a New User

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
Software Is Mathematics - The Need for Due Diligence, by PolR
Wednesday, October 05 2011 @ 07:30 PM EDT

Software Is Mathematics—The Need for Due Diligence

~ By PolR
[This article is licensed under
a Creative Commons License.]

Judging from the comments we have received in response to A Simpler Explanation of Why Software Is Mathematics, there seems to be a category of readers who just can't bring themselves to believe that software could possibly be mathematics. The prevailing attitude among these persons appears to be best summarized by this extract of this comment:

Here is where you are going completely wrong: There are things that we want or don't want to be patentable, and there are things that the current law and current common interpretations of the law say are patentable or not patentable, and the two don't agree. Since something needs to be done about it, you try to bend things out of shape so that software should be interpreted in a way that makes it non-patentable.



People who think like this saw the explanation of why software is mathematics as rhetoric in support of a conclusion. They objected to the overall tenor of the article on the basis that in their opinion the very notion that software is mathematics can't be true. They didn't dispute the evidence I provide. They presumed that the article as a whole had to be wrong and they didn't discuss the details.

But the explanation of why software is mathematics is more than rhetoric. It is based on the observation that the legal view of computers is factually incorrect.

Case law on the patentability of software has been decided on the basis of an incomplete and erroneous set of facts. Most of the argument is about showing the complete and correct set of facts, supported with evidence. Even if one rejects the conclusion that software is mathematics, the facts still remain. It is still possible to argue in favor of changes in case law on the basis of the facts without raising the question of whether software is mathematics.

This article is targeted at these skeptics. I will try to show them the factual nature of the argument. Even if they can't believe that software is mathematics and don't trust me as a source of information, they still need an independent evaluation of the facts from some expert they will trust. This should answer their fear that things might be bent out of shape.

The point is due diligence. Section 101 subject matter patentability is not settled law when software is considered. The Federal Circuit and the Supreme Court are struggling with these issues. Showing the courts material facts not previously considered increases the uncertainty. Anyone who conducts some business which depends on software patents and anyone who is at risk of patent related liabilities should evaluate the probabilities and possible consequences of new precedents being issued. Failure to do so is either setting oneself for a nasty surprise or forgoing a promising opportunity.

Let's examine an outline of the argument, just to put things in context. I don't supply the evidence here because the goal here isn't to convince anyone that the argument is correct. It is to provide motivation for doing due diligence. You will find the evidence in previous articles.

This outline will contain some statements of objectively verifiable facts. I will itemize them separately when I am done with the outline. These facts will provide the motivation for due diligence.

Just assume we have some patent claim. One may ask, what is the mathematics which is argued to be in this patent? We find out by following the very same reasoning the law uses to identify the patentable subject matter when software is claimed. This reasoning is summarized in WMS Gaming, Inc. v. International Game Technology as follows:

The structure of a microprocessor programmed to carry out an algorithm is limited by the disclosed algorithm. A general purpose computer, or microprocessor, programmed to carry out an algorithm creates "a new machine, because a general purpose computer in effect becomes a special purpose computer once it is programmed to perform particular functions pursuant to instructions from program software." In re Alappat, 33 F.3d 1526, 1545, 31 USPQ2d 1545, 1558 (Fed.Cir. 1994) (en banc); see In re Bernhart, 57 C.C.P.A. 737, 417 F.2d 1395, 1399-1400, 163 USPQ 611, 615-16 (CCPA 1969) ("[I]f a machine is programmed in a certain new and unobvious way, it is physically different from the machine without that program; its memory elements are differently arranged."). The instructions of the software program that carry out the algorithm electrically change the general purpose computer by creating electrical paths within the device. These electrical paths create a special purpose machine for carrying out the particular algorithm.[3]

[PolR: This refers to footnote 3 which is quoted below]

[3] A microprocessor contains a myriad of interconnected transistors that operate as electronic switches. See Neil Randall, Dissecting the Heart of Your Computer, PC Magazine, June 9, 1998, at 254-55. The instructions of the software program cause the switches to either open or close. See id. The opening and closing of the interconnected switches creates electrical paths in the microprocessor that cause it to perform the desired function of the instructions that carry out the algorithm. See id.

According to this reasoning, the activity of the transistors is the process by which a machine operates. This is patentable, by this view. And programming the computer according to this legal logic defines the transistor activity. This is said to make a special purpose machine which is also patentable.

Now let's look at some facts about computers and software. The electrical signals are physical representations of symbols called bits. The activity of the transistors is a manipulation of these symbols. The transistors carry out a procedure called the instruction cycle. This procedure is implemented in hardware in every computer which conform to the stored program architecture; this is about every modern digital computer. The instruction cycle is the process by which modern digital computers operate.

When we compare the instructions cycle with the criteria mathematicians have set forth in mathematical literature for a mathematical algorithm to be a mathematical algorithm, we find that they match. This is the core of the 'software is mathematics' argument. The computation carried out by the computer is always a mathematical computation pursuant to a mathematical algorithm which is the instruction cycle. The very same analysis which identifies in the claim some subject matter implemented by transistor activity also identifies subject matter implemented by the execution of the instruction cycle. This subject matter is the execution of a mathematical algorithm and we know which one. It is the instruction cycle.

It is not argued that when something is described mathematically then it must be mathematics. Refutations based on assuming this is the argument are moot. The argument is that the notions of computations and algorithms are mathematical concepts documented in mathematical literature and the computations of a computer match the requirements of the literature.

Mathematicians have put meaningful limits to what is and is not an algorithm. One of these limits is that an algorithm must be a procedure for manipulating symbols. Not everything is symbols and not everything is a procedure for manipulating symbols. For this reason the argument that software is mathematics cannot be extended into an argument that everything is mathematics.

The notion that software patents are actually hardware patents is false because software patents involve assigning meanings to symbols. Meanings are not physical properties of signals, and there is no instruction in the set of instructions a computer can recognize for assigning meanings to bits. The transistor activity which is said to be the patentable process is independent from the meanings of bits.

We may make a parallel with novels. A book is an article of manufacture made of ink and paper. Can we patent an article of manufacture based on the novel which is printed on the basis that it is all ultimately ink and paper? This is ignoring the existence of the printed text and its meaning. The same observation applies to computers. The bits have meanings. Without meanings assigned to bits, software has no utility, and without utility an invention is not patentable. Typically the meanings of bits is among the limitations recited in software patent claims.

Mathematics is a written language using symbols. Computations are a feature of this language which is used to solve problems by mathematical means. Software patents are granting exclusive right to utterances in this language, which happens to be computations. This should raise First Amendment issues.

The notion that programming a computer makes a new machine is factually erroneous. There are several ways of showing this. This outline of the argument mentions one of them. The process by which a computer operates is the instruction cycle. It does not change when the computer is programmed. Contrary to what WMS Gaming states, loading the instructions in memory does not cause electrical paths to be established within the computer. The process by which the computer operates remains the same instruction cycle no matter how the computer is programmed.

The instruction cycle is of the kind of computational procedures mathematicians call universal. It has the capability of carrying out every possible computation, provided it is given the appropriate input. Computers are not programmed by configuring electrical paths between transistors. They are programmed by giving data as input to the instruction cycle. The mechanism to give input to the instruction cycle is storing the data in the computer memory. This does not structurally change the computer because it does not change the process by which the computer operates. It supplies new input to an existing process.

This completes the outline of the argument. Now let's itemize the statements of objectively verifiable facts it contains.

  1. Mathematical language is written with symbols.

  2. Mathematical language is used to describe the real world.

  3. Mathematical computations are manipulation of symbols according to rules called algorithms.

  4. Computations pursuant to an algorithm solve problems by mathematical means.

  5. Bits are symbols represented by electronic and other physical means.

  6. Bits may have meanings.

  7. Without meanings assigned to bits, software is useless.

  8. Patents on software usually contain limitations on the meanings of bits.

  9. The meanings of bits are not physical properties of the signals.

  10. There are no instructions in a computer instruction set for assigning meanings to bits.

  11. The transistor activity in a computer is independent from the meanings assigned to bits.

  12. Most modern digital computers conform to the stored program architecture.

  13. Computers conforming to the stored program architecture implement an instruction cycle.

  14. The instruction cycle is the process by which most modern digital computers carry out computations.

  15. The instruction cycle is a procedure for manipulating bits which is implemented in hardware.

  16. The instruction cycle has the capability of carrying out every possible computation provided it is given appropriate data as input.

  17. Storing information in computer memory does not establish electrical paths within the computer.

  18. Programming a computer does not change the instruction cycle.

  19. Computations and algorithms are mathematical notions studied in mathematics.

  20. Mathematicians have given meaningful limits to the mathematical notion of algorithm.

  21. The instruction cycle falls within the limits mathematicians have given to the mathematical notion of algorithm.

  22. Not everything falls within the limits mathematicians have given to the mathematical notion of algorithm.

Please review these statements one by one. For each of these statements, ask yourself three questions. Is this statement factual? Is this objectively verifiable? Is this true? The correct answer to these question is “yes”, “yes” and “yes” for all these statements. Feel free to disagree and strike from the list all items you believe don't pass this test. Then you will have your own list of objectively verifiable facts that you believe are true.

Which conclusions may we support from these facts? Here is my list which is based on my list of facts. Feel free to strike all conclusions which cannot be supported from your list of facts. Then you will have your own list of conclusions you personally believe could be supported by facts.

  1. The use of symbols and their meanings is not factored in case law about the patentability of software.

  2. Software patents grant exclusive rights to computations which are utterances in mathematical language.

  3. Software patents raise First Amendment issues because of their reliance on the meanings of symbols.

  4. Software patents raise issues akin to those the printed matter doctrine is meant to solve because symbols and their meanings are involved.

  5. The execution of software is not a purely physical process because it requires meanings to be assigned to symbols in order to be useful.

  6. The use of symbols and their meanings are distinguishing software from pure hardware inventions. This raises the question of whether software is a process in the sense of the statute.

  7. The execution of software is the execution of a mathematical procedure called an algorithm.

  8. Computers don't work as WMS Gaming and the precedents this case relies on say they do.

  9. The process by which a computer operates is not determined by the words of the patent because this process is always the instruction cycle built into the computer at the factory.

  10. The process by which a computer operates is not determined by the words of the patent because these words refer to the meanings of the bits and there is no machine instruction a computer may execute which assigns meanings to bits.

  11. Factually speaking, programming a computer does not make a new machine.

  12. The facts used by the courts to rule that software is patentable are incomplete.

  13. The facts used by the courts to rule that software is patentable are incorrect.

  14. Courts should hire their own experts to advise them on how computers actually work because they have not got a complete and correct picture from the parties in past litigations.

  15. The conclusion that software being a mathematical computation pursuant to a mathematical algorithm does not imply that everything is mathematics.

Do you see in your list of conclusions some opportunity for a party in litigation to raise an argument against software patents? Do you see a difference between the legal explanation of how software functionality is produced in WMS Gaming and the set of fact you have just drawn? Can you see how far things may go when someone opens this Pandora box?

Your answer to these questions should be your motivation for due diligence. I am betting that based on your own understanding of the facts there is enough opportunity to argue for a change in the law to justify the effort of due diligence. If this isn't the case I have lost my bet, and this article isn't for you.

On the other hand, if I won my bet you have learned something about the 'software is mathematics' argument. You now know that the argument has a factual basis. The individual facts stand on their own. They may be used in any way a party in litigation wants to. The party may, if they so choose, make arguments against software patents without raising the issue of whether software is mathematics. Due diligence is about understanding the range of possibilities. You need the complete and correct set of facts and to understand the many ways they may be argued. It does not help to jump to the conclusion that software is not mathematics and dismiss the whole argument on this basis. A world of possibilities would then escape you.

No bending of things out of shape is required to show that software is mathematics. It is sufficient to collect the facts, which depart from the legal view of computers, and put them together. Then the conclusion that software is mathematics naturally arises. If you are willing to credit me some honesty with the research, you may find a large number of these facts in my articles. The outline presented here contains only a small selection of them. My articles have also mentioned several of the ways to argue for a change in case law on the basis of these facts without raising the issue of whether software is mathematics. Only a selection of these arguments show up in this article. If you want, you may use this information as a starting point for your due diligence.

I have provided my sources, quoting references. Everything is in the open, available for verification. If things have been bent out of shape the critics should be able to find out where and why in the material I have presented. If you read the comments on the article “A Simpler Explanation of Why Software Is Mathematics” you will find that nobody has disputed the evidence I have presented. In this same article I have claimed that the legal theory of how functionality is produced by means of software is factually erroneous. In the ensuing comments nobody has challenged this claim, not even after I pointed to the absence of such challenges. My conclusion is that nobody stands for the factual correctness of cases like WMS Gaming because nobody can. These cases are not factually correct, and I have provided factual evidence that they are not.

There is a wide array of expertise on Groklaw. There are members of all professions, including a lot of hardware engineers, software programmers and lawyers. There are mathematicians too. PHDs and years of experience abound here. We have made a habit of checking all articles on 'software is mathematics' in Members-Only mode prior to publication to verify that they contain no factual errors. The argument has been refined over the years based in part on input from Groklaw readers. Judging from the comments we have received on the article “A Simpler Explanation of Why Software Is Mathematics,” the argument can withstand this kind of public scrutiny without tough unanswered questions being raised. The remaining objection which is left standing is distrust based on an a priori assumption that software cannot be mathematics. Nobody points with specificity to an error in the evidence or in the inferences which are drawn from the evidence. The objection is directed to the tenor of the argument as a whole on the basis that, as the objection goes, the conclusion can't be right.

The point of due diligence is that if you have something serious at stake, distrust is not good enough. If I am wrong, you need to know where and how so you can answer an opposing argument in court. If you are wrong and your distrust is unwarranted, you need to find this out and adapt your business strategy accordingly. You need to verify the facts. You need to know if and how they can be used to argue against software patents, including whether they may be used in ways others than the ones I suggested.

Due diligence should also cover what happens when the experts step in. The objection that software can't be mathematics is often supported by personal conceptions about software, computers and mathematics. How would they stand when scrutinized by an expert more knowledgeable than the originator of these conceptions? Would they be confirmed or would the expert find them in error? Complete due diligence requires an answer to this question.

When you verified my list of facts from the outline of the argument, did you find that your list matched mine? If not, please ask yourself, is it conceivable that some expert more knowledgeable than you are will be able to prove some or all of those statements you have stricken? I say that experts can prove all of them and many more which are material and are not listed here. Complete due diligence requires you to explore this possibility.

For example, if we bring the theory of how computers work which is set forth in WMS Gaming to an engineer who actually designs CPUs, what would he say? Would he agree that the court is right? I say that this theory is considered nonsense outside of patent law circles because modern digital computers don't work like this. I am talking about the facts the courts have used to draw the legal conclusion. This technical explanation of the electrical effect of a program on a computer is wrong, and an engineer who designs CPUs will easily point to the errors.

In addition to being incorrect, the theory of how computers work set forth in WMS Gaming is also incomplete. It doesn't mention the role of symbols and meanings in the ability of a computer to solve real world problems. Also, not all software is compiled into instructions to be executed by the CPU. If you talk to an expert in the implementation of programming languages he will tell you that there are ways to program a computer without compiling the source code into machine instructions. Several of them are published in computer science literature. Some instructions will be executed, but they are not implementing the procedure which is being recited in the patent. These instructions implement some other procedure which is part of the programming language implementation. This is why a theory of software patents which presumes that the instructions executed always match the method recited in the claim is not considering all the possible ways of programming a computer.

There are a number of areas in mathematics and computer science where experts in these fields were concerned with questions which are relevant to the patentability of software. Let me mention these:

  • In the theory of computation researchers are concerned with the study of the mathematical concept of computation. They study questions such as “what is a mathematical algorithm?” and “are mathematical computations limited to numbers or do they involve other types of information?”

  • In mathematical logic and the associated field of metamathematics researchers are concerned with the mathematical study of mathematics itself. They are concerned with questions like what is the mathematical language, what is its syntax, its semantics and its logic.

  • In formal language theory researchers are studying text as strings of symbols. Mathematical algorithms for manipulating text arise in this discipline.

  • In semantics of programming languages researchers are concerned of how to define mathematically the meanings of programs written in programming languages.

  • Information about the stored program architecture, the instruction cycle and the instruction set architecture of computers is also relevant.

The existence of these areas of research is an objective fact. It can be verified by obtaining the names of the authors and reading the text they have published. It can then be verified that these researchers have written on topics which are of interest to the law. You will find a selection of these authors named and quoted in my articles. Their publications can be found in the reference section of the articles.

At this point I would suggest that you ask yourself these two questions:

  1. Are the results from expert research published in this literature considered in the precedents about the patentability of software?

  2. Are the expert literature and case law telling the same story about how computers and software work?

The answer to these two questions is also an objective fact. The verification procedure is that you get the publications from the experts and the relevant case law and you compare. I was able to find a brief reference to recursive functions in Paine Webber v. Merrill Lynch but besides this mention I have found no reference to the results of expert research in case law about the patentability of software. I have also found that the two stories diverge greatly.

You may find the evidence for these facts in the article “A Simpler Explanation of Why Software Is Mathematics”. Or if you find yourself unable to trust my analysis, you may verify these facts by bringing experts who know the contents of this literature with someone skilled in the law in the same room for a brainstorming session. If you belong to an organization which has such experts on its payroll, this due diligence should be easily feasible. Otherwise you may have to hire some external help.

There is a little pitfall you must beware of. You specifically need someone who knows the research which has been made on the questions which are of interest to the law. This part of mathematics is very different from the mathematics everyone has learned in high school. It is also very different from calculus, differential equations and linear algebra which are part of the traditional engineering curriculum. This means you can't use just any mathematical expertise. You have to make sure you have someone with the right mathematical expertise.


  


Software Is Mathematics - The Need for Due Diligence, by PolR | 470 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections here
Authored by: Tufty on Wednesday, October 05 2011 @ 07:38 PM EDT
Clue in the title please.


---
Linux powered squirrel.

[ Reply to This | # ]

Off topic posts
Authored by: Tufty on Wednesday, October 05 2011 @ 07:42 PM EDT
Off tropic too


---
Linux powered squirrel.

[ Reply to This | # ]

News picks
Authored by: Tufty on Wednesday, October 05 2011 @ 07:44 PM EDT
Hack the hacks


---
Linux powered squirrel.

[ Reply to This | # ]

Comes Documents
Authored by: Tufty on Wednesday, October 05 2011 @ 07:45 PM EDT
Keep up the good work please.


---
Linux powered squirrel.

[ Reply to This | # ]

Steve Jobs R.I.P.
Authored by: Steve Martin on Wednesday, October 05 2011 @ 07:46 PM EDT
ABC News is reporting that Steve Jobs has passed away from pancreatic cancer.


---
"When I say something, I put my name next to it." -- Isaac Jaffe, "Sports Night"

[ Reply to This | # ]

A general purpose computer in effect becomes a special purpose computer
Authored by: jbb on Wednesday, October 05 2011 @ 08:52 PM EDT
Believe it or not, I would be fine if this was what made software patentable.

If this really was what made software patentable then almost *any* trivial change to the computer instructions would create a totally different special purpose computer even if that change did not alter the algorithm. Using a different CPU (even one that uses the same machine instructions) would likewise create a totally different special purpose computer.

ISTM that the "special purpose computer" argument is simply an excuse to be able to patent mathematical algorithms. If software patents really and truly pertained to the so-called special purpose computers that are created by software machine instructions then they (software patents) would be perfectly useless.

---
[ ] Obey DRM Restrictions
[X] Ignore DRM Restrictions

[ Reply to This | # ]

What about analog computers?
Authored by: PTrenholme on Wednesday, October 05 2011 @ 11:01 PM EDT

In the late '60s I was a graduate student of statistics at Columbia University in NYC. The school had an IBM 3090 computer that was programmed by writing code and data on punched cards, and reading the card's data through a IBM card reader connected to the computer. In the "preparation room" there was an IBM 705 "card sorting" machine that could be used for printing the information on the card deck or "resorting" the cards after they'd been dropped. (Which was a fairly frequent occurrence.)

As a student, my access to the computer was limited, and I sometimes had to wait several hours for my program to be run. While waiting one day, I noticed that the card sorters were equipped with a grid that had wires connecting different holes in the grid. When I procured the "operator's manual" for the card sorter, I discovered that much of what I was using a FORTRAN program to accomplish (which was, of course, producing statistical summaries of data sets) could be done by rearranging the wires between the various holes.

So, in this case, finding, for example, sums, means, and sums of squares, could be accomplished by properly connecting the holes in the grid. That is, by programming the card sorter to implement the ANOVA algorithm.

Clearly IBM had patented the card sorter. So, could I make an argument that I had changed the IBM device into a new device that I could patent by my particular arrangement of wires? I must admit that the thought never crossed my mind, but how does the actual, physical, hard-wiring of the IBM 705 differ from the argument you quoted where a "new device" was created by the program?

Stepping back even farther, I still have my "emergency computer" that I acquired in High School - a "Log Log Duplex Decitrig" slide rule. Would I create a new, patentable slide rule by describing the specific position that the various pieces of the slide rule would need to take in relation to each other in order to solve some problem? But that would, of course, be a "program" for using the slide rule to solve that problem.

Thus, I think, raducto ad absurbum of the patentablity of software.

---
IANAL, just a retired statistician

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: Anonymous on Wednesday, October 05 2011 @ 11:49 PM EDT
This was all settled decades ago. So why is this still even being discussed?
Just go read the computer science and mathematical literature. Software is
Mathematics. Get over it.

And yes ... this WILL be in the test.

A Mathematician
===============

[ Reply to This | # ]

The rubber curing patents
Authored by: mtew on Thursday, October 06 2011 @ 12:20 AM EDT
IIRC this whole can of worms was opened by the patent on a process for curing
rubber more effectively that used a computer to implement the process. The use
of a computer was NOT central to the patent. The patent covered the process even
if it were not implemented using a computer, however, all actual implementations
DID use a computer.

The computer in this case was part of a special purpose machine that cured
rubber, however that computer could also do other things at the same time if it
was programmed to do so. It was the part of the computer and its software that
controlled the curing apparatus that was patentable. Neither the computer nor
its software were patentable by themselves. It was only the parts that
implemented the curing process that were covered by the patent and the details
of the computer hardware and software really made no difference.

HOWEVER, that restriction has become lost in subsequent cases. The difference
between the required connection between a process that manipulates a substance
(like raw rubber) and the manipulation of symbols, ideas, abstractions and
conventions has been lost. The court originally forbade patents of the later
sort, but that provision has been eroded to the point where almost anything done
with a computer is patentable.

While the examination of the details of computer implementations might be useful
in restoring that distinction, it is by no means certain to do so. In fact it
cedes many of the arguments that should be being used to restore rationality to
the issuance of patents to the proponents of software patents. While this
analysis may be useful in a few situations, in my opinion, a broader approach
that restores the original restrictions to physical substance is more likely to
produce the socially desirable results in the long run.

---
MTEW

[ Reply to This | # ]

Are the sematics of symbols really important?
Authored by: Willu on Thursday, October 06 2011 @ 12:50 AM EDT

While I can see your point for most software, I'm a roboticist and I have problems with some of your statements. In particular, I disagree with, "Without meanings assigned to bits, software is useless." I interpret this as saying that a human needs to be able to interpret the input and output of the program for it to be useful. And I don't think that is true.

If I build a robot that has sensors and actuators, and I program it using software, then the robot can do something useful even if no human is aware of the meaning of its bits during execution. The robot hardware is doing the interpretation of the meanings of the bits - they are never required to be interpreted by a human for the program to be useful. Going to an extreme, if the program was randomly generated by monkeys and just kept because it worked, the meanings wouldn't even be assigned during the generation of the program.

I can see some ways around this objection, but I was interested in hearing what others thought. (BTW - just so we're clear - I dislike software patents, but I'm also Australian and mathematics is not, by itself, a problem for patenting in Australia so the whole line of reasoning in this post is not relevant here. sigh)

[ Reply to This | # ]

Just the Facts, Ma'am
Authored by: Anonymous on Thursday, October 06 2011 @ 12:52 AM EDT
> Case law on the patentability of software has been decided
> on the basis of an incomplete and erroneous set of facts.

Unfortunately the courts are known as "finders of fact"
and if they find from the same evidence contrary facts
to what we find, where next?

[ Reply to This | # ]

No, PoIR. You are hopelessly behind the patent curve.
Authored by: Ian Al on Thursday, October 06 2011 @ 02:25 AM EDT
<sarcasm>Your analysis was fine when we were talking about Microsoft
making patent-infringing machines by installing the AT&T codecware. However,
Java and Dalvik have moved the game much further on.

With those two products, the hardware transistors are rewired into a completely
new set of software transistors that provide a completely new instruction set.
Now, a patented machine is made by installing a program into the software
transistor computer which also, then, has to be installed into the hardware
transistor computer.

Installing an app in the software computer further rewires the software
transistors into a new, new machine which can be patentable. (I think the legal
term for such machines is 'an apparatus').

Now, there is a class of patentable soft soft machines defined by what the app
does. As far as I know, no such patents have been awarded, so far. What has been
awarded is a series of patents that define the method by which the app hardware
machine is installed into the soft soft computer. Because the method has to be
installed into the soft soft computer, it is, by definition, a machine or
apparatus. It is also, at the same time, a patented method.

There are many patents that are, simultaneously, a machine, a method and a
device installed in memory. I am not certain about the 'device stored in memory'
patentable thing. It seems to me that this is directly equivalent to 'a program
installed in a computer' and is just a facet of the 'special purpose computer'.

Of course, my understanding of computing does not equip me to follow the very
new patentable subject matter of hard-wired text-name processor instructions in
the soft computer. In Java, BitOBear explains that instructions are not just
given mnemonic names by puny humans, they are built into the very fabric of the
soft wired processor! Its like having page numbers in a book that are not just
symbols printed on each page, but are in the very fabric of the paper of the
page. There are Java patents that cover the way that you can handle the 'pages'
in the book. Methods of speed reading whereby you skip over 'blank pages' are
patented machines. And methods. And are patent violations for just being bound
into the 'book'.

So, you see, the idea of mathematical algorithms run on a hardware processor is
much too simplistic to understand the rich tapestry of modern software patents.
You don't begin to deal with the method (patent pending) for soldering up the
soft transistors into a special purpose soft computer.</sarcasm>

[Do the sarcasm tags even work in html?]

---
Regards
Ian Al
Software Patent: code for Profit!

[ Reply to This | # ]

I am still puzzled
Authored by: Anonymous on Thursday, October 06 2011 @ 04:48 AM EDT
on how people could think, that software might _not_ be mathematics.

Just because I just want to write a letter, hear some music or play a game?
That doesn't make the math go away.

I am puzzled.


cb

[ Reply to This | # ]

Fund a court case to make this argument?
Authored by: Anonymous on Thursday, October 06 2011 @ 05:05 AM EDT
Would it not be a good idea to make this argument in court?

If the EFF / FSF / Groklaw & friends pooled resources and aimed for a
declaratory judgement against some arbitrary software patent could that not set
the needed precedent?

[ Reply to This | # ]

an algorithm must be a procedure for manipulating symbols
Authored by: Anonymous on Thursday, October 06 2011 @ 05:52 AM EDT
"Mathematicians have put meaningful limits to what is and is not an
algorithm. One of these limits is that an algorithm must be a procedure for
manipulating symbols."

You still don't get it? A symbol definition is not set in stone. It is simply
something that represents something. A bit (1/0) represents the electrical
state. Thus anything that manipulates bits is an algorithm? Or more extreme,
anything manipulating electrical state is an algorithm ? Imagine a simple
circuit breaker. It would not be patentable according to your definition. It is
simply manipulating the on/off state of a switch based on a threshold input.

You cannot start at a high level that you don't like (software) and drill down
to a basic enough level that suits your needs (cpu) and then claim that the
basic level is responsible for the high level functionality as a whole. It's
like claiming that a non-patentable spade also makes any work created by that
spade not-patentable because anything else is derived work based on the spade.

As was already mentioned, you are twisting the current interpretation to suit
your purpose. What needs to be done is to set new rules. No amount of
"software is mathematics" screaming will help if the current laws and
rules are in place.

[ Reply to This | # ]

Software Is Mathematics - but....
Authored by: Anonymous on Thursday, October 06 2011 @ 06:57 AM EDT
I am always a bit uncomfortable with some of these arguments. As a mathematician
I accept the logic of the arguments that software is mathematics, but I am also
aware of the effort and creativity that can go into finding the bit of
mathematics that works and solves a problem.

As an analogy, for a given format of digital photograph there are only a finite
number of possible images that can be created. In theory you could draw up a
list of all of them. So in some sense all possible digital photographs are known
mathematically. But I am quite happy with the idea that a photographer should
get an income and protection for her efforts in finding an image on this finite
list that others find desirable.

There has to be a balance somewhere between the idea that nothing that can be
described mathematically can be protected and allowing simple algorithms to be
protected. It is just working out where the boundary should be that I find
difficult.

[ Reply to This | # ]

Wireworld Computer could help with visualization of the ideas
Authored by: Anonymous on Thursday, October 06 2011 @ 07:09 AM EDT

Wireworld is a four-state cellular automaton invented by Brian Silverman, which uses very simple rules that allows us to make designs that resemble the behavior of certain electronic circuits.

One-paragraph description (skip if not interested): The neighborhood of a cell is the 8 cells that surround it. The rules are: a cell in state 0 (background) stays always as 0; a cell in state 1 (electron head) will change to state 2 in the next iteration; a cell in state 2 (electron tail) will change to state 3; a cell in state 3 (wire) will stay in state 3 unless it has one or two neighbors in state 1, in which case it will change to state 1.

Someone has created a computer based on Wireworld. What makes it especially attractive for the purpose of this article is that the "electrons" can be seen moving inside the machine, which may help as a didactic visualization tool of the principles involved.

The programmable computer has a 5-digit LCD-like display; the example program (which is coded as a set of electrons inside the registers) shows in the display the sequence of prime numbers (2, 3, 5, 7, 11, ...) as fast as the computer calculates them.

Links:

Computer and explanation

800 x 600 still of the computer in action, showing number 19 from the sequence of primes

Java online version

The computer lacks a program loader; the program must be preloaded in the registers. That doesn't make a significant difference for this argument; we can imagine that there is one such mechanism in order to extrapolate it to an actual computer.

Except for the limitations in memory, I hope it's clear enough that the computer, without any electrons in it, is a general purpose machine designed to act on registers and visualize numbers on its display. The programs are able to loop and branch and perform calculations.

Now, the interesting questions:

Is this machine, with the electrons in it, a special purpose machine?

Is the machine, with the electrons in it, patentable (extrapolating it to the case of a computer and of a program with no prior art)?

Is a particular sequence of values in the registers (a.k.a. the program) patentable in itself separately from the machine?

If not, who violates the patent: the person who writes the program, or the person who loads it into the machine, converting their general-purpose machine into the patented machine?

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: Anonymous on Thursday, October 06 2011 @ 08:16 AM EDT
Your articles are too long.

[ Reply to This | # ]

The comment has a good point, anyway
Authored by: SLi on Thursday, October 06 2011 @ 09:00 AM EDT
I think the comment has a good point in any case, even if it
would wrongly argue that software is not mathematics. Yes, I hope
that software is not patentable, and I think that software should
not be patentable; but these two should not be confused.

The question of whether software should be pantentable is quite
separate from whethet it is mathematics. This "software is
matematics" claim is a vessel for trying to argue that software
is currently not patentable. It's a bit like kremlology of the
old times. To me it seems it would be preferable to have the law
say explicitly whether software is patentable or not, because, to
be fair, the question of whether software is mathematics is quite
far removed from the original intent of the language.

I know that law doesn't work like a software program, and that in
reality courts also do consider to some extent whether software
should be patentable. Still, this is like taking the old "is X
patentable" program and feeding something entirely new and
unanticipated to it. It seems somewhat strange to me to solve a
billion dollar question with what coders would call untested
code.

More to the point, "software is patentable" is not a moral claim
of any kind. "Software should be patentable" is. After the
problem has been recognized, it would seem that the right place
to fix it would be to decide whether software should be
patentable and then explicitly make it either so or not so. (Not
that I would trust the lawmakers to make a sane decision, but
still it would be less... random than a kremlological
interpretation of the commas in what the lawmakers previously had
decided.)

[ Reply to This | # ]

Are algorithms mathematics...
Authored by: Anonymous on Thursday, October 06 2011 @ 09:01 AM EDT
...or is mathematics the study of algorithms?

Despite being entirely confident that software patents are "a bad
idea"(tm) and even the having attained rather a long time ago a not very
good mathematics degree, I still feel uncomfortable about the argument that
software *is* mathematics. When I read it, I was reasonably happy with your
argument that it is. I'm not sure it's relevent.

I call number 19 : Computations and algorithms are mathematical notions studied
in mathematics

To instantiate part of your rebuttal of counter-argument - the ability to
describe an algorithm (in the abstract sense) using mathematics does not imply
that an algorithm is mathematics.

The crux perhaps is the question : "what is mathematics?"

I suspect that the non-mathematician (99.99% of the population) will suggest
that it is the study of numbers. To be fair to them, nearly all of the maths
that I ever did comes into this category. Often the numbers were rather abstract
ephemeral things that you didn't actually see. And there were a few major
diversions where those numbers were applied to other problems. Nevertheless,
the numbers were there.

The study of numbers is different from the study of algorithms. You can use
algorithms to study numbers, and you can even study those algorithms to learn
how to do it better. That's not the same as saying that the algorithms are
mathematics however. Certianly the mathematician may choose to define the study
of those algorithms as mathematics, but do "mathematicians" have the
right to define what is and is not "mathematics"?

Do "artists" have the right to define what is and is not art?

Do "fashion designers" have the right to define what's in and what's
not? (Do they succeed?)

I understand fully that this type of reasoning can lead us to bad places if
we're not careful - I'm thinking creationism as science - but nevertheless:

Who makes the boxes we put ourselves and each other into?


not logged in
jrw

[ Reply to This | # ]

Software Is NOT Mathematics
Authored by: Anonymous on Thursday, October 06 2011 @ 11:01 AM EDT
To say software is mathematics is as useful as saying everything is the speed of light - assuming that a certain mathematical equation is still valid.

One of my main issues with you is that never appear to show any understanding that software is more than just mathematics as it involves language (such as syntax). That is currently being demonstrated here with in Oracle America/Google case. See Prof. Astrachan's testimony regarding the absolute value - same concept but very different code because the mathematical concept is too ambiguous. Therefore software can not just be mathematics.

You also fail to address that computers are base-2 so you are always having to address numerical precision in software that is not present in mathematics. That is under mathematics for some variable a, a*2/a always equals 2 as most people understand that a/a =1 (although that is not always true for all fields of mathematics like linear algebra). But that is not necessary true in software because it has to know what 'a' is. Also it has to know what '*' and '/' mean (could be scalar or 'matrix' operations, could be integer or floating point operations) and if these operations are valid.

[ Reply to This | # ]

It's a funny thing -
Authored by: Imaginos1892 on Thursday, October 06 2011 @ 12:28 PM EDT
- that ALL the experts on mathematics and computer programming
agree that software is math, while all those that DISagree
present no evidence of being experts on anything, and thus
can't be considered competent to have an opinion on the subject.
Nevertheless, they persist in waving their ignorance in our
faces as if it were some sort of qualification.
-----------------
Nobody expects the Spanish Inquisition!!

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: Anonymous on Thursday, October 06 2011 @ 01:32 PM EDT
Beyond the fact that the underlying underpinnings of all software ever written
were algorithms that fall under mathematical processes. The other fact is that
ALL software patents are abstract IDEAS REPRESENTED in software.

"A way to represent data by presenting an interface that does XXX and
automatically results in YYY" IS AN IDEA!! It is a CONCEPT that is then
implemented WITH SOFTWARE, USING mathematical algorithms.

Ideas and concepts are non patentable!!!

[ Reply to This | # ]

The problem I have with the "software is math" argument
Authored by: Anonymous on Thursday, October 06 2011 @ 03:13 PM EDT

I apologise in advance for not reading PolR articles as thorougly as I probably should, but there are things going on in my life that take up too much of my attention and energy to take it all in. So the articles may contain answers and arguments that I haven't noticed or understood.

The reason why math is not patentable as formulated on swpat.or g:

In the USA, math is unpatentable because it is a "law of nature", that is to say a "scientific truth", and as such it can never be "invented", only "discovered", and patents are not granted for discoveries.

I have developed software for over 25 years, including software for the financial sector, code generators, a web development framework and image processing software. While I do agree that algorithms are inherently mathematical, I would strongly disagree with anyone who would say I did no more than discover truths that were already there. That's just ridiculous. The software fits into workflows, it represents choices about how work is to be done, it reflects personal preferences, local culture, sometimes legal requirements, and much more. Those are not scientific truths or laws of nature, but they are very much part of the essence of the software. And writing software is a creative process. It seems to me that the "software is math, math is not patentable because you discover it, not invent it, ergo software is not patentable" argument misses an essential point.

Compare it to an artist who draws a portrait with charcoal on paper. It can't be denied that the finished portrait is paper and charcoal. But only if you limit yourself to the materials it's made of. This view completely misses the fact that the portrait represents something that has nothing to do with those materials. It misses the essence of what a portrait is. To me the underlying math, which is undeniable, is the material software is made of. In that sense software is math. But the point of the software is not the math on that level, the point is its function, the task it performs, and all the mathematical and non-mathematical factors that shaped the way the task is performed.

Should software be patentable? No way, copyright is far more appropriate. But I don't like the "software is math" argument, it ignores the fact that software is more than that.

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: steelpillow on Thursday, October 06 2011 @ 05:09 PM EDT
I confess that I too have not read all the "software is math"
arguments. But I have picked up a flavour over time. These arguments often mix
up logic and math - arguing that something is logical is assumed to be an
argument that it is mathematical. Many lawyers, judges, mathematicians and
Groklaw diehards are among those who fall into this way of thinking.

But it is not so.

"This animal is a dog. All dogs have tails. Therefore this dog has a
tail." Now that is logical, but it is not mathematical.

"Software is logic" - now that is hard to dispute, since it is merely
a set of coded "musical notes" to be played by a Boolean logic
machine.

"Software is math" does not follow at all.

Go back through the legal arguments, even the pronouncements of the wisest and
most learned judges as reported on Groklaw, and you will see that most people
tend to drift unconsciously between logic and math.

Until the law and its judiciary learn to distinguish math as a branch of logic,
the rest of us can only hire lawyers and pray.

---
Cheers,

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: rebentisch on Thursday, October 06 2011 @ 06:41 PM EDT
As I argued before the "software is math" argument is not a silver
bullet and won't be taken seriously by the patent community. It may be useful in
certain contexts of American and European substantive patent law discussions but
that's it.

For computer science students it somehow leads to a lucid scientific proof that
software cannot be patented. But that is really not the point, of course it
could, but it should not, because it does not satisfy the conditions.

You don't have to explain why software is different from other patentable
subject matters. You don't have to explain why Canada is different from the US.

The argument distracts you into a philosophical and speculative discourse
sphere, where we could as well raise the question if inventions are abstract,
thus equal software and math. After all natural scientist use mathematics to
describe nature. What if math is "nature" and thus all inventions,
whether they apply the laws of logic or the "forces of nature", are
somehow "nature"... Conclusion, patenting inventions is patenting
abstract matter is patenting nature.

I am currently reading Nicolai Hartmann, his writings could be an inspiration to
sort these issues out without becoming insane. And after all, isn't the history
of philosophy nothing but footnotes to Aristotle?

Still the basic reason for a patent system is that it's an socioeconomic device
to achieve certain objectives. If you apply that treatment to a certain
well-defined field make sure it's beneficial. Otherwise it's applied voodoo.

[ Reply to This | # ]

Software Is Metaphysics
Authored by: rsteinmetz70112 on Thursday, October 06 2011 @ 11:54 PM EDT
What is at stake here is not the limits of mathematical theory which is
essentially unlimited, but rather the limit of patentability. The former is a
metaphysical discussion, the latter is a legal discuss.

Mixing the two is very ephemeral.

On a more concrete level, if a simple machine like the wheel is used in a later
invention does that render the later invention unpatentable?

If the invention includes a complex machine like a computer is the invention
unpatentable?

If the invention merely uses a general purpose machine is it unpatentable?

I remain unconvinced that the all software is math and therefore unpatentable
based on prior decisions is valid due to the massive expansion of what is now
considered math by the unilateral decisions of mathematicians.

Theologians, Physicists, Metaphysicists and Scientologists have similarly
expanded their definition of what is within their realms.

Are courts required to accept their new definition of their realms?

---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

Software Is Mathematics - And Perhaps Something Else As Well
Authored by: Anonymous on Friday, October 07 2011 @ 04:54 AM EDT

Let's cover some points that haven't been mentioned in this thread yet. The first is that all the arguments for software being mathematics do not preclude it from also being something else. The reason why this can be so is found in a work that PoIR referenced heavily in some of his earlier writings, ABSTRACTION IN MATHEMATICS AND MATHEMATICS LEARNING by Mitchelmore and White. The authors state that mathematics is abstract in a way they term abstract apart.

Mathematics is a self-contained system separated from the physical and social world:
  • Mathematics uses everyday words, but their meaning is defined precisely in relation to other mathematical terms and not by their everyday meaning. ...
  • Mathematics contains objects which are unique to itself.

Along with the purely abstract world of mathematics, the authors also identify a separate category of abstraction that they identify in a chart as "Experience of the physical and social world", which contains two sub-categories of concepts, "Mathematics-related concepts" and "Other empirical concepts".

These concepts may be called abstract-general because they embody general properties of the real world.

One key take-away from the article is that the relationship between the real-world abstract-general concepts and the mathematical abstract-apart concepts is developed through a process they term formalisation. In the intro to their paper, the authors talk about a further meaning of abstraction important for mathematics learning:

The formation of concepts by empirical abstraction from physical and social experience. We shall argue that fundamental mathematical ideas are formalisations of such concepts.

The point of all this background is that the author's work aligns with the idea that real-world software has to have a connection with both types of abstraction, abstract apart and abstract general. PoIR emphasizes the abstract apart role to try and prove his hypothesis, but he ignores the necessary ties that real-world software must have with real-world experiences and behavior in order to be functional.

The dual nature of software can also be seen in how academic studies of computer science at many institutions have fostered a split between parts of computer science that are more traditionally math-centric, and parts that are more engineering-centric. In practice, although related, each faction operates largely apart from the other. The math-centric side has its feet planted mostly in abstract-apart concepts, while the engineering-centric side has its feet planted mostly in the abstract-general concepts that relate more directly to real-world concerns.

A second point about PoIR's article concerns some of the arguments about how a computer operates. He said:

The notion that programming a computer makes a new machine is factually erroneous. ... The process by which a computer operates is the instruction cycle. It does not change when the computer is programmed. Contrary to what WMS Gaming states, loading the instructions in memory does not cause electrical paths to be established within the computer.

This statement of fact is not very well supported. It's hard to deny that executions of instructions, and not just the loading of instructions into memory, causes various electronic control signals within a computer to vary the outputs of different functional units and to cause data to move along different logical pathways at different times. When the relationship between inputs and outputs is variable according to the type of programming being executed, it's perfectly reasonable to say that the resulting machine is in fact differentiable according to its programming (where machine is defined as a device that takes some input and produces some output).

All the arguments dealing with the instruction cycle are really extensions of the analogy between a Universal Turing Machine model and the instruction cycle of stored-program computers. But while PoIR emphasizes the UTM part of the model, he doesn't point out the equally important other part of any such model.

Turing Machines

Universal Turing Machines

The most striking positive result concerning the capabilities of Turing machines is the existence of Universal Turing Machines (UTM). When started on a tape containing the encoding of another Turing machine, call it T, followed by the input to T, a UTM produces the same result as T would when started on that input. Essentially a UTM can simulate the behavior of any Turing machine (including itself).

In other words, to be a complete model of any computation, a model involving a UTM must include not only the UTM component, but also a representation of a specific Turing Machine for the algorithm to be computed, along with the inputs to that algorithm. The UTM by itself is not particularly functional, just as a computer without programming is not. The inputs to a UTM must be a complete representation of another Turing Machine, equivalent to a program in a computer. If the input to a UTM is itself a conceptual Turing Machine, then why is it so hard to believe that the program input to a computer executing an analogous instruction cycle is not also a form of conceptual machine?

Another point to be made about TMs is that their state is contained within the set of symbols written on their tapes. When a tape is written to, the state of the TM may change. Such changes may affect the subsequent behavior of a TM. A TM with a changed tape could be said to form a new TM. In modern computers, the analogy to the TM state on a tape is the state of various memory and storage locations that may be accessed during a computation. A change in certain locations might also be said to form a new computing machine, based on changed behavior in response to certain inputs.

To sum up, even assuming that everything that PoIR writes about software being mathematics is correct (which I'm not convinced is completely true), it doesn't preclude that software is also something else as well. We shouldn't be too quick to fall into the same troubles as those in the story of the blind men and the elephant who unintentionally get caught up in defending their interpretations of reality based on only a limited view of the world around them.

--bystander1313

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: Anonymous on Friday, October 07 2011 @ 10:30 PM EDT
"According to this reasoning, the activity of the transistors is the
process by which a machine operates. This is patentable, by this view. And
programming the computer according to this legal logic defines the transistor
activity. This is said to make a special purpose machine which is also
patentable."

I think you're missing an even shorter counter argument to this reasoning: If
the activity of the transistors is the patentable machine, that means a patent
can only be issued to cover one particular computer hardware configuration
running one particular operating system running one particular compiled version
of the program that contains the logic. If the hardware is different (say more
memory or a different CPU), the activity of the transistors is different. If the
OS is different, the way the program is executed and loaded is different and
therefore the activity of the transistors is different. If the compiler settings
or source code are changed, the activity of the transistors is different.

If the activity of the transistors is the factor that determines a "special
purpose" configuration of a general purpose computer, even the slightest
change in the configuration of the special purpose computer (a virus signature
update or an OS patch) makes it different from the claimed patentable machine.

If they try to claim that any computer running the same compiled program is a
patentable machine, then they also run into the precedent of punch-card
controlled weaving machines. Basically, the punch-card controlled weavers were
general purpose weavers that could be programmed to weave a specific pattern by
the use of punch cards controlling their operation. So for a broadly based
computer patent to be allowable, it would be analogous to each punch card
pattern being patentable on the general purpose machine. Historically that is
not what happened. The weaving machine was patentable and the programming cards
were protected as trade secrets.

[ Reply to This | # ]

Software is an automated method to create datastructures in memory.
Authored by: Anonymous on Monday, October 10 2011 @ 06:59 PM EDT
Software Mp3 players vs. hardware Mp3 players. Obviously since the algorithm
was discovered in software it is trivial to implement a hardware solution. If
someone created a hardware Mp3 player it would obviously be patentable. It is a
physical device. However, there is a little business of prior art. People had
mp3 players that ran on general purpose machines. You can't grant patent rights
to something that already exists now can you. So hardware manufacturers said
fine we want to grant software patents. The real legal fiction comes in
producing a running copy. One can't very well take your laptop down to the
Patent office and say look guys it works. So the legal fiction was created that
a disk with a program on it is a machine that creates data structures in memory
automatically, and that is patentable just as a machine that automatically
builds cars or silicon chips.

[ Reply to This | # ]

Software Is NOT Mathematics.
Authored by: pgmer6809 on Saturday, October 15 2011 @ 01:51 AM EDT
I am a retired engineer who has spent most of his working life doing software. I do not agree with software patents. I also do not agree that software is mathematics. Is e=mC2 mathematics? or physics? How about Maxwell's Equations? Are they mathematics or physics? And what about compound interest? Is that a mathematical equation or a commercial method? The fact that mathematics underlies much of modern society does not mean that everything based on mathematics, is mathematics. Maxwell's equations, for all that they are mathematical P.D.E's, are physics because they express the behaviour of electromagnetic waves. Without that extra understanding they would be no more important than any other set of P.D.E's you could find in a math text book.
To claim that a computer program that reads a list of names and addresses from a file and prints out mailing labels, is 'mathematics' is obviously absurd. And I suspect that any judge or jury hearing such a statement in a trial would recognize it as such. To try to claim that all software is mathematics, serves only to call into question the competence or the integrity of the person making such a statement.
I disagree with many of the points in this post. I also think that many of the points 1-22 are irrelevant to the argument.
Point 2. So what if mathematics is used to describe the real world. Firstly that is not always true. Much of mathematics has no known application to the real world. Secondly it is not the only language used to describe the real world. Thirdly it is not really sufficient to describe the real world, unless you consider taking the symbols of a piece of written text and converting them to a Goedel number 'mathematics'.
Point 10. The Transmeta chip had instructions to modify its own instruction set. There have been computers in the past where the memory was 'tagged' as being either instructions or data. Trying to execute data would cause an error. I would say that these instructions assigned meaning to the bits in the computer. But even if they did not I fail to see the relevance in proving that software is mathematics.
Or consider point 17 which states that:" Storing information does not create new paths in the computer". Not in the CPU maybe, but it does if you consider the RAM to be part of the computer. After all a 'bit' is implemented by a transistor switch. And a switch by definition changes something, in this case the path the electricity takes through the memory cell. If all computer memory were ROM, there would be no argument since the very fact of making a ROM memory involves blowing links (creating or destroying paths.) A ROM programmed one way is jsut as different from a ROM programmed a different way as any other piece of hardware. The difference may not be as dramatic as something more mechanical, but it is possible to put programming and algorithms into hardware or software. 'The equation of time' (see Clock of the long now)can be put into a table in RAM or it can be machined into a piece of metal and used as a complex cam. If two machines are built to control something and one uses a complex cam with rods and gears, and the other uses a microprocessor and software, and both do the same thing, why should one be patentable and the other not?
While they are not technical experts, the judges and courts who are deciding these cases sense that while software is new, and different from mechanical devices like cotton gins, so are 'biological' devices, and new chemical compounds. It is their job to try to fit these new fields of knowledge into the existing legal framework. They know intuitively that arguments that claim that 'all software is just mathematics' are bogus; either incorrect or too broad to be useful in a practical legal framework.

[ Reply to This | # ]

Software Is Mathematics - The Need for Due Diligence, by PolR
Authored by: Anonymous on Saturday, October 15 2011 @ 12:33 PM EDT
The set of logical operations and data/movement/transformations is the part I say is math. It is the part which reads on the claim. The "lot more than math" required to create the process is not part of the claim. It is how the invention is derived. I am saying that a patent is granted on the claim and not on how the invention is derived. This is why the real question is whether the part which is claimed is math and the rest shouldn't be part of the analysis because whether or not the math is patentable shouldn't depend on how it has been derived.

...

The embodiment is the subject matter of the patent. This is what is being claimed. All the non mathematical operations is reduced into math. More specifically it is reduced into bits which carry meanings in terms of image and sound. These bits are manipulated by a mathematical procedure. The process is actually a mathematical computation. All the extra non mathematical elements are how it is determined which mathematical operations are required. They are not the embodiment.
You're wrong. First, process patents (which predate software patents by at least 200 years) are not for the final product, they're for the process. Processes are, and have been eligible for patents since patents were created in the US.

Second, in my video encoding example, how and why you can remove some information without it being perceptible and how you can remove information using motion compensation would be one or more of the claims, not merely the math behind it.

Third, applying your logic, every physical invention is reduced to just engineering, "which is just math", and since math isn't patentable, nothing is patentable. Under your theory, none of the engineering that went into it's design, none of it's benefits, none of it's features, are patentable, because the final product is just engineering, which is math, which isn't patentable. It's a completely specious argument. You're looking at the wrong level of detail.

Software embodies a process, and that process may be eligible for patent protection. Software is far more than just math, that's just the physical manifestation of the patented invention. Patents cover the key novel ideas and processes (i.e. the claims) that when into creating a product, not merely the final expression of the product (copyright covers a specific expression of certain types of products), that's why competitors can't make a product that does the same thing using the same method, even if it bears no physical similarity to the patented product.

[ Reply to This | # ]

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 )