Copyright law is designed to allow the author of an intellectual work to prevent its sale or distribution by unauthorized parties. This guarantees an exclusive right to profit from ones intellectual efforts for a given period of time, but protects only the expression of ideas, and not the ideas themselves. Many court cases involving copyright infringement have resulted in unexpected and seemingly irrational decisions, and as is to be expected from any court decision, we cannot count on the courts for absolute protection or reasonability. We can however protect our rights to a substantial degree by establishing authorship in a clear and well documented manner.
The courts have held that disassembly and reverse engineering are common practice in the design of software in today's market, and thus these actions in themselves don't constitute de-facto evidence of violation of copyright. The infringement of copyright comes from the use of specific sequences of steps or data in a closely similar form to the original expression. In order to establish a separate right of authorship, substantial intellectual effort must have been added to the ideas used in the original work, and evidence of this effort is usually required to establish legal rights.
As an example, design and development documentation that supports a substantial effort on the part of the defendant can be used as strong evidence of originality. Similarly, different organization of tables and data structures is indicative of originality. Removal of inefficiencies, or other program improvements are also indicative of original effort. This also leads to techniques for the protection of copyrights. In several cases, the reuse of unnecessary program segments by alleged copyright infringers has been used as evidence of their violation of copyright. The inclusion of unnecessary information or purposeful inefficiencies may thus be used to detect and prosecute copyright violators. Similarly, identical or equivalent errors in coding or in the transformation of algorithm into code may be used as evidence of copyright infringement. Identical user interfaces are not sufficient for copyright infringement in most cases, and the use of identical techniques for data transformation is also acceptable given that the technique is conceptual in nature rather than an embodiment in a particular form.
Copyright prosecution is a difficult process, and in many cases, it may be difficult to gain financially by such prosecution. In order to win a judgment, the infringement must first be established in the judgment of the court, but this does not in itself guarantee a financial award. If the copyrighted material was in the public domain prior to its copyright, copyright may be of no value. Further, the plaintiff must show that financial harm was done in order to attain monetary judgment in the amount of that harm.
The production of a single copy for personal use has never been successfully prosecuted, and it would be very difficult to show substantial harm in such a case, so a judgment in any amount over the price of a single copy of the software would be difficult to justify. A simple sales contract stating that the use of the program being purchased is for personal experimentation only, and that the program would not have been purchased if it weren't for this experimental offer, would likely make substantial judgment difficult to attain.
The loaning of legitimately purchased software is legal, just as the loaning of a book from a library is legal. There is an effort to illegalize this because of its potential use for widespread violation of copyright, but the ramifications to libraries throughout the nation would be quite severe if such a law were to pass. Thus a legitimate method for distributing copyrighted software is the charging of a fee for a one day loan of the software. If the borrower chooses to copy the software, that is not the responsibility of the lender unless the lender provides some encouragement to this end.
A recent technique used by many authors is the introduction of 'freeware' into the market. Freeware is copyrighted software that is given away for free with the provision that it is not to be altered to remove the author's copyright notice or used maliciously. The creator often includes a note in the software package that requests those who find regular and worthwhile use of the product to send a nominal fee to the author in order to allow this sort of work to continue. This offer often includes the provision of a users manual for the package to those who contribute to the cause. There is some dispute as to whether the author is giving away all rights to later protect such a product because the fact that it is free implies that it has no value, and thus others who choose to sell the product cannot be sued for damages since there is no financial harm to the creator.
This brings up the issue of derived works which has not even come close to being resolved in the legal system. A derived work is a work created as a derivation of a previous work, and it is thus subject to limited copyright protection for the original author. Questions start to arise when we consider that the output of a compiler may be considered a work derived from the programmer and the compiler's author. To limit the ability to copyright these works would be a severe problem, while not providing this right to the author of a compiler is depriving them of rights. The issue becomes much more tangled when an author has access to the source code for a similar program and produces a competitive program. There are many works derived from the 'emacs' full screen editor, as an example, and in many cases it would be easily shown that the author of the derived work had access to the source code of a previous version.