|
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.
Mathematical language is written with symbols.
Mathematical language is used to describe the real world.
Mathematical computations are manipulation of symbols according to rules called algorithms.
Computations pursuant to an algorithm solve problems by mathematical means.
Bits are symbols represented by electronic and other physical means.
Bits may have meanings.
Without meanings assigned to bits, software is useless.
Patents on software usually contain limitations on the meanings of bits.
The meanings of bits are not physical properties of the signals.
There are no instructions in a computer instruction set for assigning meanings to bits.
The transistor activity in a computer is independent from the meanings assigned to bits.
Most modern digital computers conform to the stored program architecture.
Computers conforming to the stored program architecture implement an instruction cycle.
The instruction cycle is the process by which most modern digital computers carry out computations.
The instruction cycle is a procedure for manipulating bits which is implemented in hardware.
The instruction cycle has the capability of carrying out every possible computation provided it is given appropriate data as input.
Storing information in computer memory does not establish electrical paths within the computer.
Programming a computer does not change the instruction cycle.
Computations and algorithms are mathematical notions studied in mathematics.
Mathematicians have given meaningful limits to the mathematical notion of algorithm.
The instruction cycle falls within the limits mathematicians have given to the mathematical notion of algorithm.
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.
The use of symbols and their meanings is not factored in case law about the patentability of software.
Software patents grant exclusive rights to computations which are utterances in mathematical language.
Software patents raise First Amendment issues because of their reliance on the meanings of symbols.
Software patents raise issues akin to those the printed matter doctrine is meant to solve because symbols and their meanings are involved.
The execution of software is not a purely physical process because it requires meanings to be assigned to symbols in order to be useful.
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.
The execution of software is the execution of a mathematical procedure called an algorithm.
Computers don't work as WMS Gaming and the precedents this case relies on say they do.
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.
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.
Factually speaking, programming a computer does not make a new machine.
The facts used by the courts to rule that software is patentable are incomplete.
The facts used by the courts to rule that software is patentable are incorrect.
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.
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:
Are the results from expert research published in this literature considered in the precedents about the patentability of software?
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.
|
|
Authored by: Tufty on Wednesday, October 05 2011 @ 07:38 PM EDT |
Clue in the title please.
---
Linux powered squirrel.[ Reply to This | # ]
|
|
Authored by: Tufty on Wednesday, October 05 2011 @ 07:42 PM EDT |
Off tropic too
---
Linux powered squirrel.[ Reply to This | # ]
|
- Steve Jobs, Rest In Peace - Authored by: sproggit on Wednesday, October 05 2011 @ 07:55 PM EDT
- Steve Jobs, Rest In Peace - Authored by: Anonymous on Thursday, October 06 2011 @ 01:51 AM EDT
- Steve Jobs, Rest In Peace - Authored by: joe on Thursday, October 06 2011 @ 03:35 AM EDT
- Steve Jobs, Rest In Peace - Authored by: Anonymous on Thursday, October 06 2011 @ 04:27 AM EDT
- Steve Jobs, Rest In Peace - Authored by: Anonymous on Thursday, October 06 2011 @ 08:31 AM EDT
- Steve Jobs, Rest In Peace - Authored by: rsteinmetz70112 on Thursday, October 06 2011 @ 10:56 AM EDT
- Steve Jobs, Rest In Peace - Authored by: newbury on Thursday, October 06 2011 @ 11:09 AM EDT
- Steve Jobs, Rest In Peace - Authored by: leopardi on Friday, October 07 2011 @ 04:47 AM EDT
- Steve Jobs, Rest In Peace - Authored by: Anonymous on Thursday, October 06 2011 @ 05:51 AM EDT
- Steve Jobs, Rest In Peace - Authored by: Anonymous on Thursday, October 06 2011 @ 06:52 AM EDT
- Steve Jobs, Rest In Peace - Authored by: Anonymous on Thursday, October 06 2011 @ 04:53 PM EDT
- Yes, it does. - Authored by: Anonymous on Thursday, October 06 2011 @ 05:18 PM EDT
- Obama on Steve Jobs - Authored by: Anonymous on Thursday, October 06 2011 @ 09:22 AM EDT
- I hate to say it.... - Authored by: Anonymous on Thursday, October 06 2011 @ 05:20 PM EDT
- India launches "world's cheapest" tablet computer - Authored by: Anonymous on Wednesday, October 05 2011 @ 08:16 PM EDT
- Phishing attack - Authored by: Anonymous on Wednesday, October 05 2011 @ 09:45 PM EDT
- Phishing attack - Authored by: Anonymous on Thursday, October 06 2011 @ 02:32 AM EDT
- Phishing attack - Authored by: Anonymous on Thursday, October 06 2011 @ 08:17 AM EDT
- And variations - Authored by: Anonymous on Thursday, October 06 2011 @ 01:19 PM EDT
|
Authored by: Tufty on Wednesday, October 05 2011 @ 07:44 PM EDT |
Hack the hacks
---
Linux powered squirrel.[ Reply to This | # ]
|
- Missing tag - Authored by: Anonymous on Wednesday, October 05 2011 @ 07:54 PM EDT
|
Authored by: Tufty on Wednesday, October 05 2011 @ 07:45 PM EDT |
Keep up the good work please.
---
Linux powered squirrel.[ Reply to This | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- A general purpose computer in effect becomes a special purpose computer - Authored by: tyche on Wednesday, October 05 2011 @ 09:27 PM EDT
- A quick example - Authored by: Anonymous on Wednesday, October 05 2011 @ 10:00 PM EDT
- general purpose -> Turing Complete - Authored by: Anonymous on Wednesday, October 05 2011 @ 10:44 PM EDT
- A general purpose computer in effect becomes a special purpose computer - Authored by: Anonymous on Wednesday, October 05 2011 @ 11:12 PM EDT
- Patenting of functions. - Authored by: Ian Al on Thursday, October 06 2011 @ 04:04 AM EDT
- Patenting of functions. - Authored by: Anonymous on Thursday, October 06 2011 @ 05:29 AM EDT
- What??? - Authored by: jesse on Thursday, October 06 2011 @ 09:14 AM EDT
- Yes - Authored by: Ian Al on Thursday, October 06 2011 @ 10:58 AM EDT
- No - Authored by: darrellb on Thursday, October 06 2011 @ 01:15 PM EDT
- No - Authored by: Ian Al on Friday, October 07 2011 @ 04:13 AM EDT
- Wrong - Authored by: jumpman on Friday, October 07 2011 @ 03:33 PM EDT
- Wrong - Authored by: Wol on Friday, October 07 2011 @ 06:05 PM EDT
- No I'm not. - Authored by: Ian Al on Saturday, October 08 2011 @ 03:22 AM EDT
- Patenting of functions. - Authored by: Anonymous on Friday, October 07 2011 @ 05:48 PM EDT
- A new way to configure the light switches in office buildings. - Authored by: dougS on Thursday, October 06 2011 @ 10:17 AM EDT
- Entering a formula on a calculator is patentable - Authored by: Anonymous on Thursday, October 06 2011 @ 02:14 PM EDT
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- an algorithm must be a procedure for manipulating symbols - Authored by: Anonymous on Thursday, October 06 2011 @ 06:37 AM EDT
- A bit (1/0) represents the electrical state. - Authored by: ThrPilgrim on Thursday, October 06 2011 @ 08:20 AM EDT
- an algorithm must be a procedure for manipulating symbols - Authored by: jesse on Thursday, October 06 2011 @ 08:30 AM EDT
- Reminds me of XKCD - Authored by: AlexWright on Thursday, October 06 2011 @ 08:38 AM EDT
- an algorithm must be a procedure for manipulating symbols - Authored by: PolR on Thursday, October 06 2011 @ 09:16 AM EDT
- an algorithm must be a procedure for manipulating symbols - Authored by: Anonymous on Thursday, October 06 2011 @ 02:29 PM EDT
- plus... - Authored by: Anonymous on Thursday, October 06 2011 @ 04:56 PM EDT
- You got it wrong - Authored by: Anonymous on Thursday, October 06 2011 @ 07:35 PM EDT
- You got it wrong - Authored by: Anonymous on Friday, October 07 2011 @ 03:46 AM EDT
- You got it wrong - Authored by: Anonymous on Wednesday, October 12 2011 @ 12:19 AM EDT
|
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 | # ]
|
|
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 | # ]
|
|
Authored by: Anonymous on Thursday, October 06 2011 @ 08:16 AM EDT |
Your articles are too long. [ Reply to This | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- So you claim Algebra is not mathematics? - Authored by: jesse on Thursday, October 06 2011 @ 09:36 AM EDT
- Are algorithms mathematics... - Authored by: Wol on Thursday, October 06 2011 @ 09:41 AM EDT
- Are algorithms mathematics... - Authored by: PolR on Thursday, October 06 2011 @ 10:30 AM EDT
- Are algorithms mathematics... - Authored by: chriseyre2000 on Thursday, October 06 2011 @ 11:37 AM EDT
- Are algorithms mathematics... - Authored by: Anonymous on Thursday, October 06 2011 @ 11:40 AM EDT
- Are algorithms mathematics... - Authored by: PolR on Thursday, October 06 2011 @ 12:28 PM EDT
- except... - Authored by: sumzero on Thursday, October 06 2011 @ 12:34 PM EDT
- Not my intention... - Authored by: Anonymous on Thursday, October 06 2011 @ 05:40 PM EDT
- Not my intention... - Authored by: PolR on Thursday, October 06 2011 @ 06:11 PM EDT
- lay people - Authored by: sumzero on Thursday, October 06 2011 @ 06:12 PM EDT
- lay people - Authored by: jrw on Friday, October 07 2011 @ 05:09 AM EDT
- so... - Authored by: sumzero on Friday, October 07 2011 @ 09:13 AM EDT
- so... - Authored by: jrw on Friday, October 07 2011 @ 09:31 AM EDT
- incorrect - Authored by: sumzero on Friday, October 07 2011 @ 09:37 AM EDT
- so... - Authored by: PolR on Friday, October 07 2011 @ 10:52 AM EDT
- Splat - Authored by: Anonymous on Friday, October 07 2011 @ 12:15 PM EDT
- lay people - Authored by: jrw on Friday, October 07 2011 @ 05:14 AM EDT
- what? - Authored by: sumzero on Friday, October 07 2011 @ 09:00 AM EDT
- what? - Authored by: jrw on Friday, October 07 2011 @ 09:16 AM EDT
- Software was invented by mathematicians. - Authored by: Anonymous on Thursday, October 06 2011 @ 01:08 PM EDT
- Are algorithms mathematics... - Authored by: jesse on Thursday, October 06 2011 @ 01:48 PM EDT
- Abstract algorithms are mathematical objects. - Authored by: Anonymous on Thursday, October 06 2011 @ 01:06 PM EDT
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
|
|
|