Updated July 2, 2020:

A software patent or copyright is a legal way to protect your software source code, idea, or invention.

Every software developer or company has to choose between patent and copyright. Some decide they want both. To make the choice, you have to think about what you're protecting. Are you protecting the code itself, or are you protecting the software idea and the process? Getting a patent versus registering a copyright are very different processes and might also change what you want to do with your software.

Software counts as intellectual property (IP.) IP is an original work that isn't tangible, but that is valuable. Lots of avenues, including copyright and patent, exist under the law to protect IP.

Both patents and copyrights protect software from theft under the law. Each one protects a different part of the software. Patents protect the idea, while copyright protects the written code. The advantages and disadvantages of both go beyond simple legal protection. Software patents, for example, are difficult to get. Copyright, on the other hand, might not protect your software the way you need.

The difference between copyright and patent is an old conversation. The Supreme Court has been dealing with this since 1879. The Baker v. Selden case of 1879 dealt with that difference. The court's decision described the difference between these two legal protections.

In 1976, the House Committee on the Judiciary wrote a report that went with the Copyright Act passed in the same year. In that report, the committee said that copyright doesn't prevent people from using the ideas you talk about in your copyrighted work. That includes the process that results from using computer code.

Copyright is for original works, like songs, books, and software code. A copyright protects what's known as the "expression" of your work. Copyright protects your software code from someone else copying it and using it without your permission. The U.S. Copyright Ac details how this protection works.

When you hold the copyright to a work, you can:

  • Make copies
  • Distribute the work (like selling it)
  • Make "derivative works" (like translations or abridgment)
  • Share or perform the work in public

The Copyright Act of 1976 adds an exception to these rights. If someone wants to use a copyrighted work for educational or nonprofit purposes, they can.

Original software is automatically copyrighted under international law. Software counts as a "literary work" under U.S.C. § 101 of the Copyright Act. Whoever created the software has the copyright. You don't have to apply for anything or file anything for that to be true.

A copyright lasts for the lifetime of the author, plus 50 years in many countries, and 70 years in others, including the United States. As soon as your work is in "fixed and tangible form" it is automatically copyrighted.

However, officially registering copyright with the U.S. Copyright Office and the Library of Congress is a good idea. It gives you more legal protection in case someone tries to steal your software or use it without your permission. It usually only takes three months, and is $500 or less to have a lawyer do it for you.

Registering your copyright is inexpensive (much less than $1,000) and usually takes only a few months.

Copyright doesn't protect the idea behind the code. Title 17 U.S.C. §102(b) of the Copyright Act says that copyright doesn't protect "any idea, procedure, process, system, method of operation, concept, principle, or discovery."

If someone copies your code exactly, then copyright protects you. If something is extremely similar, copyright also protects you. However, proving that something is very similar in court can be difficult. Here are some court cases that addressed this issue:

In 1992, Computer Associates International, Inc. v. Altai, Inc. dealt with parts of software that copyright law protects. They used the three-part "Abstraction-Filtration-Comparison" test, and recommended it as a future way to answer questions about whether one software has violated the copyright on other software.

  • Abstraction separates the expression of the code from the ideas
  • Filtration takes out the parts of the code that don't qualify for copyright
  • Comparison puts the original work and the alleged copied work side-by-side to see if one is a copy

One aspect of code that filtration takes out will be algorithms. Algorithms are not creative works. The way you put them together can be protected under copyright law, which is part of what happened in the 1986 Wheelan case.

Patent and Software Protection

A patent protects an invention or an original idea. Patents keep others from using or selling your invention, even if they haven't plagiarized actual parts of your software code. Copyright law's limitations has pushed many developers to seek patents for their software. The uptick in software patents began in the 1990s, and has escalated since.

Patents can be used to prevent other people from:

  • Using your software
  • Importing your software
  • Selling your software

Large U.S. lawsuits resulting in millions or billions of dollars have happened over software patents. Big companies like Apple have sued for patent infringement and won.

The U.S. Patent Act gives Congress the ability to grant patents through the United States Patent and Trademark Office (USPTO). Software developers and companies more and more are using patents to protect their software from theft.

To qualify for a patent, your software needs to:

  • Be new and original
  • Be useful
  • Have a "non-obvious" piece of code or function

Software patents are usually utility patents (instead of design or plant patents). That means they have to qualify as:

  • A process
  • A machine
  • An "article of manufacture"
  • A "composition of matter"
  • An improvement on an existing utility

A patent lasts for 20 years. After that your software goes into the Common Domain. When you apply for a patent, you have to disclose the invention. That voids other ways you might protect yourself, such as keeping your source code a trade secret.

Considerations Outside of Patent Protection

If you decide not to apply for a patent, using NDAs (non-disclosure agreements) and other methods of secrecy help protect your software. You can have contractors, vendors, and employees sign NDAs.

Applying for a patent is very expensive. It can cost thousands to tens of thousands of dollars. From the day you file your patent application, it can take up to two years to receive your patent.

Important Patent Cases That Relate to Software

A 1931 Supreme Court ruling said that "laws of nature" cannot receive patents. These are discoveries, not inventions. Math, algorithms, and formulas usually count as laws of nature. The algorithms and math formulas in software code can't receive patents. But court cases since 1931 have created guidelines for patenting software. Listed here are some notable cases:

  • Gottschalk v. Benson - a 1941 case. The court said that an algorithm could not have a patent. But they went on to say that the algorithm didn't have a specific use, which is why they didn't award a patent.
  • Daimond v. Diehr - a 1981 case. A computer software helped to operate machinery in a specific way. This software process received a patent. The software contained an algorithm. The algorithm earned a patent because of the unique process it was used in.
  • State Street Bank & Trust Co. v. Signature Financial Group, Inc. - a 1998 case. This ruling established testing an invention for patent-eligibility by seeing if it creates a "useful, concrete, and tangible result." Since software can meet that definition, this ruling was good for developers seeking software patents.
  • Bilski V. Kappos - a 2010 case. This case, on appeal at the Supreme Court, began the precedent for software as an "abstract idea" that does not meet the older standards for a patent. This case also said that the "machine or transformation" test is a good way to start figuring out if software is an invention and can be patented.
  • Alice Corp. v. CLS Bank International - a 2014 case. In the Alice case, the court ruled that abstract ideas will not receive patents. The software in question only used a "generic computer" to run a business model. The process of using software on a generic computer isn't unique enough to separate software from "abstract." After the ruling, courts revoked some software patents under these guidelines.

Since the Alice ruling, software patents have been harder to get. Numerous cases have gone to court, and many patents have been rejected due to the "abstract idea" rule. One notable exception was 2014's DDR Holdings v. Hotels.com, which succeeded in showing that software can still be eligible for a patent. This was the first case to see a positive result since the Alice decision.

The USPTO has been publishing guidelines on software patents since 1989.

Your Software Patent Application

The difficulties surrounding software patent eligibility don't stop companies from applying for patents. Lots of software is patented. Many successful applications have certain things in common. Your application needs to prove that your software is an invention, not an abstract idea.

Use Machine or Transformation

In the Bilski V. Kappos case, the "machine or transformation" isn't the only test to use when figuring out if software is eligible for a patent. But the court ruled that the test is an important factor. Machine or transformation means that the invention has to either use a particular machine, or transform one thing into another thing.

Software doesn't absolutely have to fit the machine or transformation test. But an invention that does fit the test is eligible for a patent. If you can fit your software to the test, then you probably have patentable software on your hands.

Show that your software needs a specific machine, not a generic computer, to run. The machine has to be significant to your software. If it is not an essential part of what your software does, then your software doesn't fit the machine part of the test.

Don't Focus on Code

The code is not the idea. When you go for a software patent, you are not trying to protect your lines of code. Copyright does that. Instead, think of your patent application as a description for the unique things your software invention does.

If you describe the idea well enough, competent coders could follow the directions without having to take any steps outside of your directions. Several codes could create the same result. That means you have to present lots of scenarios, including things that could go wrong. Discuss how your idea will deal with those problems.

Use Flow Charts

A general flow chart that shows the entire software process is a good place to start. Then, take each step of the flow chart and make detailed flow charts. Include these flow charts in your patent application. Flow charts are a good way to show the scenarios and problems your software might encounter and overcome.

Patents in Other Countries

Unlike copyright, patents do not extend between countries. Your U.S. patent is only good in the U.S. When you want to patent software abroad, you have to apply for a patent in every country you might want to use or sell the software. Sometimes regional patent offices cover several countries, which helps. The European Patent Office (EPO) covers several member states.

When filing patent applications in other countries, you need to be familiar with the patent laws in those countries. Material that qualifies for a patent in the U.S. might not qualify in another country. The reverse is also true.

The European Patent Convention (EPC) has different laws about patents and computer programs. In Article 52, the EPC says computer programs "as such" can't be patented.

The EPC says that a computer program (i.e. an invention) has to have a "technical character" to qualify for a patent. Computer programs alone do not qualify for patents unless you can prove a "technical character." That might mean software that has a specific industrial purpose, like controlling the temperature of something. The "technical character" has to apply to every part of the software.

The Patent Cooperation Treaty

The Patent Cooperation Treaty (PCT) creates a way to file an international patent. The PCT makes it simpler to get international patents, since you only have to file one application. The member states of the PCT look at the applications on their own. You might receive a patent in some countries, but not in others, with your PCT application.

Protecting your software, either by copyright or by patent, is important. To find out more, or to get a lawyer, you can post your software patent or other legal need here and instantly get free custom quotes from the top 5% of lawyers. UpCounsel screens the top lawyers in the field to give you only the best results at 60% less cost.