The invention relates generally to computer software and, more particularly, to a method for enforcing and verifying software contracts and/or copyright agreements by selectively disabling the disk on which the software resides.
Since their creation, personal computers (PCs) have enjoyed great commercial success and consumer acceptance. Likewise, computer programs, or software, have also enjoyed great commercial success and consumer acceptance. Despite this success, however, software makers have been plagued with software theft, or pirating. Although many factors contribute to the high amount of software pirating, one important factor is the lack of a contract between the software buyer and seller. If they exist, software contracts between buyers and sellers can be effective in many ways. For example, the contracts notify the buyer that software pirating is illegal. This not only informs the buyer who is ignorant of the copyright laws, but it also reminds the buyer who is trying to forget that pirating software is theft. Secondly, the software contract may serve as a valid contract in legal disputes.
Most aftermarket software includes a software contract. Typically, these contracts are wrapped around floppy disks or compact disks on which the software is stored. These contracts, commonly referred to as shrink-wrap licenses or shrink-wrap contracts, operate in such a manner that they prevent the buyer, or computer user, from accessing the software unless they agree to the contract. Typical language on shrink-wrap contracts may include
While shrink-wrap contracts work well with aftermarket software, they do not work well with software included with the purchase of a new computer or new hard drive. For example, most PCs can be purchased with a host of software, such as an operating system and various application programs, pre-loaded onto a hard drive. However, because the software is pre-loaded, there can not be a shrink wrap contract. Therefore, the user does not have to perform any physical activity, such as opening a package, to signify that he has seen the contract and accepts the terms included with the contract.
One solution to the above described problem is to include enforcement software that runs on the PC""s operating system in order to protect the remaining pre-loaded software. The enforcement software displays the critical terms to a contract and prompts the user to accept the contract by typing something like xe2x80x9cOKxe2x80x9d, xe2x80x9cYESxe2x80x9d or the like. If the user does accept the contract, he can utilize the pre-loaded software with the computer.
Although the above described solution works in many cases, it has several drawbacks that limit its effectiveness. For one, the enforcement software does not provide contract enforcement of the underlying operating system. Secondly, the enforcement software is very easy to circumvent. For example, if the PC is booted from a floppy disk, the operating system on the floppy disk can be used to access the pre-loaded software and thus circumvent the contract. Furthermore, when the PC is connected to a network, the pre-loaded software may be accessed through the network to another PC. In these ways, a user can access and use the pre-loaded software without ever accepting the software contract.
Therefore, what is needed is a software contract that can not be easily circumvented through floppy disk, network, or other simple means.
Furthermore, what is needed is a software contract that can also protect the underlying operating system.
The foregoing problems are solved and a technical advance is achieved by a method and apparatus for implementing a technique that disables all the software on a disk until the user agrees to a software contract. In a departure from the art, the present disclosure modifies a boot record of the disk which contains the software to be protected. The boot record, which contains a loader code and disk partition data, is modified to make the rest of the disk virtually unusable or unreadable and to prompt the user for acceptance of the contract terms. If the user does accept the contract terms, the boot record is re-modified to contain conventional loader code as well as correct partition data. The computer is then rebooted and operates in a normal, conventional, manner.
A technical advantage achieved with the embodiment is that a software contract can not be easily circumvented through floppy disk, network, or other means.
Another technical advantage achieved with the embodiment is that a software contract can also protect the underlying operating system.