Full disclosure: I'm not a lawyer. Patents can apply to both software and hardware. You could patent a process for doing something in the software, an interface, or other element. You can also copyright the software which would prevent someone from copying your exact code. Think of a patent as protecting the way you're doing something or an innovative process. The copyright protects the literal code you've produced but not how to do it. For example, if you've written a novel way to check spelling in an application, the overall theory of how the spelling is checked (analyze words, look at words around it, compare against a dictionary, etc.) is patentable as long as it's novel, not obvious, and hasn't been done before (known as prior art). The actual code you write to do the spell checking you can copyright.
In the past getting a patent for software wasn't even possible. U.S. court decisions made in the 1980s have caused the U.S. Patent Office to accept any software patent that is more than just mathematical algorithms.
Patents provide protection to software inventions beyond copyright protection. Instead of being protected against merely copying the code, patents protect the process the software uses, so if another company writes a program from scratch that works the way your software does, they can be forced to pay damages for infringing on your patent, even though they haven't infringed on your copyright in any way.
Different countries have different rules, so you'll need to do further research when you are ready.
Comments