Software is theoretically protectable under patent law, copyright law, and contract law. Choosing the best strategy to prevent unauthorized use and copying involves careful consideration of the software itself and the relevant market.
I’ll just come out and say it: software is the platypus of the intellectual property world. When biologists first discovered the platypus—which feeds its young with milk like mammals but also has a bill and lays eggs like birds—they didn’t know what taxonomic box to put it in. In the world of intellectual property, finding the proper box to protect rights in software suffers from many of the same challenges. Software exhibits many traits of a work that is protectable under copyright, but there are also limitations to that protection. At the same time, software exhibits traits that make it eligible for patent protection, although that is often a difficult goal to achieve.
Copyright Protection for Software and Apps
The law of copyright protects any original work that is “fixed,” which just means that the author has put pen to paper (or in the software context, that the code has actually been written). Historically, copyright law was intended to protect written works (books, essays, and poems), pictorial works (paintings and drawings), and musical works (songs and compositions), among a few other categories of works. Software is unquestionably protectable under U.S. Copyright law, but unless the program is primarily a display of graphics or videos, software is usually registered as a written work. More specifically, the software code is registered as a written work (or “literary work”).
Any copyright grants the author with certain exclusive rights: to reproduce or copy the work, to distribute copies of the work, to prepare derivative works such as different versions of the work, and to publicly perform or display the work. Typically, copying is what software developers are most concerned about. To establish copyright infringement, a copyright owner must prove that someone had access to the copyrighted work and that the infringing work is substantially similar to the copyrighted work. This is one of the limitations of protecting software under copyright law. Because it is the software code that is protected under copyright, courts look to the code to determine if the infringing work is substantially similar. This means that copyright law is an effective tool against piracy, but copyright is not well suited to protect against reverse engineering. In other words, copyright law does not really protect against a competing software developer copying the ideas, themes, or processes in your software if they code those ideas, themes, or processes in a different way.
Patent Protection for Software and Apps
The U.S. Copyright Act expressly states that copyright protection never extends to “any idea, procedure, process, system, method of operation, concept, principle, or discovery.” This is because the U.S. Patent law is supposed to govern whether and how these things are protected. The patent law offers protection for most of these things, but patents are much more difficult to get than copyrights. Whereas the copyright law protects any original work of authorship that is fixed (even if it is quite similar to something that has already been created), the patent law only protects inventions that are truly novel and non-obvious.
The novelty requirement means that at least some aspect of the invention must be completely new, and the non-obviousness requirement means that the invention must contain an inventive step that is more than a predictable combination of pre-existing ideas. This means that many software programs may simply not be eligible for patent protection. A new side-scrolling platform game, for example, may not be sufficiently novel or non-obvious in light of prior games of that type, even though the developer may have spent a significant amount of time on unique characters, dynamic graphics, and custom levels. And even if the software does include a novel element and an inventive step, the patent protection would likely be limited to those elements and would not protect other elements of the software.
Contractual Protection for Software and Apps through Licensing
Due to the limitations of both copyright and patent protection, many companies are using custom license agreements to try to protect software and apps. The general strategy is to use contracts to license (rather than sell) the software, and to attach specific restrictions to the license terms. Such a license can seek to prevent reverse engineering and restrict copying or distribution, among other things. This area of law is relatively new, and defendants have challenged the enforceability of such licenses, but for the most part, they have been upheld. However, care must be taken in drafting such licenses to avoid potential challenges.
The biggest limitation to trying to protect software through licensing is that only a person that agrees to a license is bound by it. This leaves open the possibility that one person can purchase the software and agree to the license, while another person who did not agree to the license would not be bound by the restrictive license terms. In that situation, the software developer would potentially have a claim against the original purchaser for sharing the software with the one who later violated the license terms, but this makes it increasingly difficult for the software developer to use the license to actually stop the violation.
So What Is the Best Way to Protect My Software or App?
There is no easy answer to this question, and in most cases, a combination of different types of protection is likely best. A copyright registration is a relatively simple and affordable way to prevent direct copying or piracy, but usually does not protect the ideas or processes in the software from being reverse engineered. Patent can protect those ideas and processes, but patents are difficult to obtain and can be expensive. In addition, license terms can be effective in limiting violations by actual purchasers but are less effective as to third parties.
When it comes to protecting software and apps, many clients mistakenly believe that a “one size fits all” approach can be taken, but the issue is far more nuanced than that. The prudent software developer should seek copyright protection in most cases, but should also evaluate patentability and look to licensing to supplement the protections offered under the copyright laws.
Edit: After the Supreme Court’s June 2014 decision in Alice Corp. v. CLS Bank, the continued viability of software patents has been called into question and many such patents have been invalidated under that decision.
As in all areas of the law, if you are looking to protect your investment in software or app development, you should discuss the issues with an attorney specializing in that area of law.