New Zealand rejects software patents

No readers like this yet.
open source button on keyboard

Opensource.com

Recently the NZ govt announced that it was to remove software from the list of items that can be patented. This decision came after hectic lobbying from the open source community on one side and the proprietary vendors on the other side.

For the past few months, the debate revolved around the section titled “Patentable Inventions” in the Patents Bill. Right off the bat, this section says, “We recommend amending clause 15 to include computer programs among inventions that may not be patented.” This obviously did not go too well with the pro-software patents lobby and open source supporters feared that this recommendation may be overturned. However, on 15th July, 2010, a New Zealand Government web site reported that Commerce Minister, Simon Power instructed the Intellectual Property Office of New Zealand (IPONZ) to develop guidelines to allow inventions that contain embedded software to be patented. "My decision follows a meeting with the chair of the Commerce Committee where it was agreed that a further amendment to the bill is neither necessary nor desirable," Mr. Power said.

As it stands today, the Patents Bill says, “We received many submissions concerning the patentability of computer programs. Under the Patents Act 1953 computer programs can be patented in New Zealand provided they produce a commercially useful effect.3 Open source, or free, software has grown in popularity since the 1980s. Protecting software by patenting is inconsistent with the open source model, and its proponents oppose it. 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.”

In updating its policy position, the New Zealand government acknowledged the growing importance of open source, and the logical reasons for excluding software from the list of patentable inventions. The Bill does make an exception for embedded software. The relevant section says, “While the bill would provide adequate incentives for innovation, however, we are aware of New Zealand companies who have invested in a significant number of software-related inventions, involving embedded software.4 We sought advice on the approach taken in other jurisdictions such as the United Kingdom and the United States, and whether legislation that would enable “embedded software” to be patentable might be practicable. After careful consideration we concluded that developing a clear and definitive distinction between embedded and other types of software is not a simple matter; and that, for the sake of clarity, a simple approach would be best. 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.”

For the moment, it is clear that the engagement of open source advocates with the NZ government has succeeded in effecting a significant policy change.

Tags
Avatar
Venkatesh Hariharan is Corporate Affairs Director (Asia-Pacific) at Red Hat. In this role, he works with industry, academia, government and the community to accelerate the growth of the global open source movement. In 2006, he was awarded the "Indian Open Source Personality of the Year" by the organizers of Linux Asia 2006.

17 Comments

NZ better look out. They will end up on the USTR Special 301 Report for doing this. Other countries have been added for promoting free software. This is just as bad as far as the proprietary software groups are concerned. How long before most software development happens overseas in IP neutral countries?

I love the signals this sends to software developers in New Zealand.

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

So true!!!!

but of course the great bpUSA country wont agree but at the end... the USA don't produce anything except maybe these money makers patents that give them the right to produce sh** (from food to social system). Hopefully european governments want to put an end to this. "un petit pas pour l'homme un grand pas pour l'humanité" Neil Amstrong.

Nevertheless at last I realize all of this at this point.

Constant Misunderstanding
If there is no inventive step in software development, there is no inventive step in any new product or invention. Of course, that idea is nonsense. The reason its called inventive step is due to the step the inventor takes which is considered an innovation when compared to previous products and inventions.

If I invented a hammer with a different shaped head that would allow it to be used in tight spaces efficiently I might be granted a patent for that inventive step. I didn’t come up with the idea of a hammer, but I did innovate to produce a unique, useful element.

When a developer sits down at the keyboard and creates a software program they do not always or often make an inventive step. But it is certainly possible that they can truly innovate, and patent law gives them an opportunity to leverage that innovation for a period of time without threat of copying by competitors. In exchange for the patent protection, the inventor agrees to publically publish the details of the invention so others can learn from it. This is the intent of the patent system, instead of inventors keeping the details of inventions secret they are published so others can learn and if possible innovate more.

I would agree that the patent systems in US and EU are flawed due to ambiguity, inconsistency, and being out of touch with the now rapid pace of technology. But that doesn’t mean the system should be trashed leaving us without something to provide the intended benefits of the system.

And it is completely inconsistent to impose laws that protect inventions made with hand tools and machines on a manufacturing floor but not inventions made at a keyboard.

There are many misunderstandings. Your analogy about inventions made with hand tools and keyboards is one of them. Inventions made with hand tools are physical property. In your example, the hammer's head might indeed qualify for a patent. Software on the other hand is NOT physical property. It is written for one. It is an expression of thought on the part of the creator. One might even call it art. As such, it should be covered by copyright, not patents. You wouldn't patent the Mona Lisa would you?

There is also a fundamental difference in the way patents on inventions are handled and the way software patents apply. Using your hammer idea, nothing in patent law keeps me from designing a new hammer head which accomplishes the same goal. The goal of a patent is NOT the protected asset. The methods are. In software, have a patent on some piece of code prevents anyone else from doing the same function with their original code. A patent on the Mona Lisa might mean that no one else could paint portraits of women, or portraits of women with wry smiles, or maybe portraits in general. Paintings just weren't meant to be painted.

Finally, all software can be reduced in complexity to a series of mathematical expressions. Math is expressly forbidden from being patented.

In the end, right or wrong, patents and copyrights exist "to promote the useful arts and sciences", NOT to benefit the creators and their descendants for all of eternity. Software patents hinder progress in the computer sciences, and as such for this reason alone they should be revoked.

Paintings just weren't meant to be painted.

^Should be:

Paintings just weren't meant to be patented.

Misunderstandings about misunderstandings
First of all, you commentary about inventions made with hand tools being physical property is completely meaningless. Patents are granted for property. If I decided to build my fancy hammer invention it would take physical form but the patent does not protect that physical form. A patent is granted for an invention, which is an idea expressed as a set of specifications which could be followed by others with skill in the area of the invention to produce a functioning form of the invention. So a patent is not granted for physical property – in fact even if the invention was for a physical device the patent protects the “how it was made” and an inventor is never required to actually build an invention. Software fits into what a patent was meant to do quite well. Software is like a machine – it takes input, transforms it in some way, produces output. Two completely different software products could take the same input and produce the same output. Their uniqueness is in how that is accomplished – in how the machine was designed.

Software and art share little, if any, similarity. Software is more like a machine designed for a specific purpose. A painting does not perform a function. A painting does not accomplish a task. Software, just like any physical invention, is by nature designed to DO SOMETHING, not BE something.

And your comment about reducing software to a series of mathematical expressions is meaningless too. Nearly anything in the physical world or information world can be reduced to a mathematical expression including your body, a plant, or my nifty hammer invention. Software ultimately is reduced to a series of binary instructions which are merely 1s and 0s. So this is a non-point.

I would agree there are problems with how patents are issued an the sometimes insane ways they have been abused. For example, if a patent issued for software is overly broad, it could unnecessarily limit the ways another developer could innovate. But I think that would be the only place where we share agreement.

First of all, your commentary about inventions made with hand tools being physical property is completely meaningless. Patents are NOT granted for property. If I decided to build my fancy hammer invention it would take physical form but the patent does not protect that physical form. A patent is granted for an invention, which is an idea expressed as a set of specifications which could be followed by others with skill in the area of the invention to produce a functioning form of the invention. So a patent is not granted for physical property – in fact even if the invention was for a physical device the patent protects the “how it was made” and an inventor is never required to actually build an invention. Software fits into what a patent was meant to do quite well. Software is like a machine – it takes input, transforms it in some way, produces output. Two completely different software products could take the same input and produce the same output. Their uniqueness is in how that is accomplished – in how the machine was designed.

Software and art share little, if any, similarity. Software is more like a machine designed for a specific purpose. A painting does not perform a function. A painting does not accomplish a task. Software, just like any physical invention, is by nature designed to DO SOMETHING, not BE something.

And your comment about reducing software to a series of mathematical expressions is meaningless too. Nearly anything in the physical world or information world can be reduced to a mathematical expression including your body, a plant, or my nifty hammer invention. Software ultimately is reduced to a series of binary instructions which are merely 1s and 0s. So this is a non-point.

I would agree there are problems with how patents are issued an the sometimes insane ways they have been abused. For example, if a patent issued for software is overly broad, it could unnecessarily limit the ways another developer could innovate.

"Software, just like any physical invention, is by nature designed to DO SOMETHING, not BE something."

Really? You've never seen the perl code for decss on a t-shirt? There is nothing in the definition of code that says it has to do anything. I can write software that does absolutely nothing, and it would still be copyrighted. Code can also e printed, which is a characteristic of something copyright, not patent.

Nice one Gary. But code on a tshirt is not software. And its certainly not an invention. My statement said that software “is by nature designed to do something” and it is this functionality which makes it like a machine as opposed to art. And actually you’ve proven my point. Put some code on a shirt and it can’t function. Possibly if you put the full source for a program on a shirt it is a storage medium for the software. You could patent (possibly) some/all of that code, but you can’t patent the tshirt. You can, as you say copyright the shirt. I could put my cad design for a new hammer on that shirt too. It would be copyrighted but I couldn’t patent the shirt. I could however have one or more patents on the hammer invention itself. There is a separation between the media the invention is presented on and the invention itself. The invention itself is a functional idea, provided to the patent office (in a non- copyrighted document no less!) in a paper or digital medium.

You say you can write software that “does absolutely nothing” and it would still be copyrighted. Yes, that is true, copyright is extended automatically under current law to code you write. But, if that code could function, and if it was considered an inventive step under patent law, even code printed on a tshirt could be granted one or more patents. (By the way, any code that actually executes even one line does something). Patent law doesn’t care how you are able to represent an invention, only that the invention is designed for a purpose and fulfills that purpose in a unique way.

Being able to print out code does not change its purpose, which is to function. All patents can be printed, software or not. So can the formula for a new type of paint, or the design of a new kind of nail. And if the owner of any patent decided to make plans and sell them (or give away) to others, those plans, on paper or digital format, would be copyright too. Just because an invention can exist on paper doesn’t mean there can’t be a patent associated with it. Many possible situations exist where copyright and patent apply to the same invention/product/software.

I think many people lose track of the fact that you don’t typically get a patent granted for a whole program. You usually get a patent for a particular function which was done in an innovative way. And it is your “method” that is patented, not the actual lines of code. I think this confuses this discussion. Most people don’t realize that you don’t even have to give the patent office a copy of your code.

It would be interesting to read what "Unidentified" might have to say about <a href='http://www.groklaw.net/staticpages/index.php?page=20091110152507492'>An Explanation of Computation Theory for Lawyers</a>.

In particular, that article rejects the propositions that "Software is more like a machine designed for a specific purpose" and "reducing software to a series of mathematical expressions is meaningless".

In fact, "software is the information you need to give to the universal Turing machine to make it perform the desired computation". The key word is "universal" -- a single machine can perform any desired computation. A more accurate analogy is with a <a href='http://en.wikipedia.org/wiki/Lathe_(metal)'>lathe</a>. By unidentified's logic, every setting of a lathe would be patentable subject matter.

Well John, this is Unidentified again. I've got 31 years in the computer software industry. I've been a developer, development manager, field engineer, field engineer manager, entrepreneur, corporate IT manager, and a consulting business owner in this industry. So I’ve got a few years on the author of the article you reference.

I’m not sure if you were implying that I’m a lawyer who cannot possibly understand the nature of technology. If so, then you are most seriously incorrect. I sleep with code in my dreams. I build prototypes of my new ideas on my weekends. And I currently manage an international team of developers.

The author you reference seems to spin a nice story, and one that at least on some points I would say he has made some correct assumptions. The point that lawyers and the legal system often don’t fully understand software is one I would agree with. But that statement is extremely general and law firms have changed drastically since the 90s and IP related firms tend now to hire ex developers who have obtained law degrees (yes, you’d be surprised how many tech guys decided to go to law school after the dotcom fiasco). Judges and juries on the other hard are certainly tech-disabled for the most part but oh well they are disabled when it comes to most topics --- so much for the legal system.

Also, I read nothing in his article that indicates he’s ever had direct experience with the patent system or IP lawyers. I on the other hand, have years of such experience. From that experience, I can say that the system needs an overhaul, not just because of software or computer technology, but because it has not been revised to meet the demands of the modern world. It is slow, expensive, and elements have indeed become in impediment to innovation. Games are played by large and small companies to make money from patented granted which probably should have been rejected. That being said, I do not have the desire to see the entire patent concept trashed.

His article is interesting, but this goes back to a basic area of understanding about what software is. I think were we get lost is in the definition of software in various contexts. Is a line of code software? Is an entire module of code software? Is it a complete program? And it needs to be pointed out once again, that patents aren’t give for software or code, they are given for inventions. Inventions involve taking known things and organizing them in a new, unique way to create a function/method that is innovative. An invention may only be (and usually is) a small portion of the total code included in a fully functional software product.

Trying to prove that software is just math and therefore cannot be patented is truly the wrong approach. I’ve seen this argument again and again by people who wish to find a technicality in an attempt to prove software patents should never be given. This is an obtuse argument for many reasons. Saying that software is just data is about as valuable an argument as saying steel is just atoms. Yet when you arrange steel in a certain unique way, the patent office gives you a patent for a nifty new hammer head.

Think about it this way: when you sit down and write software (as I will continue to do this weekend because I’ve got a cool new prototype for an email companion app I’m working on) are you doing math? Nearly every programmer I know is crappy at math. Now in the 70s that wasn’t true because mathematicians were some of the first guys to pounce on using a computer. They wanted a universal computation machine to run math problems through so they could solve pure math problems. Math is painfully slow on paper. But that’s not what the bulk of software is today.

The fact that the computer takes software that you design to draw a smiley face on the screen and breaks it down to the simple math a CPU can do (they can only add and multiply, but the way) is a non-issue. A CAD program takes a design I put in it for a hammer and breaks it down to math too, that doesn’t devalue the hammer.

One final thought: everything is mathematics. Chemistry, biology, physics. Every physical thing you can see. Every tool. Every machine. It all can be described via math. Software is NOT math, even though it may ultimately be executed like math. And even the authors assertions about that are not true. Computers ultimately process binary logic operations. Binary is just a set of switches which can be on/off. And actually, to do math, a computer has to convert math, even a simple computation like 1+1 and convert that to binary, run a LOGIC operation, and then convert the answer to a math answer in base 10. The switches are uses for storing information, comparing information, and manipulating information. Believe me, I’ve written 8086 assembler and you can do cool things like load direct binary instructions and data.

Anyway, I appreciate the feedback. I’m a tech guy, have been for life. I’ve been involved in some software patents. I saw this article and it concerned me. Not that I believe that there’s much personal impact for me, its just that I think most software developers really understand what a patent is. Many people hate them because they believe they are inherently are big business tools to crush the little guy. Others believe patents hold back opensource. Well, there may be some little truth to that, but really guys --- how often has a patent prevented you from writing good software?

My previous post just used the title of the original article as the link text -- I found the article thought-provoking and offering a perspective on the question of software patentability not often seen. Anyone involved in software and with an interest in its patentability might find it a worthwhile read.

The NZ Select Committee, which heard public submissions on the patents bill from a range of differing opinions, includes representatives from 5 political parties across the entire political spectrum. The Chair is from the largest opposition party; the Minister to whom the Committee reported is from the largest party in the governing coalition. The Committee's recommendation was unanimous and the Minister has accepted it, in spite of strenuous private lobbying from those who favour software patents.

As the Committee noted, defining embedded software is difficult. I find it helps to consider 3 classes of computing machine, and the kinds of problem they solve.

<ol><li>Specification or S-machines function according to a specification and implement a pure computational method. Examples include scanning bar codes at a checkout, looking up prices and producing an itemized bill plus any applicable taxes; word processing a document; or paying an invoice by transferring money from one account to another. For S-machines, mathematical proofs of program correctness are possible, at least in principle.
</li><li>Problem or P-machines function to solve a problem in the real world, through interaction with a user, such as playing a game, running an online auction, or working out a travel plan and booking tickets. A P-machine can be represented as a sequence of S-machines. While components of P-machines are amenable to proofs of correctness, the P-machine as a whole is perhaps more like a scientific theory, in that we judge it by its success in solving the real world problem.
</li><li>Embedded or E-machines directly control the real world, by taking measurements, such as location, temperature, or pH, and making changes to the world, which in turn change the things being measured. Examples include washing machines; smart houses that use a PC to monitor and control heating and cooling; or an in-car navigation system. E-machines are in every sense a part of the world, rather than an abstract model of the world, although the software in an E-machine is an expression of the abstract model.</li></ol>

The Select Committee concluded that E-machines are patentable subject matter, whereas S- and P-machines are not. This seems intuitively right -- if a purely mechanical washing machine is patentable subject matter, it's smarter sister ought to be patentable subject matter too. New Zealand has a long history of government not intervening in markets unless there is a demonstrable market failure. It appears the the Select Committee found that those making submissions in favour of software patents did not offer a compelling answer to the question, "What is the business problem, to which software patents are the solution?"

We also need to remember that software patents are very unusual beasts. The average house in the developed world is full of machines: cars, televisions, dishwashers, cooking-stoves, lawn-mowers, and so on. Other than my computer, I cannot think of any device I own which, if operated in the manner for which it was designed, can expose me to a charge of patent infringement. So we really need a very good reason if we are to make an exception for software. In New Zealand at least, the politicians were not convinced.

This perhaps lies at the heart of Richard Stallman's critique of the danger of software patents, which he <a href='http://www.wikipublisher.org/books/GNUZealand2009/TheDangerOfSoftwarePatents'>covered in his GNU Zealand 2009</a> tour.

There is one point on which I do disagree with Unidentified. If I read the comment correctly, it says that most programmers are crappy at maths, so programming isn't mathematics. I once spent a summer building a fence. I am crappy at carpentry. So building fences isn't carpentry? More seriously, in my experience, most programmers, who may be crappy at maths in general, are very good at the kind of mathematics that underlies programming. But that is dangerously tautological.

The concepts you discuss are all interesting points. And while I like to explore the topic of software patents, I tend to ignore attempts to get rid of software patents on a technicality – particularly the ‘its only math’ argument. That argument is an attempt to equate software to math in order to dispose of the software patent concept. I don’t find it a useful argument because it completely ignores how software patents are much like standard invention patents. And it ignores serious differences between software and math.

Your fence building argument attempting to refute my ‘programmers are not good at math’ argument misses the mark. My point was that with very few exceptions, when programmers sit down at the keyboard everyday they are typically NOT DOING MATH. They are not programming formulas into their code. Their intent is not to solve an equation. If indeed software was truly an exercise in math, would not the people who create it every day need to have a strong, working knowledge in such math? I’ve worked with hundreds of developers throughout my career and I can only think of a few who were strong in math. Look at computer science curriculum in college and you will see it is not strong in math the way engineering degree programs are. Math is simply not a key skill required to develop software.

You say that: ‘in my experience, most programmers, who may be crappy at maths in general, are very good at the kind of mathematics that underlies programming.’ I am unable to be convinced there is a kind of software math. And even if there is, why does software need a special math? And also if this is true, how can you say it is the same as ‘regular’ math, if indeed it is not the same? And again, look to the college curriculum: is programming taught as a math class?

Also, those out there who haven’t looked at software patents should review a few. Most of them are described with flowcharts as their core figures [figure is the patent word for the diagrams that are presented alongside the text of a patent]. IF software was truly math, then a patent would merely be displaying a series of formula for a particular patent document. That is unquestionably not the case. Software patents require you to describe a method --- a series of steps presented in a flow chart. The method or methods in a software patent perform a function. A patent is only granted if the examiner determines that the method used is unique in a significant way [demonstrates an inventive step].

Lets try to understand this math argument. The reason it has been decided that pure math is not to be patented is because math is only a description of something that exists. The typical argument is that math formula and their answers (results) are just discoveries of something that exists --- hence discovered vs created. An invention, on the other had is created. I would present that software is created, it is not a discovery of something that already exists. Math is a representation of something else --- it is a description. Software is its own entity – it does not a description of something else. Code and data are like tools and raw materials. We build with them. We sometimes assemble them in very unique ways that are patentable.

It is worth re-reading Computation Theory for Lawyers on this point. The author describes the branch of mathematics called Hoare Logic: "When one writes programs using this method, the program is a by-product of writing a mathematical proof."

The author goes on:

"In fact most programmers never use such methods. Does the way software is developed count for patent infringement determination? Do we need to make a difference between software developed mathematically which is not patentable and software which is developed using a non-mathematical method which is patentable? Perhaps once it were decided that formal verification techniques bring the code into a patent-free haven, these methods would grow more popular. The industry could avoid billions of dollars in patent infringement liabilities. A side-effect would be great improvements in the reliability of software due the the drastic reduction in the number of bugs. But in such scenario what would be the point of software patents?"

The article concludes, " It doesn't matter whether the programmer uses mathematical methods or not when developing software. The source code has a mathematical meaning regardless of how the developer wrote it."

However, it seems to me that the real lesson from the original blog post is that New Zealand followed an open, transparent and democratic process to reach an evidence-based policy position, which all parties support. Other jurisdictions may or may not reach the same conclusion.

"Unidentified" is I think advocating that the line between patentable and non-patentable subject matter be drawn between S-machines and P-machines, rather than between P-machines and E-machines, as New Zealand has done. He offers a reasoned argument to support this position. Is the country from which Unidentified is posting following a democratic process to decide its policy on software patents, so that his views may be taken into consideration?

John, I’d like to thank you for a civilized discussion. I wholeheartedly agree with you about the value of a transparent, democratic process when reviewing a topic such as this. I live in the US, but having visited NZ and doing business with companies there I can say that there are some business and social cultural differences (or ‘attitudes’ if you will) which would tend to make the outcome there different than my home country.

Over the years, I’ve been a part of both closed and open source software development. I’ve done patent applications, but for the most part that is not the focus of my software existence. I believe most of us in the software development community are trying to focus on building good software – by whatever means. I’ve come to realize there are some individuals however at the extreme ends of a war between open source and closed source. At the extremes there are those that believe the other side should not be allowed to develop in the way they see fit.

This turn towards what appears just like religious fanaticism and intolerance concerns me. I would not enjoy a world where either side ‘won’. For example, NZ has decided against software patents. That is certainly their choice. If there were to surface another movement to force all software to be opensource I would have a larger concern as I believe that forcing anyone to share their code is not proper. BUT, I should be careful not to make it appear that patents and opensource topics are inherently related. I only mention the potential for one ‘side’ of a war to view any changes as NZ has made to be a ‘win’ or a ‘loss’ for them.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.