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
Thank you for setting up the straw man. | 364 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
The USPTO Would Like to Partner with the Software Community ... Wait. What? Really? ~pj
Authored by: Anonymous on Friday, January 04 2013 @ 10:40 AM EST
There are standard pseudocodes to write algorithm. As far I remember the
standard way to write algorithms is to use an ALGOL like language.

[ Reply to This | Parent | # ]

The USPTO Would Like to Partner with the Software Community ... Wait. What? Really? ~pj
Authored by: Anonymous on Friday, January 04 2013 @ 11:46 AM EST
I'm actually suprised that no-one has used the defence of "that patent
doesn't actually describe a *specific* invention" yet.

It should be an open-and-shut defence due to patent claims being so wolly.

[ Reply to This | Parent | # ]

The USPTO Would Like to Partner with the Software Community ... Wait. What? Really? ~pj
Authored by: Anonymous on Friday, January 04 2013 @ 11:59 AM EST

I think I would shoot a C programmer that generated that hcf routine. It took me a while to figure out what was going on.

Also, is that loop guaranteed to terminate on all architectures? In particular, does it handle negative inputs, zero inputs, and inputs where n1 is less than n2 across all architectures correctly.

[ Reply to This | Parent | # ]

The USPTO Would Like to Partner with the Software Community ... Wait. What? Really? ~pj
Authored by: Anonymous on Friday, January 04 2013 @ 02:45 PM EST
Your Original C code loop finishes when n2 is equal to r in the description when
r is equal to 0 (zero)

for (; r = n1 % n2; n2 = r) n1 = n2;

would not this be the correct code?

for (; r = n1 % n2; r = 0) n1 = n2, n2 = r;

[ Reply to This | Parent | # ]

Thank you for setting up the straw man.
Authored by: reiisi on Friday, January 04 2013 @ 08:50 PM EST
This is argument from false hypothesis, but the patterns can be instructive.

First, I know a lot of programmers, involved in high-level design of systems,
who would not have been able to reduce the claims to pseudocode or flowchart.

Therefore, I would suggest that patent applications which try to claim software
implemented inventions must include either pseudocode or flowcharts or both, and
that any pseudocode or flowchart not comprehensible by some patent examiner be
set aside as not being possible to patent. Some patent examiner somewhere has to
sign off as having understood the pseudocode/flowchart part and agreed that the
claims and the code are related.

Second, you present first and second approximation reductions to pseudocode.
They are not necessarily equivalent, depending on the state of mind of the human
reading them. Your pseudocode needed some more work in either case, which
provides a perfect example of something about current software patents.

Neither the patent office nor any court should be allowed to read the provided
pseudocode and/or flowcharting as it should have been written. What the patentee
should have intended cannot be part of the legal process. Only what the patent
itself says. Patents must be read as written, implementation errors and all. And
an error in implementation must be allowed to at least partially void a claim,
especially if there is no evidence elsewhere in the patent to substantiate the
claim.

Buggy patents should not be allowed to establish claims on other people's
working inventions. At least not blocking claims, or claims that would induce
undue burden on the independent inventor.

The pseudocode provided must establish limits to the claims.

Third, the reduction of pseudocode to real code is not automatic. It is not a
determinant process. You demonstrate that in providing a K&R C
implementation and two BASIC version implementations.

This is where the rubber meets the road in patents. Most inventions involving
ideal rods, levers, pulleys, and other basic elements are just simply no longer
patentable. Done before. Many times. Nothing new without materials and other
subtle factors being considered.

Current inventions in the tangible realm have to do with tensile strength,
elasticity, plasticity, etc.

In the software realm, all of the fundamental algorithms have been part of the
state of the art since the 1960s and before. Anything unique enough to be worthy
of patent in the industry since the 1960s and on would require specific
limitation by the behavior of the compilers, interpreters, run-time
environments, libraries, OS context, and actual hardware.

Your C program, as you note, will behave differently when compiled on different
machines. If we assume that it was intended to run correctly, we have to assume
some definition of correctness, and, without specifying the compiler and the
processor, and, for many processors, the run-time providing the modular division
operator, we don't know that your invention works as we understand it to be
advertised.

Furthermore, a program that runs under BBC basic on a BBC would have subtle
differences from one that runs under a BBC emulator on Fedora 17. Such
differences may or may not alter the behavior of the code provided relative to
the claims.

With C, as a particular case-in-point, software that takes advantage of
non-obvious behavior has been quite common. Some of the underpinnings of the
early Unix systems depended heavily on compiler bugs, bugs that allowed code to
be produced in a concise form that fit within the hardware limits of the
computers of the day. So-called "standards conformant" source code to
achieve the same were not compilable by the early compilers. Code produced by
"correct" code compiled by standards-conformant cross-compilers of the
present would not have fit on the old machines.

The patent office and the courts are not responsible, cannot be held responsible
to finish an invention for an inventor. That would be cheating for the guy with
the quickest pen and the most money.

Thus, the source code provided, and the specifications of run-time environment,
including compilers, interpreters, OS and hardware, must be establish limits to
the claims. Patents asserting implementation in software which do not include
source code should be considered to have no limiting claims to take to court
against anyone, and thus rejected.

And test results should also be part of the claims, and required, I think. Some
proof that the machine actually meets the claims being made for it should become
part of the process for the tangible patent realm, as well.

If someone patents an amazing invention that does not work and some other
inventor fixes the bug, the inventor of the fix should be allowed legal tools to
get his share of the patent on the working invention.

(We have many examples in the last century where this was not practiced in
tangible patents, with appalling results. The mere fact that such has been the
practice, that good inventors have died penniless, that some have committed
suicide due to legal proceedings that were given to the entity with the most
staying power, etc., should not be understood to have fulfilled the
Constitutional requirement about inventions and inventors.)

Well, in the past, the aberrations were few enough that we could justify (in our
own minds, but not really) the lack of justice in some cases of patent practice.
The prevalence of non-practicing entities in the current world removes any
ethical or moral cover to the fiat justification.

If we are to fulfill the Constitutional mandate concerning rights to inventions
being secured to the inventors, we can no longer be so lax.

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