Overview of Intellectual Property

Ways of protecting a software program

For the purpose of determining how the intellectual property could be protected, any software program can be dissected into three major parts or levels: function, design, and code. Function is an overall purpose of your program, design is how your program organized, and code is a language that was used to write the program, such as source code, object code and any instructions that accompany the code lines. Patents can protect function and design, and in some instances code; copyrights can protect code and design; and trade secrets can protect code, design, and, in some instances, function. Keeping this dissection in mind, let us overview each type of intellectual property.
Patents
Patents generally protect novel inventions, innovations, or any novel improvements and afford very high level of protection. The patents are regulated very heavily and it could take somewhere from two to five years to achieve patent protection. There is no independent creation defense in the field of patents: if someone came up with an idea and patented it, you cannot claim the same invention later on and argue that you invented the same invention without knowing that another patent or invention existed. There is a presumption of validity i.e., the patent is presumed valid until someone proves otherwise, but to rebut validity is a very challenging task.
Once issued, the patent is afforded about 20 years from filing date. The process of obtaining a patent is complicated and there are many stringent requirements on how to write a patent. The patent should be written in a certain way, should contain claims and description, drawings, and other rule-specific requirements. The cost of obtaining a patent is somewhere between $15,000 to $25,000, or even more.
What the patent gives to the patent owner is an exclusive right to exclude others from making, using, selling, or offering for sale the invention. It must be emphasized, however, that the patent does not afford its owner the right to use, make, sale, or offer for sale his invention. This is the biggest misconception many people have about the patents and what exclusive rights the patents afford. Thus, by virtue of a patent, you may obtain an exclusive right to stop others from making, using, selling, or offering for sale your software. Keep in mind though that there might be other patent holders out there who could stop you from making your own software because in the past (before you patented your software) they had obtained patents that are similar to your software. Nevertheless, an exclusive right to exclude others creates commercial value.
The goal is to maximize commercial value for your patent. That could be achieved by obtaining more than one patent. As I mentioned earlier in the letter, patents will protect most effectively the function and design of your software. Theoretically, patents could protect the code as well, but not as effectively and strongly as the other two major parts of your software program.
Copyright
The subject matter of copyright is an expression of original work. Copyright protects code best and also could protect design in some instances, because code and sometimes design are expressions of ideas. The copyright does not protect ideas, thus the function of your software program cannot be protected by the copyright. The level of protection afforded by copyright, however, is lower than that afforded by patents. On the bright side, it takes virtually no time to achieve protection – copyright is the right that is effective upon creation and no registration is required. Thus, the code of your program is already protected by copyright. Nevertheless, I would recommend registering your copyright as soon as possible because registration of copyright work gives the copyright owner some additional benefits such as ability to sue others, eligibility for some other expenses such as attorney’s fees, and more importantly, statutory damages.
There is an independent creation defense for copyright work. If someone comes up with the similar software work independently, that copyright owner could use it as a defense and potentially avoid liability. Registered copyrighted work carries a presumption that the work is original, but such a presumption is very easy to overcome. The term of protection is for life of the author plus 80 years. The requirements to obtain a copyright are not as stringent as those for patents. As long as the work is original (independently created), fixed in tangible medium (recorded, written, or of that sort), and has a very minimal degree of creativity (any software code qualifies because it is a written text after all).
The cost of obtaining the copyright is minimal (a hundred dollars or slightly more) and the process of registering the software as copyrighted work is easy and could be done by yourself if desired. What copyright gives to the owner of the software program is an exclusive right to stop others from copying it. One misconception that people have in regard to copyright is that it only protects the code, but, in some instances, the copyright can protect design of the software program as well.
Trade secret
Trade secrets protect any secret information as long as it is kept secret and not known to the public. Thus, trade secrets can protect the code, the design, and the function of the software program. The measures must be taken to protect your trade secret and keep it away from the public. Agreements not-to-compete and non-disclosure agreements are the valuable tools for that matter.
Level of protection that trade secrets afford to its holders is medium and somewhere in between patents (high protection) and copyright (low protection). It is very quick to achieve protection- same as for the copyright, trade secrets are in effect upon creation. There is an independent creation defense. On top of that, it is legal to reverse engineer the product as long as the product is legally obtained. Unlike for patents and copyright, there are no presumptions of validity or originality, or of that sort. The term of protection is as long as the software is kept secret. The cost for trade secret varies depending on the level of secrecy needed to be obtained. The trade secrets give its owners an exclusive right to prevent others from using and disclosing it.
In sum, a software program can be effectively protected by employing the outlined above types of intellectual property. Patents will protect most effectively function and design, and less effectively code; copyrights will protect code and design; and trade secrets will protect code, design, and in some cases function.  More detailed discussion is needed to identify strategic goals of achieving the most effective intellectual property protection.

For clarity and convenience, we have sammarized the types of Intellectual Property in the table below:

Patents

Copyright

Trade Secrets

Trademarks

Subject matter invention, innovation, improvement expression of original work (code and may be design) anything that is kept secret (code/design/function/data/other info, etc name of the product or service
Level of protection high low medium protects the name but does not protect technology
Regulatory process heavy light none medium
How long to achieve protection 2-5 years immediate, upon creation immediate about 1 year
Independent creation defense no yes yes no
Presumptions presumed validity presumption that original subject matter, but easy to overcome no if registered, then presumed to be non-generic
Term of protection 20 years from filing life of author plus 80 years as long as it kept secret as long as it is used in connection w/product and not become generic
Requirements claims, spec, drawings, novel, non-obvious, written description, enablement, etc original and fixed in tangible medium measures must be taken to keep secret (e.g., NDA) specimen use on product, use in interstate commerce
Cost $10-15K $100, easy to do yourself depends on the level of secrecy $1400-1500, including search
Exclusive rights right to exclude others from making, using, selling, offering for sale right to exclude others from copying, displaying right to exclude others from using, disclosing stop others from using same or similar trademarks for same products/services