In years past, copyright registrations were the primary means for protect ing software, in part because the Patent Office had few patent examiners skilled in computer science, and because it was unclear if software was suitable for patenting. However, the extent to which copyright registrations were enforced would often depend on the particular judge's technical expertise and how the judge felt about the software. For example, in Manufacturing Technologies, Inc. v. CAMS, Inc., 706 F.Supp. 984 (D. Conn. 1989),an early software infringement case successfully handled by Holland & Bonzagni, the court found that the plaintiff's screen displays were "creative" and "expressive," and,therefore, protected under copyright. Another judge might very well have thought differently.
Back then, copyright was the only available system for protecting software. In fact, the Patent Office refused to issue patents for software, since the Patent Office did not have Examiners with backgrounds in computer science.
Now, the Patent Office is better equipped to handle software-related patent applications, and, in fact, the federal courts have recently reaffirmed that software is patentable. Accordingly, because patents offer broader protection than copyrights (i.e., patents protect the idea behind an invention), they are the preferred means for protecting software.
To patent a software-related invention in the U.S., a patent application has to be filed within one year of selling or publicly disclosing the software. In almost all other countries, an application has to be filed (either in the U.S. or directly in the foreign country) before any such activity. Thus, to preserve foreign patent filing options, a patent application should be filed before the software is marketed or sold.
In the United States, there are two main types of patent applications: "regular" applications and "provisional" applications. Regular applications are substantively reviewed by the Patent Office and can eventually mature into patents, but have many formal requirements (e.g., formal drawings, and a set of "claims" which define the scope of patent protection) and can be expensive. Accordingly, where a software product is not yet commercially successful, a provisional patent application, which has few formal requirements and costs significantly less, should be filed. While a provisional application cannot issue as a patent, it gives the applicant one year to market and sell a software product before having to proceed with filing foreign and regular U.S. applications, and without losing the right to do so.
The only requirement for software-related provisional applications is a detailed description that would enable an "ordinary" programmer to make and use the software. Unless some portion of the programming code is particularly new or unusual, it suffices to explain how the software works in terms of general steps or function blocks. The description of the software should be in the form of a straight-forward, thorough narrative that refers to one or more drawings (sketches or CAD drawings are acceptable), gives an overview of the software or software-related system, and describes the software's functional components and how they interact. As an example, FIGS. 1 and 2 are drawings for a software-related invention entitled "System for Remote Positioning of a Telescope Over a Network." Narrative text for accompanying FIG. 1, which gives an overview of the invention, might be as follows:
As shown in FIG. 1, the system includes: (i) a remote computer 10 running a telescope interface program 12; (ii) a server computer 14; and (iii) a computer-controllable telescope 16 with a CCD camera 18. The remote computer 10 communicates with the server computer 14 over the Internet 20.
FIG. 2 shows a sample flow chart for illustrating how the software works in more detail. A description that might accompany the flow chart is as follows:
FIG. 2 is a flowchart showing how the telescope interface program 12 operates.
First, in Step 100, the program 12 prompts the user to input a set of night-sky coordinates. In Step 102, once the requested data is entered, the program 12 establishes a connection to the server computer 14 over the Internet 20 and transmits the coordinates.
Then, in Step 104, the program 12 checks for an error code from the server computer 14....
Once a provisional application has been filed at the Patent Office, the software can be freely marketed, sold, and marked "Patent Pending." Then, within the next year, if the software looks commercially promising, a regular U.S. patent application and foreign applications can be prepared and filed. These applications will have "priority" from the original filing date, i.e., as if they had been filed when the provisional application was filed.
After filing, a regular application goes through the examination process at the Patent Office, and, assuming the invention is patentable, issues as a patent. Because of a recent increase in the number of software-related patent applications, this can take several years in addition to the one year for the provisional application.
While patents provide the broadest protection, copyright registrations discourage exact copying, and are much quicker and less expensive to obtain. Accordingly, copyright registrations are recommended for all programs, and are an excellent source of supplemental protection for patented software.