In the 1970s and 1980s, there were extensive discussions on whether the copyright system, the patent system, or a sui generis system, should provide protection for computer software. These discussions resulted in the generally accepted principle that computer programs should be protected by copyright, whereas apparatus using computer software or software-related inventions should be protected by patent.
Patent law and copyright law provide different types of protection. Copyright protection extends only to expressions, and not to ideas, procedures, methods of operation or mathematical concepts as such, whereas a patent is an exclusive right granted for an invention, which is a product or a process that provides a new way of doing something, or offers a new technical solution to a problem. Copyright protection is formality-free in countries party to the Berne Convention for the Protection of Literary and Artistic Works (the Berne Convention), which means that protection does not depend on compliance with any formalities such as registration or deposit of copies. A patent is generally granted after completing an examination procedure by a government agency.
Copyright protection of computer software is established in most countries and harmonized by international treaties to that effect. The law relating to the patentability of software is still not harmonized internationally, but some countries have embraced the patentability of computer software and others have adopted approaches that recognize inventions assisted by computer software.