If you are a software developer who is preparing to sell or otherwise distribute software, there are a number of protective measures you should take while you develop the software and before you distribute it.

While developing the software, you should consider executing a Non Disclosure Agreement with any developers you retained to assist with creation of the software. A Non Disclosure Agreement will prohibit the developers from disclosing to any third parties information related to the project, including the code itself. A Non-Competition/Non-Solicitation Agreement similarly will prohibit your developers from leaving your project and joining a competing software development company or team for a predetermined amount of time and within a restricted geographical area. However, such agreements typically are reviewed carefully by courts and in some cases may be illegal, so it would be critical to consult with counsel before placing too much reliance on them.

Once the project nears completion, you should begin preparing a copyright application and software license agreement. A copyright on the software code, user documentation, and screenshots of the software will protect your software from being misappropriated.  A federal copyright registration will enable you to bring a copyright infringement action in federal court against third parties improperly using your software or user documentation. Because copyright applications typically take 6-18 months to process, you should submit an application containing a version of the code that substantially resembles the final version of the code six months or more before you anticipate completion of the software. When you complete the code, you can distribute the software confident that you have a copyright in place and you can submit a revised copyright application containing a copy of the code in its final form.

Finally, a software license agreement should be attached to each copy of your code that is sold or distributed.  The software license agreement (also called an end user license agreement) identifies the permissions and prohibitions related to using your software.  For example, the software license agreement may provide that the end user may only install one copy of the software for use by one person. Additionally, software license agreements often contain important provisions limiting your liability related to installation and use of the software.

If you are preparing software for distribution, you should consult attorneys experienced in assisting software developers and protecting their intellectual property.