decoration decoration
Stories

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

Gear

Groklaw Gear

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


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

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

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
How about "algorithm"? | 758 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
First, stop using the word "Software"
Authored by: PolR on Monday, October 15 2012 @ 12:37 AM EDT
I hear you. Perhaps those who write amicus to the Federal Circuit will follow
your suggestion.

One more thing. The part of math which is relevant to software is not a part of
math primarily concerned with numbers. It is a part about symbols. They could be
used to represent numbers. They could be used to represent other things as well,
like boolean values and machine instructions.

This may come as a surprise to people who have grown accustomed to associate
math with numbers. There is indeed such a thing as a part of math about
symbols.

[ Reply to This | Parent | # ]

How about "algorithm"?
Authored by: scav on Monday, October 15 2012 @ 07:26 AM EDT
Would this be persuasive?

The word "algorithm" has a specific meaning in mathematics,
which is also the accepted meaning as a term of art in
related fields (such as software engineering). It is
undisputed by experts in all these fields where the word
"algorithm" is used, that an algorithm per se is an abstract
mathematical construct or idea.

A physical machine or a compiled computer program running on
one does not *contain* an algorithm as a component. Nor does
a computer program in the form of source code (a sequence of
symbols). It may *express* the steps of the algorithm in
various ways depending on the computer language chosen and
the writing style of the programmer. The algorithm itself is
an abstract idea. It just happens to be an abstract idea
that can be expressed with mathematical precision.

Therefore at the very least, the algorithmic intent of a
computer program is not patentable subject matter, and the
form of expression of the program is already protected by
copyright. If there is some other part of a computer program
that is neither the algorithm it expresses, nor the
mathematical notation used to express it, then I don't know
what it might be. I am content to let the USPTO answer that
one.

The phrase "software is mathematics" can then be taken as
shorthand for "software consists of specialised mathematical
notation precisely expressing the steps of an algorithm, and
an algorithm is indisputably an abstract mathematical idea."

Anyone see any holes that need filled there?

---
The emperor, undaunted by overwhelming evidence that he had no clothes,
redoubled his siege of Antarctica to extort tribute from the penguins.

[ Reply to This | Parent | # ]

Can't, shan't, won't!
Authored by: Ian Al on Monday, October 15 2012 @ 08:21 AM EDT
First of all, the symbols '1', '0', 'on', 'off', 'true' and false binary values
in most computers are represented by pairs of voltage levels (as PolR explained.
I think he meant to say 5v and 3.3v, but even this is not accurate. One needs to
refer to the international standards for RTL, TTL and MOS logic levels to be
sure. We don't even know what the equivalents are inside memory and inside
processors). There can be lots or little current flowing to produce these
electrical symbols depending on the circuits chosen by the designers.

(In passing, switching a simple transistor stage 'on' causes the voltage across
the transistor - and thus the voltage output - to drop to below one volt and the
current through the transistor to change to the maximum the circuit will allow.
Turning it 'off' pushes the output almost to the supply rail (5v in the good old
days) and the current to drop to a minimum for the circuit. In other words,
switching the transistor 'on' produces a '0', 'False' and 'Off' symbol at the
output.)

The computing engine does not use electrical switches. As PolR also explains,
the computing part of the computer does all of its work by applying these
symbolic voltages to electrical circuits that produce output symbol voltages by
applying the boolean functions of OR, AND and NOT (although, there are
alternative boolean equivalents that may be used and that is something which has
a mathematical proof).

The word software is a good one, if used correctly. It means something that is
ephemeral rather than permanent or hard. We cannot produce the complex files of
executable symbols needed for computers these days without using higher levels
of computer language. Without the word 'software' what else are we to call the
result of 'programming'?

I think I can see your point, though. Software has come to mean the temporary
stuff that allows you to do things using your computer device. In the same way,
a magic wand is what you use to produce a rabbit from a hat.

The machine code symbols are electrical values that are passed to the boolean
logic gates inside the processor and other computer parts like memory. Some of
the symbols are accepted as instructions to the processor and others are used as
the symbols to be manipulated. The voltage represented symbols are math
language.

Source code is human readable math algorithms when presented as a text
representation to the programmer. The symbology is not a one-for-one match to
machine code symbols. The source code bunch of symbols can be compiled to a
fully equivalent bunch of machine code symbols. When stored in the computer the
source code symbols are translated into binary-based, voltage-based symbols that
can be passed to processor and memory. These bunches of symbols have a
one-to-one relationship with the bunches of text symbols represented to the
programmer.

The term software, further subdivided into source code, intermediate code and
machine code, is essential to explain to courts, in detail, why software is
math. If you use another term, the lawyers will wonder why you are taking the
trouble to explain all this stuff.

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | Parent | # ]

Software is more than instructions
Authored by: Anonymous on Monday, October 15 2012 @ 12:34 PM EDT
The problem is with this is that you are only referring to the written instructions that are covered by copyright. Those instruction include code in some computer language, bytecode, assembly and perhaps machine code. You are forgetting that there is an outcome from that software.

What is ignored is that those instructions produce a result. While a recipe can be copyrighted to a very limited extent (such as in a cooking book), an automated coffee making machine are patented (well, aspects are). Just put a pod or similar to get that ideal cup of coffee/hot chocolate/tea/etc. Each pod has some instructions that the machine reads and follows with potential user overrides.

The point is that software creates a product that is more than just the sum of the pieces. It is not sufficient to ignore that just because some of that product is not physical, it should not be patentable.

The real reason why software is not usually patentable is that there is a huge amount of prior art. Likewise, much of the single-serve coffee machines are not covered by any patents or even copyrights.

[ Reply to This | Parent | # ]

a nitpick
Authored by: mcinsand on Monday, October 15 2012 @ 12:41 PM EDT
Sorry, but I can't help myself:

>>The computer, since it is electrical, can basically only
>>recognize current and no current.

Probably better to say 'voltage and no voltage.' Many of the transistors in a
computer are Field Effect Transistors, which respond to voltage, rather than
current. These are the transistors that are static-sensitive. BJT's (Bipoloar
Junction Transistors) are current amplifiers, and there are some in the
computer, as well. Except for special cases where we might have inductive
systems with flowing current inducing voltage, the existence of current depends
on voltage while the existence of voltage does not depend on current (static
electricity, anyone?). So, if viewed that way, the BJT's depend on the voltage
to drive base->emitter current for their signal response.

Regards,
mc

[ Reply to This | Parent | # ]

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

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