Guest Post #1 on Patents

September 7th, 2012 at 11:00 am by David Farrar

has provided a guest post on the issue. I’ll also be blogging a guest post from Guy Burgess on it, so we are truly fair and balanced!

Should software be patentable? Well, let’s first be sure that we understand what people mean when they talk about patenting software. Because it’s really not clear to me that everyone who has an opinion on the subject is seeing this in exactly the same way.

We know software can be copyrighted, and there are usually very good reasons to protect it that way. However I can’t say that I’ve ever personally seen a patent that defines a specific piece of software and I doubt that there are many situations in which that would be a good way to protect the relevant intellectual property.

Utility patents are concerned with invention – the creation of a new way of solving a problem that is not obvious to people who are skilled in the field. However, for inventions that are intended to be implemented as software, a genuine inventive step – i.e. the novel idea that is not obvious to other skilled practitioners – is usually defined at a much higher level of abstraction than the code itself.

To illustrate, here are a couple of patents I’ve been involved with myself -

http://bit.ly/OZ1jth
http://bit.ly/TYrYWY

I don’t expect these to make sense to many people (sadly, that often includes patent examiners!). However both of them involve significant, original insights into how to solve some very challenging, and (according to me :)) important, technical problems. These inventions resulted from extensive commercial R&D investment of precisely the kind that I believe patents are intended to foster. I can tell you that the world would almost certainly never know about them if they hadn’t been patented.

Note that there’s nothing in the specification of these patents that refers explicitly to software, and certainly no specific code is defined. Yet it is *completely* obvious to anyone who understands these patents that the only sensible way to implement them is in the form of software. But the details of what that software might look like is completely incidental to the essence of the inventions. And since the process of translating the invention as it’s described into a specific software implementation would not itself pass the ‘non-obvious’ test (that’s just what software engineers do), that process and any software that results from it could not possibly be part of any claims within the patent (but copyright protects the code itself anyway).

And then we have Clause 10A:

(1) A computer program is not an invention for the purposes of this Act.
(2) Subsection (1) prevents anything from being an invention for the purposes of this Act only to the extent that a patent or an application relates to a computer program as such.

I’m happy to be corrected on this by anyone directly connected with the Committee, but taken at face value my impression is that the intent of this statement is simply to exclude patents in which the software – i.e. the code itself – is (or at least purports to be) the actual essence of the invention – that would certainly make sense to me and be consistent with my own experience of how patents work in the real world. I’m guessing that the proposed wording “a computer program as such” is intended to get at precisely this point. A paraphrase would therefore be “a patent may not include as one or more of its claims a specific piece of computer software, in either source or object code form”.

In my view, this is a very reasonable position for the Government to take. But note that it would not in any way prevent patents being granted for inventions that are implemented purely as software, as long as they involve substantive inventive claims that are genuinely novel, useful and not obvious to those skilled in the field.

I’ll let others debate how well “as such” actually conveys this idea. But let’s set that issue aside for now. What about the ‘embedded computer program’ idea? The folks at no.softwarepatents.org.nz maintain that this is what the Government actually meant to say, and to support this they’ve referenced a press release from Craig Foss dated 28/8/12 (http://www.beehive.govt.nz/release/progress-towards-modernising-patent-law). Here is what he said -

“Under the amendment, computer programs as such would not be eligible for patent protection. However, inventions that make use of embedded computer programs will be patentable.”

It’s pretty clear that no.softwarepatents are interpeting the second sentence as defining a (comparatively narrower) exception to the (more widely applicable) restrictions prescribed in the first. But that may not really be exactly what Foss thinks he said (assuming he understands the concepts at all). The wording that the Committee have actually chosen to put in the Amendment, together with my own experience I outlined before leads me to think that a more natural way to understand the second sentence may be as a clarifying contrast to the second. So what Foss really means by “embedded computer programs” would be “inventions embodied (implemented) using software”. Note that the term ‘embodiment’ is very common in patent language. So it wouldn’t be a complete surprise if that somehow morphed in someone’s mind into “embedded”. Again to paraphrase, the overall meaning would be “you can’t patent software itself (regardless of the kind of software), but (clarifying contrast…) you can patent any invention implemented using software as long as the claims of the invention meet the usual criteria of utility, novelty and non-obviousness”.

So this interpretation does not attempt to differentiate between two different kinds of software – i.e. embedded and something else, which seems to be no.softwarepatents’ perspective. Because no.softwarepatents interpret embedded software as a different type of software, Guy Burgess’s article is mostly focused on whether that term is sufficently well-defined within the industry. Ok, but remember this is only relevant if that’s really what Foss and the Committee had in mind. And remember, Foss is an MP, who used to be an investment banker (though of course we don’t know who actually wrote the release). He’s not from ‘the software industry’.

As to whether the term itself does in fact have a well-defined meaning, well yes and no. Historically (and forgive me if I’m stating the obvious), it’s been used mainly to reflect the distinction between:
 – on one hand a more or less ‘traditional’ view of a computer as “a thing in itself”, e.g. something that sits on your desk, often with a screen and keyboard etc and which you use to ‘run computer programs’, and
 – on the other hand something principally viewed as “other than” a computer, but which nonetheless has computing elements within it – washing machines, petrol pumps, engine control systems, medical instruments…
 
The examples given by both Burgess and no.softwarepatents.org.nz indicate that they have in mind essentially the same understanding.

A very large amount of the software development done worldwide falls within the broad scope of ‘embedded software’ as I’ve described it. So it’s no surprise at all that there are lots of papers published on the subject and lots of jobs advertised for embedded software engineers and that people understand broadly that these roles involve particular kinds of platforms, skills and techniques (e.g. certain kinds of processors, programming languages, memory constraints, development methodologies etc…).

But even if this really was what Craig Foss was referring to, I still couldn’t agree at all that this would make the term ‘embedded software’ useful in the current legislative context, for two reasons… First, as technology platforms are evolving, these boundaries are blurring rapidly. Software in a cellphone was certainly viewed as embedded code a few years ago (such as the voice compression software I was writing for cellphones 12-14 years ago). But what about the latest smartphones? These are used to ‘run computer programs’. Some of these ‘programs’ inter-operate with (e.g. control) embedded components and other embedded devices. But plug some smartphones into a dock with screen and keyboard and you have something that acts just like a ‘computer’ (on more or less this point, see Eric Schmidt at 21:59 in this video recorded yesterday – http://www.youtube.com/watch?v=0VkIpT3-kBM).

But the problem is even more complicated than that. Take the example patents I referred to earlier… either one of them could equally well be deployed in an embedded device, or as part of an application on desktop computer, or within a server farm. And these are far from being strange exceptions. The patents themselves simply don’t tell you anything about the kind of environment/device/platform in which they should be used. So if the legislation were to use the “embedded computer program” terminology in the sense that Burgess and co. want, what would that legislation tell a patent examiner or a judge that they should do with patents like these? So really I just don’t see that this language makes sense here.

Hoping to better understand where people are coming from, I went and dug a little deeper into the no.softwarepatents.org.nz website, and I found this… http://no.softwarepatents.org.nz/background, where they say the following, regarding the Commerce Commission Select Committee’s deliberations on the Patents Bill -


The Select Committee agreed, recommending unanimously that the new Patents Bill explicitly exclude software. Their report said:

 ‘We recommend amending [the Bill] to include computer programs among inventions that may not be patented… A number of submitters argued that there is no “inventive step” in software development, as “new” software invariably builds on existing software. They felt that computer software should be excluded from patent protection as software patents can stifle innovation and competition, and can be granted for trivial or existing techniques. In general we accept this position.’

The Select Committee did, however, make one important caveat: that inventions containing embedded software should still be patentable:

 ‘We received advice that our recommendation to include computer programs among the inventions that may not be patented would be unlikely to prevent the granting of patents for inventions involving embedded software. We recommend that the Intellectual Property Office of New Zealand develop guidelines for inventions containing embedded software.’

Again we see the ‘embedded software’ language, but once more I’m less than convinced from the context that the Committee are knowingly using that term in the sense that it’s understood in the industry. And there are some curious ideas here…

– “A number of submitters argued that there is no “inventive step” in software development, as “new” software invariably builds on existing software.”

First, the fact that one system builds on another tells you absolutely nothing about whether there is an inventive step involved. Patent law requires an inventive step. There is no need to distinguish between software and hardware if this were genuinely the concern.

Furthermore, the statement seems not to recognise that there are multiple levels of abstraction involved in defining and developing complex software systems. The idea that there is “no inventive step” *can* be true at the level of pure implementation but *completely* false at a higher level representation of system design. And this is true regardless of whether we are talking about embedded or non-embedded software.

– “They felt that computer software should be excluded from patent protection as software patents can stifle innovation and competition, and can be granted for trivial or existing techniques.”

At least part of this is just wrong – if patents are being granted for trivial or existing techniques, it’s not because the law allows it and it’s not because they are composed of software. It’s because the tests of novelty, utility and non-obviousness are not being applied correctly. As to whether they stifle innovation and competition, there are probably cases where this is true. But there are also cases where the publication and licensing of patents that have software embodiments foster innovation and competition, and others where the developers of software based IP freely choose by themselves not to patent their work, often precisely in order to better foster innovation and competition.

 – “We received advice that our recommendation to include computer programs among the inventions that may not be patented would be unlikely to prevent the granting of patents for inventions involving embedded software”
 
It’s kind of difficult to tell what this means. If you decide to exclude software, you won’t actually be excluding some software? What’s the justification for this claim? Did anybody ask?

Thanks to Mark for a very useful post.

Tags: ,

11 Responses to “Guest Post #1 on Patents”

  1. drllau (8 comments) says:

    There are 2-3 specific areas where patenting makes sense
    a) cryptofunctions
    b) codecs (including certain forms of compression)
    c) where high regulatory risk makes payoff far off in the future (eg gengineering which incidentally is software driven)

    The first is obvious, for security reasons, you want 3rd party validation which by definition means opening up your implementation. The 2nd is based on the fact that for decoding, you need to understand the algorithm which makes it easy to reverse engineering the coding so business models which rely on a give away the reader, sell the server fail. You patents make an interesting edge case as it seems to fall into category b) psychoacoutics?.

    Let’s go back to the fundamental choices of protection trade secrets, patents, copyright. Studies have shown that firms prefer to protect their best ideas as secrets, patenting others as defensive. cite BGPE Discussion Paper No. 117
    The role of patents and secrecy for intellectual property protection: theory and evidence, by Malte Mosel. As the author points out
    1) for small inventions, however, the protected technological lead is too small given the infringement risk, so that no rival dares to use the information disclosed in the patent
    2) reveals an inverted-U relation between patenting and firm size

    So either the patent is not reverse engineered (which is non trivial) as the information disclosed is too marginal to justify or else only the larger players benefit and other studies have shown the intensity of R&D somewhat decreases subsequently. Also in periods of economic turbulence, NPEs buy up patent portfolio of the low-end startups for cheap price and impose deadweight costs on the rest of the industry. So the rational for patents as a shield suddenly gets inverted when converted to a sword.

    What the NZ legislation does (with the revised clause) is to give people the Freedom to Operate. Think of it like the ACC for digital realm. You miss out on the chance for the big US medical malpractice lawsuits, in return for everyone getting treated equally. Without the need for defensive patenting (to swap against competitors) then the urgency for registering incremental novelty fades. Without the threat of ill-defined software patents, NPEs are left without a bridge to hide under. If there is software embedded, then the hardware can become the starting point for negotiating the boundaries. To do this, you apply some legal-fu, by defining software program as not invention for purposes of this bill. This is valid (if legally untested) claim as the Agile school of software development considers software as a hypothesis, that the tests and use-case with end-users/customers is a process of rapidly evaluating product-market fit.

    > Because no.softwarepatents interpret embedded software as a different type of software,
    Actually, you have to read that in conjunction with 10A(1) … the use of embedded software is not a BAR to patentability. You have a choice with your idea, embed it as say a software FPGA implementation and sell it as hardware chips (easy to measure unit volumes), so-so to reverse engineer any secret, and clear first sale rights. Alternatively go for a Platform as a Service model, where people upload and you charge a simple fee to encode for better performance as speaker. Copyright allows multiple licensing modes. Or you can patent it with a possible business model of being bought out. Patenting is still possible if the hardware side (reduced speaker components, or novel features like 3D aural) is emphasised, but the software algorithm per se would be likely to be excluded. The patent is a social bargain, if you reveal the details, you get a temporary advantage. If others abuse this social bargain (even through not fault of yours under the prior rules), then perhaps time to rethink the deal (which can include guidelines to IPONZ which whilst earnest, is short of domain expertise).

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  2. slijmbal (1,236 comments) says:

    I could see specific algorithms other than the above being patentable e.g. combination of specific parallelisation and hashing algorithms used in high end data warehouses. These take quite a lot effort to design, build and test, which seems to be the real test of whether something is patentable not the current patent trolling susceptible mechanisms.

    it needs to be a real piece of progress that is not in the “blatently obvious” category.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  3. Alan Wilkinson (1,886 comments) says:

    “I can tell you that the world would almost certainly never know about them if they hadn’t been patented.”

    I don’t find that credible. If these patents which are obviously directly applicable to voice compression represent real progress in signal processing then companies such as Motorola have a vested interest in deploying them. Where such deployment depends on other providers also implementing the same or complementary services then normal commercial contracts would surely be negotiated to share the costs and benefits.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  4. lightweight (13 comments) says:

    Unfortunately, @slijmbal, better vetting of software patent applications is impossible. There will never be patent assessors who are “skilled in the art” of software development. No skilled software developer would want to assess patents, and moreover, if one did, s/he would become “unskilled” very quickly due to not being actively engaged in software development – the state of the art changes way too quickly.

    At present, in NZ (and in the US, and probably elsewhere) ALL software patent applications are accepted by default *unless* they’re objected to. That’s right: no one vets them for prior art or obviousness *because one one sufficiently skilled to do so works for IPONZ. The likelihood of objections is small – most software developers don’t care about patents, so don’t read them, and therefore don’t know to object to stupidly obvious ones. As a result a lot of very poor quality, overly broad patents get granted. They can only be invalidated by legal precedent which is costly and wasteful for all involved…

    The best solution, by far, is to scrap software patents altogether. Copyright and proprietary licensing (if that’s the way you want to roll) is sufficient to protect R&D investment in software in any case.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  5. Martin (8 comments) says:

    I would argue that crypto functions and codecs are in fact mathematical transformations, and as such not patentable.

    I’m in Donald Knuth’s camp on this one… [ http://www.groklaw.net/article.php?story=20090603224807259 ]

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  6. boredboy (250 comments) says:

    Guest novel #1 more like it.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  7. berend (1,715 comments) says:

    Mark Thomson, let’s assume you’re right and this was significant effort to invent your algorithms.

    But bitter experience has taught us that any kind of software patent will lead to utterly insignificant “inventions” be patented and that they will form the vast majority of patents. That they are used by troll companies, who produce nothing, to see juicy targets. That patent litigation is so expensive that it will bankrupt any NZ company threatened with patent infringement.

    So to avoid the 99.99999999999% of the things we don’t went, we may have to exclude the things that possibly would be worth patenting.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  8. Alan Wilkinson (1,886 comments) says:

    “Patent law requires an inventive step.” Yes, but patent applications and descriptions do not confine themselves to the inventive step. They are written as broadly as possible so as to effectively patent not just the solution, but the whole problem and application.

    I come back to my principal objections. First, that software patents make it impossible to write software without fear that somewhere there is a patent you are in breach of. Second, that there are virtually no advances that depend on software patents to be viable.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  9. slijmbal (1,236 comments) says:

    @lightweight

    couldn’t agree more – the process is wrong – most improvements are re-invented day after day by hundreds of thousands of software engineers – my point was that there is a small class of true r&d in software that should be patentable and it was not as limited as drllau’s post. No idea how to do it.

    This has been going on for a long time – I remember in the 80s network patents being provided for ludicrously obvious stuff like dealing with packet collisions (I think it was packet collisions – it was 30 years ago).

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  10. drllau (8 comments) says:

    Martin wrote
    > I would argue that crypto functions and codecs are in fact mathematical transformations, and as such not patentable.

    I agree in principle … except who pays for the negative information? By this I mean all the mistakes, missteps and just general head-banging to get to that final mathematical transformation? Edison tried hundreds of compounds before hitting upon carbon filiaments. Either society pays (in the form of public sponsored research) or else there must be a way to recoup the sunk costs (without help of your local monopolist Ma Bell). Now either you let bureacrats make the R&D decisions or else officials at the patent office try a Solomon act of spliting methods between prior art and obvious.

    Slijmbal
    > e.g. combination of specific parallelisation and hashing algorithms used in high end data warehouses. These take quite a lot effort to design, build and test,
    Except sweat of brow doctrine has been explicitly excluded, in both patent and copyright (otherwise data compilations like phonebook would be considered aesthethic expression). Since I used to work with parallel architectures, I know concurrency can be tedious, mind-numbing and not for the faint hearted (certainly not obvious). However I suspect that it’s more due to the lack of good conceptual models and decent tools than anything. In the old days, they had to toggle flipflops by hand, now we have web frameworks on top of stacks on toolchains on ABIs on architectures on Verilog on transitors that do the flipping. If you view software as a language, then we are continually seeking more expressive languages to shape the idioms and metaphors that stupid machines can execute. In which case, can you patent a language (computer or otherwise)? How well would the world work if someone patented “Happy Birthday” and insisted you pay them every time … wait a sec (http://en.wikipedia.org/wiki/Happy_Birthday_to_You)

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote
  11. Nigel (517 comments) says:

    Actually those patents are exactly why they should not be allowed, they are not that complicated and from what I could tell not designed to protect innovation, but purely defensive, aka take a reasonably obvious concept, akin to wriggling a bolt to get in a hole vs just directly putting it in there and patent it or 7,340,396. I don’t see how 6,961,718 could stand up in court, the concepts are simple but written in verbose English, fundamentally it’s a moving filter with a cutoff limiter ( alot of work to get really right in the context of the patent, but that’s testing and implementation & is not being patented here ).
    There are so many decisions made in software design that the patent system is a mess where frankly I believe Copyright is a far more relevant protection model.
    Once a company I was with got a patent to my name & I remember being struck at the time how crazy the system was and how poorly it applied to Software Design.

    Vote: Thumb up 0 Thumb down 0 You need to be logged in to vote