Legal protection of computer programs
A person who writes a computer program often wants to prevent others from taking advantage of his work. The law currently offers a number of ways to protect software: copyright and patent law.
The most common way to protect computer programs is by claiming copyright on it. The programmer automatically has the copyright on any program he writes, without having to take any special action. No registration, fees, submission or notice is necessary, although a notice (usually in the form "Copyright (c) 2001 name) can be useful to inform third parties who is the copyright holder.
It is common to distribute a program with a standard license. When distributing a program it is necessary to explicitly give potential users permission for any use of your program. Common licenses are the the GNU general public license (GPL), the BSD licentie or the Artistic License. The Free Software Foundation publishes an extensive list with licenses. Using a standard license has the advantage that recipients of the program are likely to be familiar with the terms and need not study your particular case. Also, the standard licenses are less likely to be ambiguous or unclear than home-grown licenses, especially if the latter are written by programmers instead of lawyers.
Patents on computer programs are an option, if the program meets certain criteria and you are willing to spend a large amount of money. Expect this to be in the order of 4,000 to 50,000 dollars, depending on the number of countries in which you want to obtain a patent and how long you want to maintain the patent (because of maintenance fees to be paid in each country each year). It is in any case vitally important that you reveal the details of the program to no one before having filed a patent application.
Since patent law can be quite arcane, it is strongly recommended to contact a patent attorney. He or she can tell you everything about the procedures, the requirements and the possibilities for patenting your program.
A patent allows you to forbid anyone to duplicate the functionality of the program, or any tricks or features in the program that were invented by you. However, this can be a very important affair, especially if a court case is necessary to enforce your right. Copyright will be most useful when others are making and distributing copies if your program, for example on a website or a CD. This can be prevented by copyright law, but you could also charge money for the act of distributing. Usually this is easier than going after them for patent infringement.