I'd like to create an open-source version of a proprietary program. Can I do this without getting sued by the owner of the proprietary program?
—Andre Durand, founder of Jabber.Com
For the sake of illustration only, I'm going to assume that you want to create an open-source version of a program such as Windows. Unfortunately, the owners of most proprietary programs (like the owner of Windows) do not allow you to reverse engineer their programs or to copy their code. That doesn't mean you can't exercise your own creativity to create your own winning version of a proprietary program, including your own improvements and new features. The simple answer to your question is yes, you can create an open-source version of a proprietary program, as long as you create your own version of the program without infringing the copyrights or patents of the proprietary program. The courts uniformly hold that a copyright is infringed when one intentionally, or even subconsciously, makes copies of a copyrighted work. However, if a person, without making any use of a prior copyrighted work, by his or her own independent labor produces something similar, there is no infringement. As Judge Learned Hand put it, to sustain an infringement suit, “more must appear than the mere similarity or even identity of the supposed infringement with the part in question” (Fred Fisher Inc. vs. Dillingham D.C.N.Y. 1924 298 F.145, 147). He continues:
Two or more authors may write on the same subject, treat it similarly, and use the same common materials in like manner or for one purpose. Their productions may contain the same thoughts, sentiments, ideas; they may be identical. Such resemblance or identity is material only as showing whether there has been unlawful copying.
Copying is a matter to be proven by evidence. The law requires proof of either outright copying or, if the evidence of copying is unclear, proof that you had access to the original and that there are “substantial similarities” between your work and the original. Because of the risk that evidence can be interpreted in many ways, when you set out to implement your own independent version of a copyrighted proprietary program, you should make a clear record of precisely what you have done. Here are some simple, common-sense practices you should follow. When you examine the program you intend to re-implement, restrict yourself to an external review of the functions and processes that the other program performs. Remember that if your program turns out to be too similar to the proprietary program, the court may not believe that you didn't see and copy copyrighted code. The less you look at, the less likely it is that your code will be “substantially similar”. Don't copy the user documentation for the proprietary program, even if your new program is intended to operate identically. Such copies of documentation are infringing even if the software itself doesn't infringe. If you have had access to the source code or implementation details of the proprietary program, you may have to separate yourself from the implementation of the open-source version. One way big companies do this is to create a specification that describes what the program is to do, and give that specification to a separate group of engineers who have never seen the original proprietary program. Those engineers can implement according to the specification without copying the original work. To protect yourself, document this procedure thoroughly. One final caution: the copyright in the original proprietary program does not extend to the “ideas” implemented by the program but only to their “expression”. You have the right to re-implement the ideas of the program without fear of copyright infringement. However, the ideas may be protected by patents. Merely making, using or selling the patented software can subject you to claims of patent infringement. You can infringe a patent even without copying it, and even if you independently and innocently arrive at the exact same idea. So if some aspects of the proprietary program are protected by patent, you will have to find a way to implement those portions of the program without using any of the patented technology.
Is there any advantage to registering my copyright in a program?
—Mark Jordon, 1707WebWay.Com
Registering a copyright is a simple and inexpensive process. The procedure is well documented in Circular 61, Copyright Registration for Computer Programs, available from the Library of Congress. For further information, go to www.loc.gov/copyright/circs/circ61.pdf. Registration is not a condition of copyright protection. However, there are several advantages to registering your work:
Registration establishes a public record of the copyright claim.
Before an infringement suit may be filed in court, registration is necessary for works of US origin.
If made before or within five years of publication, registration will establish prima facie evidence in court of the validity of the copyright and of the facts stated in the certificate.
If registration is made within three months after publication of the work or prior to an infringement of the work, statutory damages and attorney's fees will be available to the copyright owner in court actions. Otherwise, only an award of actual damages and profits is available to the copyright owner.
Registration allows the owner of the copyright to record the registration with the US Customs Service for protection against the importation of infringing copies.
You may register your copyright any time within the life of the copyright.
Legal advice must be provided in the course of an attorney-client relationship specifically with reference to all the facts of a particular situation. Even though an attorney wrote the answers presented here, the information must not be relied upon as a substitute for obtaining specific legal advice from a licensed attorney.
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- New Products
- Non-Linux FOSS: Remember Burning ISOs?
- Tech Tip: Really Simple HTTP Server with Python
- EdgeRouter Lite
- RSS Feeds
- Returning Values from Bash Functions
- Cooking with Linux - Serious Cool, Sysadmin Style!