An overview of the various forms of legal protection afforded to computer software is presented. For each form of protection, the fundamentals of the law are discussed generally and then specifically applied to computer software. Patent protection is shown to be superior to the other forms of protection in that it protects against independent development but patent protection is difficult to obtain and not all computer software is patentable. Copyright protection is shown to be easier to obtain than patent protection but the scope of copyright protection is much narrower. Trade secret protection is shown to be the most common and successful form of computer software protection because of its scope of protection and ease of enforcement.