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
Irish Linux Groups Write Their MEPs About SW Patents
Wednesday, March 16 2005 @ 11:46 AM EST

The Irish Free Software Organisation, the Irish Linux Users' Group and KDE (Ireland) have sent a briefing document on software patents to Ireland's MEPs.

Following that thread, I came across a list posted earlier on ISFO's web site, 10 Reasons Why Software Ideas Must Remain Free From Patentability. I thought it would be helpful to share them with you, particularly with those attending the UK workshops, and I wanted to ask if those of you who are either lawyers, patent searchers or programmers could please explain number 7 in more detail? I'd like to understand that point better:

7. Software is abstract, like math. Software ideas can be described in any number of ways, so searches for software patents would be hit-and-miss. Reliably avoiding patent infringement would be impossible.

Number 9 is compelling, as well. Here's the entire list.

***************************

1. There are currently no costs, waiting periods, or application forms required for software development. Patentability would radically change this and would invalidate many development and business models.

2. Software already has "ownership rights" via the copyright system. Copyright is instant, costs nothing, and doesn't interfere with independent development.

3. If companies could purchase exclusive rights to the use of techniques required by their defacto standards, they could choose their competitors. "Competition" would become an inside joke, and preventing competition would be completely legal and above board.

4. Small and medium enterprises can't afford patents, they can't spare time for patent searches and they can't risk the cost of contesting an accusation in court.

5. The patent term (20 years) is absurdly long in terms of the software industry.

6. Innovation in software is incrimental, new ideas build on the old. To advance the state of the art, developers must be permitted to build on top of the state of the art.

7. Software is abstract, like math. Software ideas can be described in any number of ways, so searches for software patents would be hit-and-miss. Reliably avoiding patent infringement would be impossible.

8. Engineering, manufacturing, and pharmacutical patents are industrial regulations. Software idea patents would place restrictions on what all businesses and all individual computer owners can do with their computer.

9. In the USA, to get around the burden of software idea patents, the Big Players of the software industry have formed cartel-like patent sharing agreements. Small and medium enterprises cannot afford to join these agreements, and NONE of the Big Players are European companies.

10. For Europe to develop it's own software industry, we must retain the right to write our own software - without having to ask permission or pay royalties to current (foreign) market leaders.


  


Irish Linux Groups Write Their MEPs About SW Patents | 223 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
OT Here please
Authored by: roboteye on Wednesday, March 16 2005 @ 12:01 PM EST
and if possible - links.

Format is : <a href="http://example.com">click here!</a>

and post mode should be HTML

Many thanks

[ Reply to This | # ]

Corrections here S.V.P.
Authored by: roboteye on Wednesday, March 16 2005 @ 12:04 PM EST
Not that there should be any, but you never know :-)

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Wednesday, March 16 2005 @ 12:04 PM EST
"7. Software is abstract, like math. Software ideas can be described in any
number of ways, so searches for software patents would be hit-and-miss. Reliably
avoiding patent infringement would be impossible."

The number '5' could be expressed as
6-1, 7-2, 8-3, 1+4, Square Root of 25 etc.
If you want to express the number '5', you might come stuck if someone had
patented "96-1".

I think this is what they are getting at PJ.

Regards

PaulB.

[ Reply to This | # ]

I already wrote to mine.
Authored by: aug24 on Wednesday, March 16 2005 @ 12:06 PM EST
Text of his reply in child post for neatness.

I suggest all you Europeans do the same, and I hope you all get a reply like
this.

Justin.

---
--
You're only jealous cos the little penguins are talking to me.

[ Reply to This | # ]

please explain number 7 in more detail?
Authored by: Nivuahc on Wednesday, March 16 2005 @ 12:18 PM EST
Here is my feeble attempt to explain. I'm a newbie at C so forgive me if I hose this all up.

Something as simple as this:

printf("You are %d
years old.\n",age);

can be described in many, many different ways.

  1. It prints information to the screen
  2. It prints formatted information to the screen
  3. It reads the value of a variable and modifies a statement based on that value
  4. It enables the use of variables when manipulating a string of text
And plenty of other things that I'm sure you could come up with.

---
My Doctor says I have A.D.D... He just doesn't understand. It's not like... Hey! Look at that chicken!

[ Reply to This | # ]

EU Procedure
Authored by: AdamBaker on Wednesday, March 16 2005 @ 12:23 PM EST
I posted this under the last article but it is more relevant here.

I found a link to something that nicely documents the EU directive process http://europa.eu.i nt/eur-lex/en/about/abc/abc_21.html . Of course google found it for me via a post in an FSF Europe mailing list as free software developers seem to be the main source of interest in the EU process!

From my reading the procedure that applies is the co-decision procedure. The good news is "The co-decision procedure denies the Council the right to adopt its common position if efforts to reach agreement with Parliament fail."

Basically, although an absolute majority of MEPs are required to reject a proposed directive at second reading, only a simple majority is required at 3rd reading. The idea behind that seems to be to ensure that there is an opportunity for the concilliation process between 2nd and 3rd readings.

It would still be best if we can get an ammended directive that really does block software patents. Apparently new ammendments are permitted which are based on earlier ones but not completely new ones during 2nd reading. Anything goes during conciliation but only a few MEPs are involved in that. The 3rd reading is a final yay or nay with no ammendment possible at that stage.

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Wednesday, March 16 2005 @ 12:27 PM EST
11. Government and large corporate software development tends to be contracted
to the large consultancies who are not generally party to patent sharing. The
risk that any large development, or even simply deployment, will infringe
software patents is very high and therefore large consultancies will simply add
a risk premium to all development - making aleady very expensive contracts even
more so.

[ Reply to This | # ]

SW Patents...
Authored by: Anonymous on Wednesday, March 16 2005 @ 12:29 PM EST
You invented a new distributer for cars. It has special gearing to adjust the
timing advance as the engine speed changes. You can patent this device and I
agree that you should.

I look at your device and say, "That could be done with a program...".
So I attach a monitor to the CAM shaft to get it's speed and interface into the
igension (sp).

Questions:
1) Should I be able to patent my invention?
2) Would I have to show your patent as prior work?
3) Would my Invention be in violatation of your patent?

[ Reply to This | # ]

7. Software is abstract
Authored by: swmcd on Wednesday, March 16 2005 @ 12:51 PM EST
Here's one problem. From

http://lpf.ai.mit.edu/Patents/against-software-patents.html

The Patent Office does not have a workable scheme for classifying software
patents. Patents are most frequently classified by end results, such as
"converting iron to steel;" but many patents cover algorithms whose
use in a program is entirely independent of the purpose of the program. For
example, a program to analyze human speech might infringe the patent on a
speedup in the Fast Fourier Transform; so might a program to perform symbolic
algebra (in multiplying large numbers); but the category to search for such a
patent would be hard to predict.

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Wednesday, March 16 2005 @ 01:00 PM EST
This number #7 can be described as a theoritical question.

Given any two programs do these two programs produce the same output for all inputs?

This has been answered by many researchers.
Alan Turning, Post, I am sure there are others that are not at the top of my head right now.

This problem belongs to a class of problems which is called NP-complete. That is just a fancy way of saying that it can not be computed in polynomial time. Which just means that the problem does not scale nice. The biger the inputs (program size and input size the longer it takes maybe not in a predictable amount of time).

If fact the situation is even worse. No computer program known (or that can be constructed with know computing methods) can answer this question for any to given general program and be stop in finite time or to find the answer in bounded time.

That is the therodical result is has been established. If you find a counter example you will be famious and I think there is a prize you can collect as well on the internet. In short the results look sure.

(A book that does explain the background for this is "Godel, Escher,Bach:" by Douglas R. Hofstadter. (c) 1979 by Basic books. Library of Congress number QA9.8.H63 1980) There are other books that talk on this same subject but I like this one. It even has something for people that are new to the ideas involved so even beginers can get something out of this book).

Now how to describe this to someone without the necessary theory background.
(this is easy to see if with example but there are some easy objections too).

Take a simple discription like "print out all primes 2-n for a given n.

but the programs which implemet this can look very different.

1)

#include "math.h"
int primes(int n)
{ int i; int j, ok;
printf("primes for [2 - %d] are:n",n);
for (i=2; i {
ok=1;
for (j=2; j {
i%j==0 ? ok=0 : ;
}
if (ok) printf("%d ",i);
}

2)

int primes(int n)
{
int i,j, ThisIsNotAPrime;
printf("primes 2-%d are:n", n);
for (i=2; i {
ThisIsNotAPrime=0;
for (j=2; j {
if ((i/j)*j == i)
{
ThisIsNotAPrime=1;
}
}
if (ThisIsNotAPrime)
printf("%dn");
}
printf("done!n");
}

3)

#include
void FindPrimes(int n)
{
char *memory;
int i;
memory = (char *) calloc(n);
for (i=2; i {
for (j=i; j memory[j]=0;
}
printf("primes are: n");
for (i=2; i {
if (!memory[i]) printf("%d", i);
}
free(memory);
}

All thress of these should print out primes.
Now will they all produce the same answere for all n.
[Hint: what I happend if I run on a machine with only 32K of memory free].

[Note: also while these three programs are correct in theory.
I have not compiled them nor debuged them. But I think a good programmer could take any one of them and debug it to get the correct results. My point is to show an example not to have running code. I can not do that on my lounch hour].

I hope this helps. It may have been a little long but I hope it does give a feeling for the type of problem.

a florida resident.

[ Reply to This | # ]

Software Patents themselves are not really the problem
Authored by: Anonymous on Wednesday, March 16 2005 @ 01:21 PM EST
Software Patents themselves are not really the problem,
its the fact that the Patenting authority (USPTO in the
states), is unable to provide the measures necessary to
make the system work.

I beleive that the raw naken idea of being able to patent
some software processes is legitimate. So if we lived in
a more idealistic world, I would be for patents.

However, the patent system cannot keep up with the sheer
volume of patents taht are being presented, and are not
qualified to determine if something is obvious or even
existed previously.

Because of that reason, I am against software patents the
way they currently are being handled in the real world.

First off, 20 years is too long for a patent in the
software industry.

In my vision of what should be, there probably wouldnt be
more than a couple hundred software patents taht I could
think of that I would concider legitimately patentable.

For example, if you set of a seizmic charge, and use some
equipment that measures the underground sound-waves that
are produced, and then used some software to process that
information to tell you what kinds of things are under the
ground, such as oil, or metals, etc. That is something
taht I would concider as legitimately patentable.
Preferably, I would hope taht the technology would be
developed at a university by a government grant and made
available to all in the country. But still...

An example of something that I do NOT think should be
patented would be "a system that displays a graphical
image on a viewing device". This second example should
be stopped by the PTO and certainly not granted.

To fix this volume of patents being issued, I beleive that
a second layer to the process needs to be implemented.
Right now there are corporations, patent attorneys, and
the PTO.

The PTO should be the records keeping service. The patent
attorneys will get things rolling for a company, but a
third entity should be an entity that verifies the patent,
certifies it as non-obvious in the field that it is
intended, and that there is no prior art. If this
imaginary entity certifies a patent, and it ends up in a
legal disbute and it is determined that there WAS prior
art, or it was obvious, then all patents taht the
certifier certified become immediately suspect and
corporations that used taht certifier could immediately
demand some compensation for damages, as well as paying
some hefty fines, and possibly jail-time if it is
warrented. That the certifiers make damn sure that a
patent is legitimate before putting their reputation and
fortune on the line.

This would allow corporations to submit and pay for as
many applications as they like without putting undue
burdon on tax payers to pay for an army of government
workers to do all this work.

Private individuals or small companies could request a
business grant from the government to help with the costs
of applying for a patent (and certification), and can only
receive a certain number of these in a lifetime. The govt
can afford this because the PTO is so much more
stream-lined.

I know that this is all a fantasy that wont come true, but
thats my answer to the problem.

- cjdj, not logged in.

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Wednesday, March 16 2005 @ 01:30 PM EST
The problem of clearly and universally describing something is not unique to
software (eg. the bubble sort or the token to wavelength examples), it is an
issue for inventions which are derived/dependent from/on mathematical
principles.

As an example I am familiar with, consider the development of an electrical
circuit to determine the angular position of a motor's rotor (the thingie which
spins in a motor) based on the measurements of the motor's voltage and current.
Since we'll assume that there is no software involved, this will fall within the
'normal' and ok to patent space.

Mathematical expressions can and have been written which describe the physical
relationships between the motor's voltage, current, rotor position, torque,
power, etc. These expressions can then be combined and re-written in order to
solve for the rotor position as a function of the motor current and voltage.
Using these equations, an appropriate
circuit can be designed since there are well known relationships between
mathematical operations and electrical circuits.

Since the underlying mathematical expression can't be patented, the description
of the circuit is instead and this causes the same problems highlighted by the
software examples.

In the case of my motor example, a key portion of the rotor position calculation
is the mathematical integration of a voltage and there are patents which use
this description in their claims. So far so good, but here is the rub. The
concept of low pass filtering (letting the bass sounds
through, but not the treble sounds) is mathematically nothing more than an
integration, so other folks have patented _exactly_the_same_circuit_ but instead
of claiming that an integrator is used, they claimed they are low pass
filtering. Different words, but exactly the same thing...

This is a flaw in patenting things which are based on mathematics and is not
unique to software, although software patents do make it much more glaringly
obvious...


Eric Benedict

[ Reply to This | # ]

Example of non-obvious similarities (#7)
Authored by: OK on Wednesday, March 16 2005 @ 01:58 PM EST
Consider this quote:

"Perhaps the most obvious way to sort by exchanges is to compare K1 with K2, interchanging R1 and R2 if the keys are out of order; then do the same to records R2 and R3, R3 and R4, etc. During this sequence of operations, records with large keys tend to move to the right, and in fact the record with the largest key will move up to become RN. Repetiotions of the process will get the approprate records into positions RN-1, RN-2, etc., so that all records will ultimately be sorted."

And this:

"Compare two adjacent values in the list and swap them if first one is less than the second one. Repeat for the next pair of keys, until you reach the end of the list. Then start from the beginning. List will be sorted when you compare all adjacent values from the beginning to the end and did not have to swap a single one."

How much in common is here? Both describe the same simple sorting algorithm - bubble sort. First one is a quote from Donald E. Knuth "The Art of  Computer Programming", vol 3, "Sorting and Searching" and the second one I came up with myself. If you see the second description in the patent clause, and are not aware that it is commonly called The Bubble Sort,  how likely will you be able to find the first quote as prior art? I am not talking about determining that they are describing the same method, I am talking about simple ability to find it.

---
The one I was...

[ Reply to This | # ]

judicial un-notice
Authored by: Anonymous on Wednesday, March 16 2005 @ 02:18 PM EST
Judges, as a group, have wide discretion over what evidence, and what kinds of
evidence, they allow to be presented. They don't just allow any random
artifact, writing, person, or concept to be presented to a jury as a source of
facts.

In my view, we are getting to the point where a patent is no longer a fact.
It's just paper created by the patent office and not indicative of any novelty
or creative ownership. Judges in patent cases should remove the presumption
that patents are valid, and shift the burden of proof in these cases to the
holder of the patent.

I'm not saying patents are useless or should be ignored, but that before a
patent can be enforced by a court of law, it should be validated, much the way
other facts are vetted during the discovery process.

Thoughts?

[ Reply to This | # ]

Response to #7
Authored by: Anonymous on Wednesday, March 16 2005 @ 02:20 PM EST
The basic difference between patent and copyright, as
applied to software, is that copyright protects the means,
but patent protects the end result.

For example, take the following (very simple) examples:

x = 5 * 5;
i = 15 + 10;

These two snippets of C both return the number 25, but do
it in different ways. Under copyright, both are legal -
they aren't identical, and they use a different approach.
However, if 'A method or device for producing a
representation of a quarter-hundred numerical value' is
patented, all code which generates the number '25' becomes
infringing, no matter what method they use to do it.

[ Reply to This | # ]

Software and math
Authored by: Anonymous on Wednesday, March 16 2005 @ 02:53 PM EST
"7. Software is abstract, like math. Software ideas can be
described in any number of ways, so searches for software
patents would be hit-and-miss. Reliably avoiding patent
infringement would be impossible."

Software and math have more in common than the above point
indicates. I've been writing software for 20 years. Software
<b>is</b> math. Both are intangible abstractions that cannot be
seen, heard, touched, felt, or smelled. They are not processes
that can yield tangible products, but are processes that
manipulate concepts. All math and all software deconstruct into
arithmetic. Software is merely the set of instructions that tell the
processor how to add and subtract.

For an example in pseudo-C:

if (a > b) {do stuff}

The processor may internally do "a minus b" and then check the
sign. If the sign is positive and the flag that detects "zero" is not

set, then the statement is true (a is greater than b) and the
program "does stuff". All software reduces to this type of math.
Our programming constructs allow us to express this basic
arithmetic in an infinite number of ways, though sometimes only
one expression for a particular objective is useful on a practical
level.

Our mathematical constructs also allow us to express this basic
arithmetic in an infinite number of ways for convenience. The
cos(x) function (when it qualifies as a function), for example, can
be deconstructed into basic additions and substractions.
However, doing so is orders of magnitude harder to work with
than the abstraction that is cos(x). This is identical to software,
which is not surprising since software is purely math.

We have higher level programming constructs that let us express
software's mathematical abstractions without having to work with
the enormous complexities of basic arithmetic that lay under the
hood.

Patents on software are patents on abstract math. They are not
patents on methods of production or procedure. They are
patents on methods of mathematical expression. Since the lines
between methods of expression naturally defy delineation (the
same mathematical sequence can be expressed in a staggering
number of combinations), someone who gains a patent on a
software procedure can easily claim that is covers other
processes not originally covered by the software patent.

A search for any given mathematical, and therefore software,
process cannot possibly be done exhaustively since you can
always derive patented expression A from unpatented
expression B (and vice-versa) through mathematical
transformation. Hence all software potentially infringes on all
software patents.

The relationships between two given mathematical/software
processes are usually not obvious, and are just waiting to be
discovered by some clever individual. These processes are
frequently seen as distinct initially. But over time, their abstract
relationships are uncovered through mathematical
transformations. When this happens with software (and it can
happen with <b>any</b> given software), lawsuits result.

Hence, reliable prior art searches on software processes are
impossible.

Tony O'Bryan
stormreaver@fordlandmall.com

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Wednesday, March 16 2005 @ 02:53 PM EST
Many arguments against software patenting can easily
be turned around to be arguments for software patenting:

Quote:
1. There are currently no costs, waiting periods, or
application forms required for software development.
Patentability would radically change this and would
invalidate many development and business models.
Endquote.

It follows that is it cheap to work around a software
patent. That makes the software patent less valuable.
As a result of this, patents on software are already
generally avoiding the areas covered by open source.

Quote:
2. Software already has "ownership rights" via the
copyright system. Copyright is instant, costs nothing, and
doesn't interfere with independent development.
Endquote.

See answer to 1.

Quote:
3. If companies could purchase exclusive rights to the use
of techniques required by their defacto standards, they
could choose their competitors. "Competition" would become
an inside joke, and preventing competition would be
completely legal and above board.
Endquote.

Defacto standards are prior art, and can not
be patented because of that. At least not normally in
Europe.

Quote:
4. Small and medium enterprises can't afford patents, they
can't spare time for patent searches and they can't risk
the cost of contesting an accusation in court.
Endquote.

They don't have to. Software development around an
existing patent is a lot cheaper. How many times
has this already been necessary in Europe?

Quote:
5. The patent term (20 years) is absurdly long in terms of
the software industry.
Endquote.

Correct. Why pay 20 years of fees to keep a patent alive
on something that has been worked around 19.9 years ago
in other (open source) software?


Quote:
6. Innovation in software is incrimental, new ideas build
on the old. To advance the state of the art, developers
must be permitted to build on top of the state of the art.
Endquote.

A patent must be published to get the rights to exclusion,
so the same is true for any patented technology. However,
with patents in the loop the speed of innovation is
just about nothing compared to open source software.

Quote:
7. Software is abstract, like math. Software ideas can be
described in any number of ways, so searches for software
patents would be hit-and-miss. Reliably avoiding patent
infringement would be impossible.
Endquote.

If a search is hit and miss, so is detecting infringement.
Inventions are about technology, not about math, at least
in Europe.

Quote:
8. Engineering, manufacturing, and pharmacutical patents
are industrial regulations. Software idea patents would
place restrictions on what all businesses and all
individual computer owners can do with their computer.
Endquote.

Any law places restrictions on individual freedom.
That is the point of law.

Quote:
9. In the USA, to get around the burden of software idea
patents, the Big Players of the software industry have
formed cartel-like patent sharing agreements. Small and
medium enterprises cannot afford to join these agreements,
and NONE of the Big Players are European companies.
Endquote.

No comment.

Quote:
10. For Europe to develop it's own software industry, we
must retain the right to write our own software - without
having to ask permission or pay royalties to current
(foreign) market leaders.
Endquote.

There is a better argument:
Open source software has delivered innovation at a much
higher speed than innovation from patents.
Does Europe want the advantages of this high speed
innovation, or not?
When yes, how much does the current European patent
law need to change?

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: beserker on Wednesday, March 16 2005 @ 03:05 PM EST
I'll take a stab at this... IANAL, etc.

7. Software is abstract, like math. Software ideas can be described in any number of ways, so searches for software patents would be hit-and-miss. Reliably avoiding patent infringement would be impossible.

The basic idea seems to be that there is no "standard" way of specifying what a software idea is. Without reliable descriptions there is no reliable way to search for an already patented idea. Any code examples in a patent are unreliable. Since a particular piece of example code written in whatever language is an expression of the idea and not the idea itself, I don't think that the code per se is patentable (although since its an expression its certainly coyprightable). The first thing that I thought about for expressing the underlying software ideas was UML but I have no idea how, say, a googleized patent search on the concepts implied by diagrams would work.

I think that this list misses the mark in one very major respect. The EU is not allowing software patents. If fact the note by Ms Bowles explicitly mentioned this. The EU wants instead to allow inventions that "include" software , appearently by requiring that the invention produce a "technical effect" (whatever that is). To me, this makes these patents more about the technical effect that is being produced than about the software per se. This shouldn't affect the writing of a piece of software unless it results in the same technical effect. Fine, so computer science areas like arithmetic algorithms (sorting, pi, sqrt, etc) should be out-of-bounds. But, it all seems to come back to the meaning of "technical effect". For instance if the interaction between two programs can possibly be interpreted as resulting in or from a technical effect then it theoretically could be possible to patent away inter-operability. Ideally, inter-operability considerations need to be a valid patent defense.

Another problem that I see is best summarized by the phrase "Control the language, control the debate" (not mine, ?Avi Davis?). This battle will be fought on the home turf of the lawyers and legislators. "technical effect" and "industrial application" are just two examples of this. Most of the arguments that I see make fine sense when i'm wearing my normal technical hat but I literally don't know the language within which this will play out.

In short, the list is not a bad start but it preaches to the choir and also glosses over some fundamental issues that should be front and center.

---

"Outside of a dog, a book is man's best friend,
Inside of a dog, its too dark to read."
- Groucho Marx

[ Reply to This | # ]

Examples for point 7.
Authored by: Dark on Wednesday, March 16 2005 @ 04:03 PM EST
Even without knowing the Haskell programming language, you can probably appreciate the list of 24 ways to write the same function in The Evolution of a Haskell Programmer. Just scan the list to get an idea of the diversity of ways to implement this simple function.

The code fragments all behave identically (they compute the factorial, e.g. fac 5 = 5 times 4 times 3 times 2 times 1 = 120), but they look wildly different. They are all written in the same programming language; the differences between most of them are structural, not superficial. But a single patent on the computation of factorials would cover them all.

[ Reply to This | # ]

Why does the EPO grant SW patents
Authored by: AdamBaker on Wednesday, March 16 2005 @ 05:45 PM EST
The EPO decision to grant patents on computer programs is described in its official journal.

This can be downloaded from http://www.european-patent-office.org/epo/pubs/oj97/fts_index.htm#1999 . Select the Oct 99 volume then unzip it and read file 10_6090.pdf

[ Reply to This | # ]

"Software" Patents are often "Process" patents
Authored by: Anonymous on Wednesday, March 16 2005 @ 06:02 PM EST
A thing I don't see discussed often is that fact that many software patents, and many of the most troubling, are not patents on clever software implementation techniques. Instead, they're patents on ideas about using software to solve certain problems.

I've worked at a large multinational technology company of considerable familiarity to Groklaw. This company prides itself on its immense patent portfolio. I participated as a senior reviewer for a significant (500 developer) portion of the company for a year or two. I myself am listed as an inventor on about 10 patents.

In the case of all my patents on many that I reviewed, no actual software was written to implement the patented ideas. I have a strong suspicion that in the case of most of my patents, nothing was ever implemented concerning the patents.

The patents I was familiar with most often took the form of describing a computer program that solved a certain set of problems. So, lets say you're faced with the problem of distributing some sort of software tool to a set of workstations in a network, and the tool needs to configure itself based on some local characteristics of the workstation. The first thing to do is get a patent:

Abstract: A software system involving (1) a subsystem in the form of a component "client" (2) a subsystem in the form of a central "server" (3) a set of zero or more "secondary servers" (4) a transmission subsystem capable of using remote procedure call, remote file transfer, HTTP (Hypertext Transfer Protocol) requests, or a combination of those methods to transmit "client" subsystem to selected computers attached to or reachable from a computing network (5) a communication protocol implemented among the listed subsystems enabling two-way communications across a computer network. The "client" subsystems once distributed are capable of remotely-triggered installation (via remote procedure call or HTTP request or another generalized remote invocation mechanism available on the computer network infrastructure) and will perform automatic discovery of local computing resources of interest to one or more high-level application software systems. Such information is communicated back using the communication subsystem to one or more server components or secondary server components. The discovered configuration information may be stored in a data repository such as a relational database system or XML document.
Now note that we've got no actual implementation, nor do we describe much about how we'll do those things. Indeed, in my experience, part of the work of coming up with the patent claims is figuring out how to word them so that any implementation is covered. Thus, what we're doing is identifying a problem that can be solved with computing technology, and patenting that: the use of computing technology to solve problem X.

(That fake abstract is vaguely like several of the patents out there with my name on them. Most of them make less sense :)

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: KontinMonet on Wednesday, March 16 2005 @ 07:24 PM EST
Software is abstract, like math.

A better description (and proved by Alan Turing, Alonso Church et al) is that a software process is an algorithm.

Courts in the US seem mightily confused by this. For example, in the Alappat decision, it was stated that a software invention was held to be patentable in that it did not constitute a 'disembodied mathematical concept' but rather 'a useful, concrete and tangible result'. I bet all mathematicians who have created a vast body of useful algorithms to solve a massive number of problems must be very non-plussed by this decision.

[ Reply to This | # ]

UK patent workshop on technical contribution
Authored by: zeth on Wednesday, March 16 2005 @ 08:09 PM EST
I went to the first one and made a blog href="http://www.zeth.info/2005/03/uk-patent-workshop-on-technical.html">post > about it.

[ Reply to This | # ]

Issue #7 example
Authored by: k12linux on Wednesday, March 16 2005 @ 11:06 PM EST
Here is a real-life example that I ran into. While it didn't involve patents,
it should be useful to understand why software patents are such a problem.

A former employer manufactured products which were measured to fractions of an
inch (down to 1/32nds.)
Depending on what was being done and measured, they might need to round to the
nearest 1/4th inch, nearest 1/16th of an inch, or round down/up even. (ie:
Rounding 1.124 to the nearest 1/8th would give you 1.125 or 1 and 1/8th.
Rounding the same number down would give you 1.0")

My predecessor wrote some code which, could probably be defined in a patent
application as "A program which, given a decimal number, a fractional
denominator and a rounding option returns a decimal number correctly rounded to
a fractional decimal equivalent."

The one he wrote, however, was terribly inefficient. If called to round a
number down to a 1/32, it would create an array of all 32 possible decimal
equivalents. (ie: 1/32=0.03125, 2/32=0.0625, 3/32=0.09375, etc.) Then it would
drop the whole part of the number and walk through the
array until it found a value higher than the one it was comparing. Finally it
would and return the next value down in the array plus the whole part of the
original number.

Yes, it worked. It did exactly what it was supposed to do. But process a 1/2
million records and the extra time building and searching the array added up in
a hurry. And what if the function had to work with numbers to the nearest
1/128th? Now it would be at least 4x slower!

If that was patented as described above it could have never been improved except
by the company who owned the patent. And why should they? They don't have to
worry about competition. Anybody who builds a better version can be sued.

The replacement program was much faster. It took the passed number, multiply by
the fractional denominator, rounded and then divided it back out again. In
other words, 2.0314 * 32 = 65.0048. Round down to 65. 65/32 = 2.03125 (or 2 and
1/32.)

I never learned binary floating point math, but I'm certain that someone who had
could refine things even further. A function written in assembly language or C
using binary math would probably put what I did to shame in a speed test.

Of course if a patent was issued to a large corporation as described above,
nobody would try to improve things. If they did, they might get sued... or even
just threatened with a lawsuit. Unless they had gobs of cash laying around I
doubt they would fight it in court.

Imagine not being able to implement something so basic in *ANY* programming
language or with *ANY* improvements because a patent existed for the mere
concept of rounding decimal numbers to fractional equivalents.


---
- SCO is trying to save a sinking ship by drilling holes in it. -- k12linux

[ Reply to This | # ]

more us-european cross license
Authored by: agdolla on Thursday, March 17 2005 @ 03:39 AM EST
Microsoft + SAP
http://www.microsoft-sap.com/showpr.asp?id=47
As part of the alliance, the two companies entered into a patent cross-license
to provide a better environment for joint technical collaboration and solutions
development. “This cross-license signifies a growing relationship between
Microsoft and SAP to benefit customers with both innovation and peace of mind
that we stand behind the intellectual property in our products,” said Shai
Agassi, member of the executive board at SAP. “The license brings together two
of the world’s most significant software innovators and provides a way for both
companies to offer more compelling solutions for our customers. Our work
together is a strong example of open collaboration and innovation on behalf of
customers in the IT industry.”

Microsoft + Siemens
http://www.microsoft.com/presspass/press/2004/may04/05-03SiemensMicrosoftCrossLi

censePR.asp

[ Reply to This | # ]

Software is more than math - it is speech.
Authored by: Willu on Thursday, March 17 2005 @ 08:55 AM EST

Hi, and welcome to my first Groklaw post,

PJs highlighting of "Software is abstract, like math" reminded me of Dr Dave Touretzky's fight against the DMCA in the US. In particular, he pointed out that software is simply a formal description of a process. There is no difference between a formal description of an algorithm and an executable program. The difference is only in the machine required to execute it. I give more support for this assertion below, but first let's look at some of the fun consequences.

Software patents bring up the following scenario:

  1. Alice writes a formal description of a patented algorithm in English. At the time, there is no automatic process for converting her formal description into an executable program. She distributes her prose.
  2. Bob then comes along and writes a program that converts Alice's formal description into an executable program. In computer parlance, Bob writes a compiler for Alice's language. Note that to do this, Bob does not need to know anything about the patented algorithm; he simply needs to know the style of English Alice used to describe it. Bob distributes his program.
  3. Clarise then takes Alice's description and Bob's compiler and combines them to produce an executable in the privacy of her own home. She has her computer execute the patented algorithm.

What has happened here?

  • Did Alice violate the patent by distributing English prose?
  • Did Bob violate the patent by distributing a generic program that has nothing to do with the patent?
  • Did Clarise violate the patent when she combined the two, or is that covered by the fact that you are allowed to use patented technology for private use in your own home?
  • What happens if a web site happens to have both Alice's description and Bob's compiler available? How close do they have to be before that becomes a patent violation? What about if they're on different web sites, but a third web site has a link to both?

In case anyone thinks this is an unrealistic example, Dr Touretzky gives a whole series of similar examples which came to light during the litigation over the CSS DVD encryption scheme. I highly recommend his Gallery of CSS Descramblers and his description of why source code and object code are indistinguishable. Omri Schwarz has some programs that will automatically translate any 'C' program into English text, and back again. Finally, a US circuit court has ruled that software can be protected speech (see the eff copy of the decsision). Note, I'm not claiming that US courts are the final arbiter of the truth of this, just that they have recognised it in some situations.

For those who don't have time for those details, the argument is simple. An algorithm is a series of things that must be done in a certain order. That can certainly be described in English, or any other human language. If you are careful about the style of language you use, then you can use language simple enough that a computer program can understand it. The limits on how simple you have to make the English prose seem to depend only on how much time you want to spend writing the program that will "read" it.

I hope this post has been food for thought,

Bon apetite,

Will

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Thursday, March 17 2005 @ 09:44 AM EST
I have a differnet point of view on this as a US stock holder.
I think the US just kind of purchased the EU for the price of a few months of
operating expenses at Microsoft.
I own microsoft stock and indirectly in my 401K mutual funds.
This is a great thing for me. Microsoft is a monopoly, and they will soon move
in and have control of Europe. A US company will basically be able to charge
what ever it needs to in order to keep my stock price attractive.
The EU can slap any penalty on Microsoft they want for media players, internet
explorer, whatever. It doesn't matter, a monopoly can just increase the price to
cover the "extra" overhead of doing business overseas.
The Irish had it correct when they were talking about the "big
players" basically owning them.

Its nice to be in the USA!!!!!!
We win, you loose....

[ Reply to This | # ]

A problem with the arguments
Authored by: Anonymous on Thursday, March 17 2005 @ 10:40 AM EST
At the outset, I don't personally like software patents for a similar set of reasons. And I have some, because the company wants them and I do what they say in that regard.

Anyway, the problem I see with this list is the sort of thing that was revealed by the word substitution (removal) argument made in the MS/XML discussion thread. If you take out the word "software", almost all of the same arguments can be made against patents in general. While that might be desirable for some folks (I'm undecided), it is a far tougher sell policitally to say "all patents should be abolished". Many of them are absurd, or for things seem like minor changes that ought to be obvious.

One of the basic issues is: is the job of a patent office to grant patents, or to reject them? For the Good of the People, you could say the best thing to do would be to reject most, which would encourage competition For the Good of the Economy, you might want to grant more, because it supports monopolies that enhance margins and profitability. The argument is basically whether there is enough incentive to invent without as many patents as there are. I personally think too many are granted now, but that is not a view held by the status quo.

- Anonymous Coward.

[ Reply to This | # ]

Joining the bandwagon...
Authored by: j00b4k4 on Thursday, March 17 2005 @ 04:42 PM EST

7. Software is abstract, like math. Software ideas can be described in any number of ways, so searches for software patents would be hit-and-miss. Reliably avoiding patent infringement would be impossible.

The way I see it, the above is describing two distinct problems. I was a bit confused on the first read as well. The problem that software ideas can be described in a number of ways is fairly obvious, but a big part of the problem is a consequence of using natural language to describe these processes. It's difficult enough to find equivalent expressions in a structured language (as somebody already mentioned), but it can be - and often is - impossible to determine if just two natural language expressions are equivalent; never mind checking thousands of them against each other.

Append the result to a list.
Insert returned value into a queue.
Concatenate the original structure with the lvalue of the previous step....

I also perceive that there's much less regard for confining the invention to its proposed problem space than there is for physical inventions. I don't believe a [dinner] fork would infringe a patent on a comb just because you can comb your hair with it, but I do believe that the result could be the opposite with software patents. (For instance, say the fork is a routine that moves new items from a group into a more prominent view, and the comb is a routine that cleans up a group of items by removing the old ones and displaying the remaining items.) This is where the "software is abstract" argument comes in.

I wouldn't say necessarily that software is mathematical by definition, but algorithms - as a proof of concept - are for certain mathematical, and the latter is what shows up in patent applications as a "system and/or method". Math is abstract not only because one result can be applied to many phenomena, but also because the results run together in strange ways. The same method might produce a completely different result when applied in different problem spaces, or alternatively, different methods might produce the same result in different spaces. This is an important concept, because software can infringe a patent even when operating in a completely different problem space.

Here's what I see as the core problem with these patents: An algorithm is not an invention; it's a discovery. By allowing these discoveries to be treated as inventions here in the US, we've created a sort of gold rush where people can lay claim to what is essentially a natural process.

Though the implications aren't as far reaching in practice, it's not unlike saying that only one person is legally allowed to water plants, because they discovered the system and method by which falling drops of water can be used to enrich topsoil. (Thank God the "obviousness" clause works in many of the categories.) And now I've gone on for so long that I don't remember what I meant to get at with all this. I hope I have made some good points. :-)

[ Reply to This | # ]

Irish Linux Groups Write Their MEPs About SW Patents
Authored by: Anonymous on Friday, March 18 2005 @ 11:20 AM EST
My take is this:
Software inovation is better served by sharing - as per scientific publishing -
than by locking software methods up in a patent.

The biggest reason in my mind is that software patents are necessarily
over-broad, and usually obvious.

Over-broad
Software is based on logic, which is a branch of Mathematics. Everything in
software is mathematical. Everything. Without any exceptions whatsoever.

Imagine patenting pythagoras' method for determining the length of the
hypotenuse. May not seem much - but that one equation is use throughout
software.

Every idea in software has applications outside it's inital purpose. This is
obvious in mathematics, but for some reason non-software people don't make the
connection.

If mathematicians throughout history locked up their ideas, and charged for
their *use*, we'd be in the dark ages.

Say someone patents a method of processing the items on a series of purchase
orders such that the number of trucks coming in on a particular day never
exceeds a threshold - that method could be used in, say, scheduling tasks in an
operating system. Or scheduling raw materials in a machine.

Obvious
I have yet to see a non-obvious software patent. Take any software patent and
ask 50 software developers with 10 years experience whether there was any
innovation in the patent. The majority answer will rarely be yes.

This is SO true in software, that the same idea tends to pop up in many
different places at once. Usually it's an idea that has been used before, but
applied to a new field or application - although the author hasn't necessarily
seen the earlier application.

The exact same thing (unsurprisingly) happens in mathematics. When you look at
the origins of certain mathematical ideas you'll see that they are very commonly
ascribed to several people all working seperately.

How many of you guys have had an idea only to find it's not original - or that
others have the same idea around the same time? Please comment.

[ Reply to This | # ]

Item number 7
Authored by: steelneck on Friday, March 18 2005 @ 12:38 PM EST

Number 7

Software is its own descripton. So, to describe it without handing out product at the same time, you have to step up at least one step in abstraction, and by that you naturally get abstract descriptions. If it gets concrete, it is code, making the PTO infringe by spreading the code and thus the product. Compare to a piece of patented machinery, many times you do not even need the the description, only the drawings to recreate the machinery. But software...

You could also se it this way:
Think of the painting Mona Lisa, it is the expression that has copyright, the protection is not derived from the description "painting of a lady" (the up-step in abstraction). And the reason is quite obvious, we do not want one creator to prejudice the next ones rights, that would be like copyright on unwritten books or unpainted paintings. That would eventually dry up the stream of devolopable ideas, this is why ideas cannot be owned, it would hurt scociety and freedom of speach/expression

This also explains why software patents tends to be inherently broad.

[ Reply to This | # ]

interoperability inherent to competition
Authored by: Anonymous on Sunday, March 20 2005 @ 04:56 PM EST
Interoperability is inherent to competition in software. This is demonstrated
by vendor lock-in.

Software patents impose a toll on interoperability, and therefore on
competition. That restricts competition to moneyed players.

Writing software, sans patents, does not require money -- witness all the
software written as a hobby.

Competition drives innovation. This is inherent to human endeavor. The obvious
example is the stagnation of IE after MS killed Netscape, the only viable
competition.

[ Reply to This | # ]

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

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