A software patent has no universal understanding. In general, owning a patent allows a company certain rights (or exclusivity) for a prescribed amount of time. Individuals or corporations seeking a patent must apply for a patent in each country in which they wish to have one. Unlike copyrights, patents are not automatically granted to applicants and can take a while to be approved.

The growth of Internet business and e-commerce has led to many patent applications for software, particularly software designed for specific business applications. While the cases are granted and successfully tried and defended in some countries, other countries offer no enforcement or legal recourse for those who do not honor the software patent, even if the patents were granted in those countries. The fine line between nations about what is and isn't patentable is another challenge to establish and honor patents.

Patents differ greatly from copyrights, which are issued automatically and recognized and enforced internationally. Copyrights protect the source code of software from being copied and registration is generally not required to protect your work.

Lately there is a new term, Copyleft, which is an obvious play on words and represents the rights to not only redistribute the copyrighted works, but also to modify and freely distribute those modifications. This term is very much in the spirit of many open source types of software and music. The catch for copyleft protection is that the newly created work be distributed in the same manner and spirit in which it was received. In other words if you were freely given the software, then you must freely provide the improvements and modifications you made to that software.

One unfortunate circumstance surrounding patents is the unequal and obvious disparity between the haves and the have not's. Patent enforcement for software, unlike literature and music, is largely subjective. In literature and music, it is obvious that the copyright has been abused or that the work has been copied; this isn't as simple with software.