Software Intellectual Property
Updated: Oct 27, 2020
IP protection comes in many forms, including patents, copyrights, trademarks, and trade secrets. The definitions of these forms vary from country to country. In the following we treat the US and the EU (which has harmonized IP policies) separately, and we do not consider the rest of the world (which generally follows the EU more closely than the US). In the context of software, a patent protects methods or algorithms, independent of particular lines of code used to implement the method/algorithm. A patent for a software invention can be used to prevent others from utilizing a certain algorithm without permission, and to prevent others from creating software programs that perform patent protected functions. Patents give the holder a 20-year term of exclusivity in return for the publication of the ‘secret sauce’ for all to see and build upon, subject to licensing during those 20 years of protection.
In addition to patentability there may often be an issue of freedom-to-operate (FTO), namely, can you produce/sell/import a device given existing patents, without licensing deals with patent holders upon which your device is based. E.g. if your application involves a combination of A+B and A is patented , you may have to get a licensing deal from whoever holds the patent for A, but you still can patent A+B (again if the combination fulfills the three requirements of usefulness, novelty, and non-obviousness). This holds in fact even if both A and B are patented independently but A+B is not, although showing unobviousness will generally be harder in this case.
Copyright, on the other hand, protects lines of code as written, as though these were literary works. Copyright law protects only a particular expression of an idea and can thus be used to prevent copying source code, but cannot prevent copying the idea/functionality.
Another time-honored method for preserving IP is the trade secret. Here the IP is simply not released to the public domain but instead kept under wraps, like the Coca-Cola® formula. For methods or devices that are more or less difficult to reproduce without extensive experimentation this may make sense, but in a modern context where nearly anything can be reverse-engineered, trade secrets may be less attractive for heavy and light industry, pharma, microelectronics and the like. It may still be useful in software which in some cases resists reverse engineering.
Finally, trademarks can be used to protect brand names and logos, e.g. the Snapchat® trademark can be used to prevent any other app maker from putting out an app with the same name to benefit from the popularity of the original.
IP in the United States
In the US a patent can be obtained on machines (e.g. a device producing insulin), methods or processes (e.g. a procedure by which insulin may be produced), articles of manufacture (objects having parts with only static interaction among the parts, e.g. a hammer), and compositions of matter (e.g. a variant preparation of insulin having further ingredients for suppression of side effects).
Software as Process/Machine
Software patents are typically written in the form of computer implemented processes; in addition to the standard patent requirements (novelty, unobviousness, and usefulness), a software patent must be tied to a machine, and needs to offer some kind of identifiable improvement over the state of the art. Implementing something already known on a computer, is unlikely to be patentable. U.S. patent law specifically excludes "abstract ideas", and this has been used to refuse some patent applications involving software.
Under the 2014 Supreme Court decision Alice, if an invention is directed to an “abstract idea”—and many software-implemented inventions are—then to be patent-eligible the invention must contain an “inventive concept” that transcends mere computer implementation of code. Conversely, inventions that “use a computer merely as a tool” are frequently found to be “abstract ideas” lacking an “inventive concept.” A two-step framework was introduced to determine whether software based inventions were patentable:
Step 1: Is the claimed invention directed an abstract idea? Abstract ideas include: algorithms, economic practices, methods organizing human activities, an idea itself, and mathematical proofs or formulas. Most, if not all, business method based software inventions are considered abstract ideas under this test.
Step 2: If the claimed invention is directed at an abstract idea, does the claimed invention (a) limit the implementation of the abstract idea to a particular technology, (b) improve another technology or technical field, or (c) improve the function of the computer itself.
As you may gather from the highly subjective nature of this test, there remains some degree of confusion as to whether a given software patent is valid or not. The USPTO’s Section 101 guidelines interpreting Alice—and the accompanying 46 examples—have not cleared the confusion. The current atmosphere at the USPTO encourages a narrow interpretation for step 2 such that an application for an algorithm is unlikely to be approved without a specific software implementation.
Despite this theoretical confusion, the number of software patents continues to grow:
Software as a Business method
Business methods are patentable subject matter. Information technology offers possibilities for new business models, using information technology as a tool for processing and transmitting various data, such as technical, commercial and financial data.
A business method software patent covers any invention that performs a business activity through software (e.g., taxi hailing apps like Uber and Lyft). Despite the admissibility of business methods as patentable subject matter, the USPTO and courts tend to resist attempts to create a monopoly over a business activity simply because it is implemented in software, which also explains why neither Uber nor Lyft were able to prevent the other from creating ride sharing apps.
In the U.S. copyright protection is inherent at the time of creation and thus lines of code are automatically protected. To unambiguously define the date you created a software work (or any other creative work), one can register a copyright with the Library of Congress. Copyright protection extends for author’s lifetime plus 70 years. For works made for hire, the term of the copyright is 95 years from first publication or 120 years from creation, whichever is shorter. Copyright protects the expression of an idea and not the idea itself. Hence, in the case of software, it is the specific code and not the functionality that is protected.
Article 52 of the European Patent Convention (EPO) excludes software ‘as such’ from patentability but allows so-called computer-implemented inventions. The EPO holds that a program for a computer is not patentable if it does not have the potential to cause a "further technical effect" beyond the inherent technical interactions between hardware and software. While source code is not generally patentable in the EU, the methods involved may be patentable if the software invention offers a technical solution to a technical problem; the phrase “as such” opens a loophole for patent protection for computer program-related inventions with a technical character. In this respect, “computer-implemented inventions” involve the use of a computer, network, or other programmable apparatus, having one or more features realized by means of a computer program. Patentability cannot be denied merely because a computer program is involved. If the subject matter of the invention has a technical character (e.g. can be cast as a machine with related software) then it may be allowable.
EU Directive 2009/24 seeks to clarify legal protection of computer programs by defining a minimum level of protection. Member States can protect computer software as such by copyright, by analogy to the protection given to literary works within the meaning of the Berne Convention for the Protection of Literary and Artistic Works. As in the US, no registration or other formality concerning software is required, and copyright is granted from the sole fact of the creation of the computer program. As previously mentioned, an abstract algorithm (as opposed to source code implementing an algorithm) is not eligible for copyright protection; neither the functionality of a computer program, nor the programming language, nor the format of data files used in a computer program constitute a form of expression of that program, and thus these are not protected by copyright.