Ethics Week 10

The Paul Heckel paper, Debunking the Software Patent Myth, is available on blackboard under Course Documents. The direct link (ymmv) is http://blackboard.luc.edu/@@2DB4DD85A3A58C1C08BAE9AA6255FB37/courses/1/COMP_317_001_9372_096/content/_867232_1/heckel_patent.pdf

(Have I said recently that I hate blackboard?)


Patents Generally

The fundamental justification for patents is to encourage advances in technology. Their justification is purely utilitarian; it is difficult to give a deontological rationale for not using someone's invention.

Ethically, the scope of the utilitarian argument can be worldwide, but national patent laws are generally intended for national benefit. That said, treaties have led to fairly uniform patent laws in the industrialized world, but there are serious concerns in the Third World about certain aspects of patent law.

Also, a part of the patent process is the requirement that the inventor disclose the idea to the world. You cannot protect something with both a patent and trade secrecy. To put it another way, the patent grants you a limited monopoly in "exchange" for publication.


Pharmaceutical patents

Pharmaceutical patents are sort of the poster child for Why Patents Are Good For Us. Here the patent system IS effective at encouraging investment:

Some specific drugs:

cancer monoclonal-antibody drugs

These protein compoundss are antibodies that are highly specific to a certain substrate; they have very narrow targets. From http://en.wikipedia.org/wiki/History_of_cancer_chemotherapy:

None of these drugs would exist in the US marketplace if it were not for pharmaceutical patents.

On the other hand, the US Food and Drug Administration, which regulates new drugs, is arguably a massive government intrusion into the free market. Why shouldn't patent law intrude as well? However, not all drug development costs are related to the FDA approval process.

Another, broader, way to look at this is that industrialized societies allegedly cannot compete unless they can provide some protection for "intellectual property": inventions, software, and creative works. Unless the inventors/creators can recoup their development costs, development will not continue.

In 1984, Congress passed the Drug Price Competition and Patent Term Restoration Act, also known as the Hatch-Waxman Act. This allowed generic drug makers to use a patented drug in their own FDA application, so that approval would be in place as soon as the original patent expired (normally after 20 years). However, it also gave pharmaceutical developers a chance at a patent extension for up to five extra years, subject to the following:

The idea here is that if it took a company fifteen years to bring a drug from discovery (and patent) to market, they will get ten years of patent-protected sales to recoup their investment rather than five.

Third-world issues with pharma patents

Basically, if a country is too poor to afford to treat all its citizens with a new drug, many may die. This has definitely been the case with some HIV drugs. As a result, the Third World has long argued that it should be exempt from pharmaceutical patents.

In the mid-1990's, the WTO basically agreed, and allowed (I'm not sure of the exact terms) third-world countries to manufacture generic equivalents of first-world drugs for use within their own borders only. The manufacturing must be for the government's own use (eg in distributing to its people; the manufacturing can't be a for-profit initiative of a private company in that country). Also, a good-faith attempt must have been made first to negotiate for a reduced-rate license to manufacture the drug, and such profits as are made must be given to the patent holder. In practice, large US pharmaceutical companies often enter into vastly-reduced-price licensing arrangements with third-world companies.

In 2005, the WTO relaxed this rule to allow poorer nations to import generics that would otherwise be covered by a patent. This is sometimes described as a "compulsory license". The manufacturer would not be prosecuted.

This is perhaps the foremost third-world patent issue.


Four kinds of software-patent issues


Aeroplane Control

A classic "broad" patent is the Wright brothers patent on "wing-warping" to control flight (to the Wrights, the wings were the "aero-planes", planing the air, the rest of it was the "flying machine"). The Wright brothers actually twisted the whole biplane structure -- using cables -- to bank in a turn. This later led to the development by others of ailerons, which achieve the same effect but which mechanically are entirely different. A court ruled the Wright patent still applied: what mattered was the concept of adjusting wing angles to tilt the craft.

This is a classic "broad patent" for a major new innovation. The courts have traditionally recognized "broad" patents, but somehow in software this distinction is often lost.


History of software patents

For a long time, software was held to be unpatentable, as mathematical algorithms are unpatentable. Any fundamental mathematical or physical laws are unpatentable.

1972: Gottschalk v Benson (wikipedia): can't patent a mathematical algorithm (in this case a number-format-conversion algorithm)

1973: ATT somehow manages to patent the setuid bit, claiming it's hardware. This patent was dedicated to the public domain in 1979. This patent is certainly a deep idea: if a certain bit is set in the filesystem information node for a file (not in the file itself), then when the file is executed, it runs with the privileges of its owner and not the user. Before then (and after; see what Windows does), there were complex ad-hoc methods for running selected programs with elevated (or alternative) privileges.

1981: Diamond v Diehr: computer + machine IS patentable. For a long time after, software patents always described the software in combination with some hardware device. This patent dealt with the curing of rubber, using a computer to guide the process.

Diamond v Diehr: SCOTUS says that an invention isn't automatically unpatentable just because it contains an algorithm But PTO & lower courts read in the converse: algorithms are patentable

Note that the current business-world baseline thus rests on USPTO policy and lower-court case law, NOT congress or SCOTUS.

Problem of "non-obviousness" the rules state that it's not enough to prove it's obvious today. Uh oh. That becomes an extremely difficult burden.

To be patentable, an invention must be "novel". Novelty is usually challenged by the presentation of "prior art": did someone else discover it first? Often there are arguments about this.

If prior art is published, it can invalidate a patent. However, if it was used privately, those users can continue to use their idea without paying royalties to the owner of the patent, but the patent may still stand. The patent can be challenged on the grounds of not being novel, but this is harder.

Broad patents for fundamental new ideas, narrow patents for improvements

compatibility issues: What if the default, standard implementation is patented? Two cases where there was at least some movement away from a patented format:

    GIF => PNG
    MP3 => ogg vorbis

software patent v copyright

Supreme-court cases limit the word "process" in USC Title 35, Chapter 10, §101:

Inventions Patentable: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.



Gottschalk v Benson continues to be debated. The court stated that "the patent would wholly pre-empt the mathematical formula and in practical effect would be a patent on the algorithm itself". But that is not entirely clear. The algorithm was for converting so-called binary-coded decimal (in which decimal digits are represented in sequence each by four binary digits, so 157 = 0001 0101 0111) to true binary. The patent was for the use of this algorithm on a computer, not universally (though the algorithm makes no sense except on a computer).

In the decision, the court cited an earlier decision: "[w]hile a scientific truth, or the mathematical expression of it, is not a patentable invention, a novel and useful structure created with the aid of knowledge of scientific truth may be", and "an idea of itself is not patentable." The court also said,

Here the "process" claim is so abstract and sweeping as to cover both known and unknown uses of the BCD to pure binary conversion. The end use may (1) vary from the operation of a train to verification of drivers' licenses to researching the law books for precedents and (2) be performed through any existing machinery or future-devised machinery or without any apparatus.

Applications of computer algorithms may indeed be general. In retrospect, should this be an issue?

One school of thought is that a "process" is not patentable unless there is a physical transformation involved, or unless the new invention is necessary in carrying out the process. The supreme court Benson ruling was narrower than that, however. However, the court did say "transformation and reduction of an article 'to a different state or thing' is the clue to the patentability of a process claim that does not include particular machines." [emphasis by pld]

The decision closes with an observation that lack of patentability doesn't seem to have hurt the 1972 software industry any, and a call to Congress to figure it out (which may have had its origins in an amicus curiae brief filed by IBM, which was at the time against software patents):
If these programs are to be patentable,  considerable problems are raised which only committees of Congress can manage, for broad powers of investigation are needed, including hearings which canvass the wide variety of views which those operating in this field entertain. The technological problems tendered in the many briefs before us indicate to us that considered action by the Congress is needed.

In the 1980 Supreme Court decision Diamond v Chakrabarty, about the patentability of genetically modified organisms, the following line from a 1952 Congress report on patent law is cited

    anything under the sun that is made by man [is patentable]

How does this square with Benson?

The Benson decision is frequently cited as evidence that the Supreme Court did not intend to allow software patents; the language of the decision -- that the algorithm was a fundamental mathematical fact -- can be read as supporting this. Others use Benson as an example of a case that, with the benefit of hindsight, seems more and more strongly to have been wrongly decided; that in patenting an algorithm on a computer, one is not patenting a mathematical idea. Or, at the very least, Congress should simply heed the Court's call to address this issue directly.



Reading original patent descriptions

You can look them up online. Follow uspto.gov -> patents -> patft (uspto.gov/patft). Or go directly to the search-by-patent-number page:
      http://patft.uspto.gov/netahtml/PTO/srchnum.htm


Some software patents

Here's an interesting list of some software patents, supposedly "random" though some particularly famous ones are sprinkled in:
    http://bat8.inria.fr/~lang/hotlist/free/licence/patents.html

Another list can be found at: http://www.textfiles.com/law/softpat.txt

xor cursor, patent 4197590 (below)
Method for dynamically viewing image elements stored in a random access memory array

cpu Stack Pointer register, patent 3794980, to George Cogar, 1971. Supposedly, though I can't find the source, this was purchased by DEC [?] and eventually placed in the public domain. Or not enforced

ATT setuid-bit patent, # 4,135,240, invented by Dennis Ritchie, applied for in 1972 and later placed by AT&T in the public domain.

Using an xml document to describe the grammar of another xml document (Part of Scientigo's patent suite on xml)

British Telecom patent on the hyperlink, files 1976, granted 1989. Patent number 4,873,662. In 2000 they attempted to sue a large number of websites. The patent itself apparently refers to a system in which multiple remote users can access "blocks" of data on a central computer.

Altavista patents on "web searching". Altavista did have several such patents on basic web "crawling". Most were predated by the "archie" archive-searcher for ftp sites, developed by Alan Emtage in 1989. Altavista was purchased by CMGI, which some claim is a patent troll.


RSA encryption: patent 4405829

Choose primes p and q.
Reveal n=pq
Find e and d so x^(ed) = x mod n (this is not hard) Common values for e: 3, 5, 17, 257, 65537
(n,e) is the public key, d is the private key

RSA uses standard high-precision arithmetic in its calculations; the underlying number theory has been well-known for centuries. The patent was for the APPLICATION of these standard methods to encryption. That application was certainly novel.

The RSA patents finally expired, after much controversy. Part of that controversy was self-induced; the patent owner at one point appeared to grant a general license for noncommercial use, but then backed away from that.


Compton 1989 patent on multimedia, despite Apple Hypercard in ~1987.

Steir's patent 5,060,171 on artificially adding hair to a person's image [Garfinkel article]

Eolas v Microsoft: About a way for running "applets" in a browser window. See below.

NTP v RIM: the blackberry patent

mp3: lots of development went into this

Lempel-Ziv / LZW compression, patents 4464650 [?], 4558302

This is the compression scheme in GIF file formats. The gif format was developed by CompuServe in 1987. A year later, they noticed that the algorithm was patented, and that the patent was currently held by Unisys. Allegedly, Unisys told Compuserve at that time that they would not need to pay royalties.

In 1999, Unisys demanded that some noncommercial websites pay a $5000 fee for hosting files in the gif format (an interesting strategy, given that the sites were not themselves rendering the images). Some commercial sites were asked for even more. It's not clear whether anyone paid it; most affected sites rapidly switched to .jpeg or .png. Some observers were especially offended by the fact that Unisys allowed the use of the GIF format as a free standard until it became well-established, and then demanded fees.

There's some question as to whether this was the only or even the dominant reason for the shift to PNG format; the latter does offer more features (especially alpha and gamma) than GIF, and is a lossless format unlike JPEG.

Natural-order recalculation in spreadsheets:
More below.

Cell A depends on B if A needs B's value in its formula
Rule: Before calculating A, calculate all cells A depends on.
Duh.
The algorithm is called "topological sort"; published in the CS literature in 1963.

Rene K. Pardo and Remy Landau filed for a patent in 1971: U.S. Patent 4,398,249. This was an important case in allowing software patents (initially their request was denied as an "algorithm")

Spreadsheets were a brilliant idea (Dan Bricklin, VisiCalc?), but not order of recalculation.


MS has tried to patent FAT disk format. Their request was turned down.


A few compatibility issues where a patented file format (or file-creation algorithm) has led to a new non-patented standard:

GIF => PNG
MP3 => ogg vorbis

PTO (Patent & Trademark Office) problems:

ignorance is no defense: "submarine" patents
The entire process is secret: you can be making good-faith effort to be noninfringing and get hit with a huge verdict.

Infringement is considered willful if you had advance notice of infringing. Your belief that the patent was invalid is NOT a defense. Damages automatically triple.

Three groups of stakeholders:

Where do we fit in?

How large corporations manage:

small inventors:

Open source: voip

Legal advantage of small inventor: somewhat diminished with rise in legal fees & increased ambiguity

But small inventors can still sell to patent-holding companies.

Legal situation of large corporations:



Eolas v Microsoft

Patent 5838906: Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document, filed in 1994.

The alleged invention is about a way for running "applets" in a browser window. Is this really an "invention" at all?

Back in 1992, browsers just displayed images and static text. However, it was clear by then that applications could display content in windows created and "owned" by other applications; for example, MS Word could at that time display an Excel subwindow.

What was not foreseen was that browsers would become universal viewers of just about everything.

Microsoft v Eolas (+ Univ of California, as part of UCSF):
MS lost this case in 2004; was ordered to pay $521 million.  They then won the right to a new trial, but settled in 2007 before the beginning of the new trial.

Patent covers

a system allowing a user of a browser program ... to access and execute an embedded program object [or small computer program, often referred to as "applets" or "plug-ins"]

Patent filed 1994, granted 1998, USPTO review 2004, upheld 2005

See http://cse.stanford.edu/class/cs201/projects-99-00/software-patents/hypermedia.html

"Viola" prior art: may or may not be relevant: see http://www.viola.org

The Viola browser project was found by the district court to have been "abandoned", but the circuit court found that Viola version 1.0 was "abandoned" only in the sense that it was replaced with version 2.0.

Part of the technical issue was about the meaning of the term "executable application". The court allegedly gave this broad meaning. Microsoft claimed it only meant "standalone applications".

Eolas started by Michael Doyle, faculty member of UCSF. UC Berkeley is apparently the owner of the patent.

Doyle certainly had some early ideas, that came before Java applets.

Had the Eolas patent been more aggressively enforced, it would have been a huge impediment to the world-wide web.

2007: MS has claim they invented it; this loses in Sept, but Eolas & MS settle in August

October 2009: Eolas has launched a major lawsuit against just about everyone: press release. The list of defendants includes lots of sites that use web-embedded objects: amazon, apple, eBay, and youtube.

View 1: Eolas developed some early web-embedding technology, and got really lucky
View 2: Eolas patented Microsoft's 1990 Object Linking and Embedding idea, and got a 20-year license to fleece us
View 3: Eolas may control a "critical" piece of the web standards.


State Street Bank case, and Business-Method patents

Patent 5193056

decided 1998; patent filed 1993
Basic outcome: financial-services software containing an algorithm is patentable. From the 1998 Federal Circuit decision:

(...) the transformation of data, representing discrete dollar amounts, by a machine through a series of mathematical calculations into a final share price, constitutes a practical application of a mathematical algorithm, formula, or calculation, because it produces 'a useful, concrete and tangible result' -- a final share price momentarily fixed for recording and reporting purposes and even accepted and relied upon by regulatory authorities and in subsequent trades.

Until then, business methods that contained software or algorithms could not be patented (to be more precise, this "business-methods exception" to patentability was an oft-stated maxim, but the courts had never ruled directly on it). The USPTO had trouble with this rule, in determining whether software was patentable, and at some point dropped their rule that software was unpatentable if it involved business methods. State Street Bank was granted a patent, and the case came as SSB apparently sued another bank which then tried to use the business-methods exception as a defense.

The State Street Bank case introduced the rule that a business method could be patented if "it produces a useful, concrete, and tangible result".

Once the USPTO began patenting software as part of a business process, it became too difficult to distinguish between sofware-as-algorithmic-invention and software-as-business-method. So the USPTO also reversed its longstanding refusal to grant patents purely for software (until then, software patents had to list some hardware involvement, although that was mostly a formality in practice).

This case opened the door to a huge influx of business-method patents, including Amazon's "one-click" method (below). For a while, the USPTO required business-method patents to have some connection to "the technological arts", that is, that the methods be tied to computing in some way, but even that was eventually thrown out in 2005, as too hard to enforce. However, there remains a great deal of overlap between business-method patents and software patents.

Exhibit A: Amazon "one-click" patent, # 5960411, granted 1999. Twenty-three days later, Amazon got an injunction against Barnes & Noble, and eventually won their case. BN had to stop using their "ExpressLane" shopping method.

The essential feature of the 1-click patent appears to be that you don't have to go through the usual multi-screen checkout process; you can just click "send me this stuff the usual way", and it will remember all your previous entries.

Paul Barton-Davis, one of Amazon's founding programmers, called the 1-Click patent "a cynical and ungrateful use of an extremely obvious technology" [emphasis added]. By "ungrateful", Barton-Davis apparently meant that Amazon had benefitted enormously from public-domain software ideas.

Other examples:
Several more-mundane patents on online shopping carts

IBM[?]'s patent on suggesting new purchases based on past ones

Things MAY be reined in by the recent Bilski case.


Stallman article: why software is different


1. There's no advance warning (but isn't this true of any patent?)

2. There is no easy way to read them. They are deliberately obscure. And, for software, this is directly tied to the fact that the algorithms are very general.

3. Some patents are just plain inappropriate, but fighting them is exhorbitant.

4. chicken-and-egg problem with converting from .gif to .png: how can you get browsers to support this? (This is partially resolved by browser plug-ins.)

5. "prior art" is very hit-or-miss; sometimes (often!) it was considered too obvious to document.

6. Software tends to use many ideas per application, and so one software project might require licensing of many diffferent pieces. This makes incremental innovation difficult, for anyone. (Even microsoft.) This problem exists for software because writing software is in some sense much easier than traditional engineering, and so you can afford to put more ideas in.

7. Open source.

An issue that Stallman doesn't address directly is that 20 years is a very long time in the software industry, and that locking an idea up for that long has the practical effect of stifling growth, not encouraging it.

A related issue is that weak patents can have HUGE social costs, by blocking core technologies that everyone needs.

Finally, another issue is what I'll call abstraction-obviousness: often an idea is an immediate, trivial corollary of some later development, or of some more abstract way of looking at the situation. However, some earlier out-of-context patent may still apply. The xor-cursor and Eolas patents may be of this type. It's not that embedded applets is an innovative idea, per se, it just takes a critical mass of web sites to become relevant.

Is software legitimately a special case?

This would be a good time to take a quick look at the Paul Graham paper. Some points:


NTP v RIM (Research In Motion): maker of Blackberry


MP3 patents and lawsuits

Alcatel-Lucent v Microsoft: Alcatel-Lucent won $1,500 million in infringement suit about mp3 decoders Feb 22, 2007

MS countersued for other patents

The judge eventually set aside the damages, and the appellate court agreed.


Aug 6, 2007: MS won new trial

MS is now suing A-L for other patents.

check out mp3licensing.com (Thompson) Royalty Rates: basic mp3 decoder: $0.75/unit

mp3 was published in 1991. Will all US mp3 patents expire in 2011? Original holder: Thompson Consumer Electronics & Fraunhofer Institute. These still hold the "core" mp3 patents.

MP3 Patent claimants:

To date, (some) patent holders have announced that no action will be taken against open-source decoders.

The mp3 compression algorithm is admittedly a deep idea. Part of it involves the use of wave decomposition to store the information more efficiently; part of it involves "psychoacoustics" to identify parts of a sound file that are "unhearable" and so can be deleted.



Note that patents are for the use of an idea in a specific context:

Patent problems:

submarine patents: you don't hear about them until too late!

prior art: hard to find, hard to document, trivial ideas were never written down!
This problem, at least, will go away with the passage of time.

non-obviousness: difficult to contest many ideas go into one program! Technology evolves extremely rapidly Violates settled expectations (important part of law!) What's patented seems to be more a matter of chance than anything else.

ignorance is no defense: "submarine" patents entire process is secret: you can be making good-faith effort to be noninfringing and get hit with a huge verdict.

wilful: you had advance notice of infringing. Your belief that the patent was invalid may NOT be a defense, although it has been accepted as a defense in some cases. Damages automatically triple.


Is software legitimately a special case? Or is it just that there are lots of small-time whiners in software who want to profit from the work of others without paying?

EU Parliament voted in July 2005  648-14 AGAINST the EPO (European Patent Office) directive.

March 17, 2009: European Patent Office has asked the EU's "Enlarged Board of Appeal" to decide on the exclusion of software from patentability. The EPO has long been pushing for software patentability, and this is seen by some as an attempt to bypass the European Parliament.
See http://lwn.net/Articles/324022
Also http://press.ffii.org/Press_releases/EPO_seeks_to_validate_software_patents_without_the_European_Parliament.
Also http://www.ffii.org/EPOReferral. Note especially Q3, under Questions. Under some earlier rulings (T163/85 and T190/94), patentability required "a technical effect on a physical entity in the real world". However, other rules did not include this requirement.

software issues:


Who are the stakeholders in software patents? Are we stakeholders? Compare pharmaceuticals. http://www.pbs.org/cringely/pulpit/2005/pulpit_20050818_000863.html: "Do you feel helped by patent reform?"

If the Eolas patent had succeeded earlier in the game, Firefox might never have been started, and then Internet Explorer would still likely lack tabs, plug-ins, and other core features.

WHY does the situation seem so different from pharmaceuticals?

Three groups:

how large corporations manage: patent banks legal departments cross-licensing

small inventors:
    market your invention yourself??
    sell to a holding company These are tricky places. They produce nothing, they interfere with progress, but they do produce a market for new patents.

Open source voip mp3 to date, some patent holders have announced that no action will be taken against open-source decoders.


Role of "patent trolls", or patent licensing firms
("troll" as in "the troll under the bridge, demanding tolls", not "trolling" as in fishing for "flames")

Note that the established-company-versus-established-company defense of a "patent bank" is useless here.


Patents and standards-setting

Company A participates in creation of a standard; they suggest solution S for a particular issue. After the standard is widely adopted, company A announces that they have patented S, and that they will license it for a significant fee.

N-Data patent on ethernet speed autonegotiation:

http://arstechnica.com/news.ars/post/20080123-ftc-defends-ethernet-forces-patent-troll-back-under-bridge.html



Barriers to entry

Patent Trolls: companies that have no assets but patent claims, and don't attempt to produce anything but simply collect. Is this bad? Or are such companies just creating a market for small inventors to sell their inventions?



Patent and open source

The open-source community is a STRONG proponent of eliminating software patents.

Is the open-source community entitled to:

Is the open-source community entitled to the asterisk phone switch?

Does MS intend to destroy or hobble or marginalize linux through patents?

It is very well documented that the patent process has a very NEGATIVE impact on open-source development, and on generally accepted software adoption.

So if the purpose of software patents is to aid technological process, and it doesn't do that, are software patents a good idea?

What happens if the software in question is made available through a site in Europe, which (as of now) doesn't have strong software-patent laws? Should the site warn visitors from the US?

Is this at all like thepiratebay.org?



Patents: are the right ideas being patented? Or are patents being granted to trolls for peripheral ideas?
xor:   trolls?
rsa:   good
spreadsheets:   trolls?
eolas:   trolls?


Paul Heckel wrote Debunking the Software Patent Myths for the June 1992 Communications of the ACM. Heckel approaches software patents as a small inventor who has sued Apple over Hypercard and is in general very strongly pro-patent. He makes several claims.

4197590
One is that the XOR patent, 4197590, is really about patenting what Heckel calls "largely the invention of the frame buffer". However, the concept of a frame buffer, or memory-mapped display (in which the video screen is memory-mapped into a location in RAM, so that writing to the screen is as simple as writing to memory) was apparently prior-art. The patent application claims that they invent a way for a small (eg 416x312) graphics window to allow viewing of a larger 2048x2048 virtual display, and panning across. That is a significant invention. However, there is a reasonable body of evidence that Cadtrak attempted to enforce the XOR-cursor portion of the patent alone.

From the patent abstract:

A computer graphics display system including random access raster memory for storing data to be displayed, a raster memory control unit for writing data into the raster memory, a video control unit for causing such information to be displayed on a CRT display screen....An XOR feature allows a selective erase that restores lines crossing or concurrent with erased lines. The XOR feature permits part of the drawing to be moved or "dragged" into place without erasing other parts of the drawing.

It seems to me that a major claim of this patent, and the only relevant claim past the 1984 introduction of the Macintosh, is the XOR feature.

4398249
Another is the natural-order-recalculation patent, 4398249. This was an invention of Pardo and Landau in 1970. Heckel claims that what Pardo and Landau really invented was the spreadsheet, although (apparently) in primordial form not recognizeable by later spreadsheet pioneers such as Dan Bricklin (VisiCalc). Heckel does not name any software product Pardo and Landau produced. There was indeed a legal case regarding the patentability of the idea; it is now considered to be an "early" software patent.

Pardo and Landau sold the patent to the company Refac, which Heckel characterizes as "a white knight in the fight against the patent pirates". However, note the following line from the appellate court in Refac v Lotus, at http://www.ll.georgetown.edu/Federal/judicial/fed/opinions/95opinions/95-1350.html:

The district court did not abuse its discretion in holding that the '249 patent is unenforceable on the ground of inequitable conduct. [emphasis added]

Apparently Pardo and Landau were told by the USPTO that their patent was not fully disclosed; specifically

[T]he disclosure is not deemed of the level which would enable one with ordinary skill in the art to make and use the invention. The flow diagram which applicants represent in figure 2 is not of the detailed level which a programmer would need in order to write a program from.

They presented three supposedly disinterested witnesses who each submitted an affidavit that, yes, they could implement the desired program from the patent description. However, one of the three, Robert F Bullen, had a previous business relationship with Landau, that neither of them disclosed.

So much for "white knights".

There remains the broader concern that Pardo and Landau did not in fact appear recognize that they had a "spreadsheet", and that Dan Bricklin was the first to grasp that concept, and that what Pardo and Landau did have was just the idea of using topological sort when evaluating a large number of expressions with dependencies.

Here's the abstract of Pardo & Landau's patent, slightly edited, for compiling a set of formulas when some formulas may depend on the values of other formulas:

A process and apparatus (compiler program) carried out on a digital computer for converting a source program into an object program. The source program [consisting of a set of formulas] is entered into a first storage area of a computer. ... The compiler program then examines each formula to determine whether it has been defined [that is, whether it has no dependencies on as-yet-undefined formulas]. If the first formula has been defined, it is removed from the first storage area; placed in a second storage area; and marked as being defined. if the first formula examined has not been defined, it is retained in the first storage area. The compiler program repeats this process for each formula in the first storage area. After the formulas in the first storage area have been examined, the compiler program determines whether any formulas have been added to the second storage area. If so, the compiler program repeats the examination of the individual formulas still retained in the first storage area. The compiler program repeats the process until all formulas have been defined; added to the second storage area; and marked as being defined. The content of the second storage area is an object program which is executable by the computer.

2009 is a little later than 1972, and some of these ideas are now somewhat standardized, but without being familiar with this specific algorithm I was able to come up with it "on my feet" in class once. I see no evidence here of any spreadsheet-like package.