Introduction to software patents
Software patenting and the concept of protecting intellectual property in general have become topics of debate over the past decade as technology advances and with the world of software development generating thousands of software applications on a host of platforms daily. The aim of this article is to answer some of the common questions that arise when first dealing with software patenting and providing information on how to patent your software or at least provide a starting point in the software patenting process.
What are software patents? There is no formal definition for the term software patent, but the Foundation for a Free Information Infrastructure (FFII) has proposed a definition as being a “patent on any performance of a computer realized by means of a computer program”. In reality software patents are allot more complex and dependent on countries cultural views on invention itself.
The general concept of a software patent and perception of what a software patent is, is that it serves as a legal document that protects your software application idea and physical implementation from being reproduced or stolen from other entities in the country or countries that the patent was granted. This concept and perception is correct to an extent, as the coverage of what a software patent actually protects is determined by specific unique functionality/methods used in your software that have not been patented in the country where you applied for patenting or potentially invented up until that point in time. It is getting harder and harder to obtain software patents as the list of granted patents over the past decade reaches into hundreds of thousands for specific functions and complete applications, this makes it essential to answer the next question:
What can be patented in my software application?
This is where most developers/entrepreneurs get it wrong when filling for software patents. Allot of today’s applications integrate with 3rd party software and use technology’s/API’s that are patented on their own. Let’s use google maps as an example that has been used in hundreds of mobile and desktop based applications.
Any functionality used from a google maps API in a custom software application cannot be patented, however it is possible to patent the concept of the application with google maps only being a tool used to achieve the goal/concept of the software application.
In the past few years software developers have managed to get patents on specific methods and algorithms used in their application that play a key role in the unique approach to achieving the concept of the application. The part of your software application that would be eligible to patent will be the unique piece of coding/software that you have invented/created not used/specified in any other patented application in the country where you apply for the patent. You can patent the name and overall concept/idea of your application, but the software patent that will end up protecting you would be on the unique coding/software implementation that achieves the idea/concept of the application.
Timing is everything!
A key part in patenting software is to know when is the best time to file your patent.
If you publish your software or put it up for sale you could block yourself from getting a patent if your patent is not filed first. The best time to file for a software patent is before you release the application/product to the public, there are countries such as the US that provide a 12 month grace period to file for a patent after you released your application, but it is not advised to release your application before filling for a patent. The image on the right depicts a conventional flow from conceiving your idea to receiving a issued patent and patent number.
If you are set on launching an application that is patented, you have to do a thorough search through the registered patents database of the country you are applying for the patent, here are links to the United states patent office (USPTO) and the European patent office (EPO):
Searching if a patent already exists for your application idea and functionality can be very tedious and take months to complete, this is included in the service if you file for a patent through a registered patent attorney practice. Patents are also written as a legal document and could be difficult to interpret or confirm that there are not any conflicts between your patent and a registered patent. It is advised to apply for a patent through a patent attorney as they would help identify the unique aspects of your application and put that into “legal wording” not conflicting with existing patents.
Price of getting a software patent
Applying yourself verses using a patent attorney
The price of obtaining a registered software patent ranges from very affordable to very expensive depending on your approach with the patent/patents itself and through who you apply for the patent. Patenting an application could involve multiple patents each patenting a specific unique function/method or feature contributing to the whole application, and patents for the application name and “idea”.
The total cost of patenting your application is not only dependent on the amount of patents applied for but also whether you apply for the patent yourself or through a patent attorney. The price of a patent attorney in the United States ranges from ranges from $1000 right through to $40 000 depending on the complexity and amount of patents applied for.
Price of registering a single provisional patent yourself:
United States patent office $280.00
European patent office £110 .00
Is it worth it to get my application patented?
If you have an application that is unique and contains elements that are eligible to be patented it is worth applying for a patent. The important thing to remember is that patents seldom cover the whole scope of a application and for that reason your idea/application will never be 100% protected from being duplicated or stolen.
Groupon had to deal with over 1000 competitors that copied their business model in the first year of them launching, they did this by staying ahead of the competition.
The only way to keep your application on top and secure from a business point of view is to stay ahead of your competition, people tend to stick to the applications that pioneer in a certain field. Build trust with your users and a brand known for always keeping the product updated and better than anything else on the market.