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
software has to be written and compiled for specific hardware | 1347 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Stuff that I can do with my laptop I just can't do on my phone.
Authored by: Wol on Sunday, June 10 2012 @ 08:35 PM EDT
Why not?

I presume your phone has an ARM chip. I could compile Bosch for your phone,
install Windows on it, and copy the contents of your laptop onto it.

SIMPLE.

Or is it the hardware that's the problem? The ARM chip is too slow? The phone
doesn't have enough memory to store the contents of the laptop's hard disk? I
bet that's it.

The point is, you may be right, but it's not the software that's stopping you.
It's the fact that the phone HARDWARE isn't up to the job. It's a HARDWARE
problem, nothing to do with the software.

Cheers,
Wol

[ Reply to This | Parent | # ]

Hardware too small or slow or programmers unwilling errors...
Authored by: Anonymous on Sunday, June 10 2012 @ 11:09 PM EDT
Aren't usually the realm of nonobviousness.....

That is, a general-purpose computer running whatever favorite high-level
language you like should be targetable by your software, as long as it is large
enough and fast enough. JAVA specifically targets that dream, as does
Android...as long as the necessary I/O is available. I can't think of a
platform that doesn't support, for example, the C programming language, if only
to write the JVM/Dalvik VM....

Now, cramming something into just a little space, or a little CPU time, that's a
different story..

Notice that our "good patent" in discussion, the swipe patent for the
on-screen keyboard, has a general-purpose computer in there, somewhere, with
specific inputs and outputs. We know almost nothing about it, except for that
it has certain I/O present and available.

[ Reply to This | Parent | # ]

software has to be written and compiled for specific hardware
Authored by: Anonymous on Sunday, June 10 2012 @ 11:50 PM EDT
Stuff that I can do with my laptop I just can't do on my phone.

Get yourself a different phone then. There's nothing you can do on your laptop that you can't do on the right phone (e.g. Nokia N900 with a Debian image). You might do it more efficiently on your laptop, and you might not want to do it on your phone, but there's no "can't" here.

[ Reply to This | Parent | # ]

software has to be written and compiled for specific hardware
Authored by: Anonymous on Monday, June 11 2012 @ 03:16 AM EDT
I could create a pianola roll that, if put into a piano with a microphone and FM
radio, control a simple remote control car. That would be an inventive use of a
pianola!

[ Reply to This | Parent | # ]

Patent Protection is too Broad and too long to work for software
Authored by: RMAC9.5 on Monday, June 11 2012 @ 03:22 AM EDT
But, I will note that patents cover methods, so the question is whether putting a new roll in a pianola is a new way to solve some practical problem. I say no (and probably not with the loom either). But if putting software in a machine is a new way to solve a problem, then it is a new use for the machine, and that is a process worthy of consideration.

I respectfully disagree with the underlined quote above for the following reason:

Patents protect new and useful ideas.
Patents (and especially software patents) as they are written, filed, and litigated today, are overly broad because they are used to protect ALL expressions of an idea. They paint with too broad of a brush. In today's world, for example, the first software patent for a compiler for a specific language for a specific operating system for a specific piece of computer hardware would be used to prevent everyone from writing compilers for their languages, their operating systems, and their hardware. If software patents were limited to specific expressions of the idea (e.g. in the above example, the specific language, O/S, and hardware), were granted for far less than 20 years, and contained enough detail (e.g. source code) so that "persons having ordinary skill in the art" could reproduce them, then and only then, could the current patent system work.

Because copyright protects specific expressions of new and useful ideas, but doesn't prevent others from using these ideas to solve their own set of problems, most of us posters on Groklaw believe that copyright is both necessary and sufficient (even thought 99 years way too long) to protect software IP.

[ Reply to This | Parent | # ]

The Jacquard loom
Authored by: Ian Al on Monday, June 11 2012 @ 07:07 AM EDT
The Jacquard loom, awarded a patent in France by Napoleon in 1805, was actually
a plug-in for the standard loom of the day. The plug-in got the patent.

The chains of punched cards contained algorithmic instructions for the mechanism
and loom which wove the textile into patterns. The patterns were copyright
protected rather like the earlier lace patterns.

Changing the algorithm changes the pattern. Changing the piano roll changes the
tune and changing the software changes the manipulation of binary symbols in the
computer memory.

If those binary symbols were electro-mechanically sent to a Jacquard loom
assembly, then they could produce patterned fabric on the loom.

It's got to be the right algorithm that produces the same binary values as the
rows of holes in the cards passing over the loom. And, of course, it would be
protected by copyright. Why would you allow it to be protected by patent thus
foreclosing on a particular range of fabric patterns?

Software functions should only be foreclosed to software writers when they are
used as a component in a whole, well defined invention for which the significant
post-process activity is the whole and sole purpose of the invention, as in
Diehr.

If the purpose of the patent is limited to the software or the software and
generic peripherals then Benson tells us it is foreclosing on math algorithms
and that is barred. If the post process activity is merely informing an observer
of a computer then it is barred by Flook.

It is also barred by Fluke if, when considered as a whole invention, it contains
no inventive concept. How is an inventive concept to be demonstrated in a stored
program?

In the past the courts have accepted the abstract ideas behind what the software
is made to do as sufficient. Bilski explained that it was wrong to do this
especially if the lessons from Benson, Flook, Diehr, Bilski-itself, and Mayo are
discarded.

Computers do stuff by having a software programmer come up with an abstract idea
for algorithms to create patterns in memory that can be sent to a loom, screen,
precision-cured-rubber-component production line, audio system or nuclear power
station.

Only when used in the context of the whole patented invention should functions
be precluded in the software. A patent should not preclude software from playing
music, displaying video, weaving textiles or printing on media using generic
peripherals because that is barred by Benson, Fluke, Bilski and Mayo and is not
a single, specific invention.

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

[ Reply to This | Parent | # ]

Linux will not run without the proper kernel
Authored by: Wol on Monday, June 11 2012 @ 07:23 AM EDT
What what what ... !!!

Linux *I*S* the kernel. So you've clearly missed the whole point of that
particular comment.

Which was that the very piece of software that is intended to interface
*directly* with the hardware, actually does a far better job of it if there is
yet another layer of software indirection between it and the hardware it is
supposed to be managing.

Software is an abstraction on an abstraction on an abstraction. It's turtles all
the way down :-)

Cheers,
Wol

[ Reply to This | Parent | # ]

A virtual machine is not hardware
Authored by: Anonymous on Monday, June 11 2012 @ 09:04 AM EDT
> Java will not run without the proper virtual machine.

I don't understand how confused you must be to consider a
virtual machine hardware.

Any software can be run on any hardware subject to memory
limitations. This is what the Church–Turing thesis says.

Software written for IBM PCs will run on my phone. Software
written for 60s hardware will run on my phone. And software
written for my phone will run on Intel based PCs.

And what about interpreted languages e.g. LISP/Scheme? There
is no compilation step and they will run on anything with an
interpreter. How can that software be written for some
hardware?

This nonsense invalidates anything you can possible say.

[ Reply to This | Parent | # ]

software has to be written and compiled for specific hardware
Authored by: PolR on Monday, June 11 2012 @ 10:36 AM EDT
But if putting software in a machine is a new way to solve a problem, then it is a new use for the machine, and that is a process worthy of consideration.
This argument doesn't account for the many software patents which are drafted to a machine instead of a process.

Also the pervasive view that software is ultimately a hardware invention skews how the law thinks of software. Computers are symbol processors. Computer programs are often methods for pushing around the symbols. When we dig into the math of software, we find this pushing around of symbols are operations of logic. This notion is captured by the Turing equivalent of Horn clause logic or by the Curry-Howard correspondence.

I would surmise that a hardware invention requires a different legal analysis than a method about processing symbols according to laws of logic. I think we can weed out a lot of silly patents by getting rid of the view that software is ultimately a hardware invention. This notion is factually false and this error makes it difficult to get the analysis correctly done.

[ Reply to This | Parent | # ]

software has to be written and compiled for specific hardware
Authored by: drakaan on Monday, June 11 2012 @ 11:22 AM EDT
...But if putting software in a machine is a new way to solve a problem, then it is a new use for the machine, and that is a process worthy of consideration...

...And there's the fundamental disagreement. We're not talking about a new use for an *existing* machine, we're talking about a new machine period, when talking about patents, software or otherwise. I don't get to patent the internal combustion engine as a new type of hammer for pounding in large nails more efficiently, right?

When the machine in question is a general-purpose digital computer, putting software in a machine causes it to manipulate numbers. It may be handy that the machine has a touchscreen, and someone may create a program that makes better use of the touchscreen hardware than previously (swype, pinch-to-zoom, slide-to-unlock), but it's the same machine.

That's the thing about general-purpose computers. They are designed to be able to do pretty much anything. Software is how you issue instructions, but hardware is what gives them the capability to do anything.

---
'Murphy was an optimist'
-O'Toole's Commentary on Murphy's Law

[ Reply to This | Parent | # ]

If software is a new way to solve a problem, then it is a new use for the machint?
Authored by: Anonymous on Monday, June 11 2012 @ 11:44 AM EDT

You said:

But, I will note that patents cover methods, so the question is whether putting a new roll in a pianola is a new way to solve some practical problem. I say no (and probably not with the loom either). But if putting software in a machine is a new way to solve a problem, then it is a new use for the machine, and that is a process worthy of consideration.

The problem with what you say is that "a new way to solve a problem" often entails simply applying a different set of encoding abstractions to an identical system in order to produce different results.

To illustrate, let us suppose that I have someone with whom I wish to communicate privately, to tell her things that no one else should know. Electronic and paper messages are out, as they are too easily intercepted. But she has a pianola, and therein I find the answer to this problem.

I devise a scheme that uses the notes of the pianola to represent--to encode--language characters. With 88 keys, it can cover all the letters of the alphabet, digits, and punctuation. I obtain a device that makes pianola rolls. I personally deliver to her the mapping of notes to characters. I produce rolls that encode messages that I wish her to have, and send them to her. The pianola is now a secure communications system.

Now, the pianola was designed as a means of playing music. By re-purposing it as a communications system, I have developed a new way to solve a problem. Does that make my idea worthy of patent consideration?

I haven't changed the hardware in any way; it is exactly the same as it was before. All I have done is simply to change the abstraction--the meaning--of its input and its output.

I write software for a living, and I have become aware after going at it for a couple of decades that just about the only thing my programs do is: 1) encode abstractions in data, 2) perform necessary calculations on that data, and 3) send the resulting data to another program that does its own encoding and calculation, finally concluding when the resulting data is output in some form of encoding that is meaningful to humans (say, text or lights).

It's all abstract. A single piece of software might even solve more that one problem through applying different abstractions to the data encoding, as with the pianola. I think this is where software might be clearly distinguished from hardware. A method for making high-carbon steel, say, has a particular, clearly measurable, physical outcome. Software, on the other hand, results not in a particular physical state, but rather in a particular interpretation of a physical state. It's a very real difference.

[ Reply to This | Parent | # ]

Wrong on EVERY COUNT, Mr. Risch.
Authored by: Anonymous on Monday, June 11 2012 @ 12:00 PM EDT
"But, I will note that patents cover methods, so the question
is whether putting a new roll in a pianola is a new way to
solve some practical problem. I say no (and probably not
with the loom either)."

Yes, it is a new way to solve a practical problem: the problem of playing that
particular piece of music. (Heck, perhaps it's the call to arms and has direct
military use.)

And yet it's still not patentable.

" But if putting software in a machine
is a new way to solve a problem, then it is a new use for
the machine, and that is a process worthy of consideration."

No, it's not. The original, INTENDED use of the general purpose computer is to
run ALL POSSIBLE software. Perhaps this is what you keep failing to understand.
If putting new software into a washing machine turns it into a toaster, THAT
might well be patentable.

However, the general purpose computer was DESIGNED FROM THE START to run all
possible software. Running new software on it to do something else is NOT a new
use, it is an INTENDED AND SUGGESTED use.

Perhaps the fact that you've never studied the early history of computers
(invented by mathematicians, by the way) is the reason you don't understand
this. The IBM PC came with an assembly language manual because it was INTENDED
and SUGGESTED that all possible software be used with it.

"And I knew going in that most people wouldn't agree with me
:)"
Because you're wrong. What will it take to get you to realize that people here
disagree with you because you have your FACTS wrong? (Not your law... your
FACTS.)

"As for the hardware - of course you can have software
written to run on different platforms, but I assure you that
Windows 3.1 did not load on a Mac SE,"

Yes it did. I ran it on a Mac SE. Ever heard of emulation?

[ Reply to This | Parent | # ]

software has to be written and compiled for specific hardware
Authored by: NigelWhitley on Monday, June 11 2012 @ 12:17 PM EDT
IMHO your "but" neatly identifies the slippery slope down which
software development has been thrown. The argument runs that, since a method can
be patented, a method of doing something with software can be patented.

The first question here is how vague a "method" can be and still be
patentable. That is key (IMHO,IANAL) because patents should not be granted where
they preclude all uses of the underlying natural laws. For a business process it
may be difficult to identify which natural laws are being used. We have seen in
Prometheus that for a medical process, the patent may obscure that the method is
fencing off all uses. Your argument about inserting a new piano roll could
equally be applied to a method for processing the results of blood tests and
lead to the (IMHO) erroneous conclusion that the patent should be granted.

The second question is how precise a patent needs to be before it excludes the
mathematics underlying an algorithm. The answer (again IMHO) is that it can
never be that precise. One could argue that a patent could possibly apply if it
provided the binary (not source) code for the specific hardware and even then
only if that specific code was not necessary for compatibility with some other
interface (Oracle please take note). But that protection is amply covered by
copyright. That definition also covers all possible source code implementations
which result in the same binary. For small sections of code, the chances that
any implementation will resolve to the same binary is quite high (we're only
talking about sequences to manipulate numbers and to decide whether to jump to a
different execution point). If one could patent based on source code then it
excludes all possible resulting binaries. In practice, we both know that most
software patents never approach that level of detail and create a vast wasteland
from the field of possible approaches.

As for the last paragraph - are you suggesting that Windows 3.1 should be
patentable? Or that it's OK to patent a software implementation that allows an
algorithm to be run on a phone because it was only previously able to be run on
a laptop? I find it impossible to support either position and I'm frankly
surprised that someone with a technical background is implying that it would be
reasonable. It may appear that I wish to unfairly deny a clever programmer their
right to make a profit but IMHO I do not. They should be free to sell the
resulting code for whatever the market will bear. Did Windows 3.1 need patent
protection to make money? Or Java? Should Visicalc have been patentable because
it allowed the kind of financial modelling previously only available on big
metal? I say no to all of those questions and, inevitably, no to software
patents.

Thanks for the article and for taking the time to debate this here on Groklaw.
---------------------------
Nigel Whitley

[ Reply to This | Parent | # ]

"new use for the machine"?
Authored by: Anonymous on Tuesday, June 12 2012 @ 10:59 AM EDT
But if putting software in a machine is a new way to solve a problem, then it is a new use for the machine, and that is a process worthy of consideration.
The machine (general purpose computer) was designed to run all possible combinations of compiled code instructions, therefore no software can be considered a "new use for the machine".

[ 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 )