There are various intellectual property protections that are available to the creators of software. This primer will provide software engineers with a brief overview of some of the areas of IP law that are relevant to their work.
How is Software Protected?
Software is protectable in three realms of intellectual property law: patents, copyrights, and trade secrets. Each of these fields of IP law protects software in a different way.
Software developers with valuable assets are generally recommended to rely on all three areas of law for the maximum protection. (Please note: The names of products built with software may also be protectable by trademark law, which is independent of the software code itself.)
Software and Patent Law
Patent law can be used to protect one or more innovative IDEAS that a product uses to do a specific job. If a developer is able to successfully patent a mathematical algorithm specific to a product domain (e.g., an algorithm for detecting or handling a specific arrhythmia used in a pacemaker), then the developer owns a (time-limited) monopoly on that idea. If it is believed that another company is using the same algorithm in their product, then the patent’s owner has the right to bring an infringement suit (e.g., in the ITC or U.S. District Court).
What happens during a patent infringement lawsuit?
In the event of a patent infringement lawsuit, a product’s source code and design documents will typically be made available to independent software expert witnesses. These experts will then review the source code to determine if one or more of the claims of the asserted patent(s) are infringed.
Tip: It is a useful analogy to think of patent claims as demarcations of the boundaries of real estate, such as an office building, and claims of patent infringement as akin to a charge of trespassing.
What do patents protect?
Patents protect ideas regardless of how they are expressed. Patent protection is typically broad enough to equally cover implementations of the same ideas that are realized 100% in software, 100% in electronics, as well as in any mix of software and electro-mechanical hardware. Thus, patents also provide protection of ideas implemented in software even if the programming languages and/or function and variable names are different in various infringing competitor’s products.
How do software developers apply for a patent?
To apply for a patent, software developers must file certain paperwork with the U.S. Patent and Trademark Office. Please note, registration fees will be required. This process generally begins with a prior art search conducted by an attorney and can then take several years to complete. Developers should expect the total cost per patent to be in the tens of thousands of dollars.
Software and Copyright Law
Copyright law can be used to protect one or more creative EXPRESSIONS that source code authors employ to do a specific job. Unlike patent law, copyright law cannot be used to protect ideas or algorithms. Instead, a copyright only protects the way developers creatively choose to implement those ideas.
Developers may not be able to protect software with copyright under some circumstances, including if there is only one or a handful of ways to implement a particular algorithm, or only one way to do so efficiently in the chosen programming language.
What happens during a software copyright infringement lawsuit?
In a software copyright infringement lawsuit, attorneys argue over two primary issues:
- Which individual parts of the source code are protectable because they are sufficiently creative? This can apply to things such as function prototypes in an API.
- Does the collective selection and arrangement of these individually protectable “islands” show a pattern of “substantial similarity”?
The judge will decide the first, based on evidence presented by each side’s expert witnesses. After which the jury will be presented the second issue to decide.
Software copyright infringement is easiest to prove when the two programs in question have source code that looks similar in some important way. For instance, when the source code being compared is both written in the same programming language and has similar function and variable names.
However, it is rare that the programs are identical in every such detail. Thus, due to the possibility that the accused software developers independently and coincidentally created something similar (lacking all malfeasance), the legal standard for proving copyright infringement is much higher when it cannot be shown that the defendants had “access” to some version of the plaintiff’s source code.
Do engineers need to file for a software copyright?
Unlike patents, copyrights do not need to be awarded by an authority. The software developer, or their employer, owns a copyright in the project work by merely creating it. Even in the situation where “Copyright (c) 2018 by MyCompany, Inc.” is not written at the top of every source code file, the developer or employer still owns a de facto copyright in the project work.
However, in the U.S., there are advantages to registering a copyright in a work of software with the Copyright Office prior to any alleged infringement, including treble damages. Even if the act of registering a copyright is outsourced to an attorney, the cost should only be about a thousand dollars at most.
Does a single copyright cover new versions of source code?
As source code frequently changes and new versions are released, developers should be reassured that a single registered copyright extends itself to “derivative works”. This includes later versions of the software. Re-registering a copyright for every minor release with the Copyright Office is not necessary.
It is also important to note that the binary executable version of your software has extended copyright protection as a derivative work of the source code. Such binary executable versions include non-volatile memory contents and object code libraries. Thus, a developer who copies another product's binary can also be found to have infringed the copyright.
Interestingly, both patent law and copyright law are called for in the U.S. Constitution. However, of course, the extension of these areas of law to software is a modern development.
Software and Trade Secret Law
Patent and copyright law each, at best, protects only portions (“islands”) of source code. Trade secret law, on the other hand, can be used to protect the entirety of SECRETS within the source code. Secrets do not need to be innovative ideas or creative expressions.
When is source code protected under trade secret law?
For trade secret law to apply, developers are required to have taken reasonable steps to keep the source code “secret”. For example, although open source software may be protectable by patent and copyright law, it cannot be protected by trade secret law due to the lack of secrecy.
If source code is registered for copyright with the U.S. Copyright Office, can it still be protected under Trade Secret Law?
Although there may seem to be a conflict between registering the copyright in software and keeping the source code secret, source code can still be protected under Trade Secret Law. To register for a software copyright, the U.S. Copyright Office only requires that developers file a small portion of the program’s source code in order to successfully identify the copyrighted software and its owner. The vast majority of the source code need not be submitted.
How can developers protect source code trade secrets?
Protecting software like the secret recipe for Coca-Cola or Krabby Patties helps an owner prove that the source code is a trade secret. By taking specific actions designed to protect the secrecy of the source code, companies can use their protection strategy to open the door to this additional legal basis for bringing a lawsuit against a competitor.
Strategic actions designed to protect source code secrets can include company policies that require software engineers to only work onsite on company-issued equipment or adding special terms in employment agreements.
Barr Group experts often encounter trade secret cases involving allegations that one or more insiders left a company and later misappropriated the former employer’s software secrets in order to compete via a startup or existing competitor.
This primer is merely an introduction to intellectual property as it applies to software. There are many terms and concepts that have been purposefully avoided to keep this primer at an introductory level of detail. Always consult with an attorney about your specific situation to get a full understanding of how patent, copyright, and trade secret laws apply to your work as a software developer.
Barr Group's team of electronics and software expert witnesses provide experienced and unbiased source code reviews, expert reports and testimony for product liability, patent infringement, software copyright, and trade secrets litigation involving computer-based technology and software. HIRE AN EXPERT