Software makes up a large part of the asset base of most businesses. A recent survey found that 80% of the value in an average publicly traded company was in non-tangible assets. Custom software makes up a significant portion of those non-tangible assets, and is often a critical a company’s competitive advantage.Software inventions can be patent protected in the United States. The Supreme Court made it clear in its Bilski decision that processes and transformations performed by a machine are patentable subject matter. However, two characteristics of software inventions create special challenges in protecting them.The first challenge is that many coded innovations are buried in thousands of lines of compiled code and so are difficult to detect. A competitor may reverse engineer your code and use it in a product, and it may still be difficult to determine if the competitor is using your invention, even if you examine the competitor’s code.The second challenge is that the functions performed by code can be done many different ways. Unless a patent application is carefully drafted, an average programmer will have little trouble finding an alternate way to achieve the same result.I address these challenges in several ways. First, I like to protect inventions where one can detect infringement. For example, infringement is much easier to detect at interfaces. Interfaces with individuals, devices, and third-party applications are usually accessible for examination and testing. Thus the infringement is detectable, and action can be taken to either secure royalties or stop the infringement. Interfaces also tend to limit a competitor’s options in designing around your invention.A second strategy is to focus on data structures. For some applications, data structures and their functions are easy to identify. Protecting the elements of the invention relating to the data structures allows your code invention to be protected in another way. This protection strategy is particularly effective for inventions that are not easily identified through an interface, and creates very enforceable intellectual property. A competitor is also limited when the data structure is claimed broadly.A third strategy is to identify and protect important results of a software invention. Many results, such as data encryptions, digital encoding, and similar results can easily be tested for the copying of the method of achieving an important result. When a competitor is getting the same results with great precision, it is highly likely that they have copied an invention.Protecting your software invention with an effective, enforceable patent gives you the ability to stop a competitor from taking advantage of your innovations. It also gives you the option of licensing your invention, providing an additional revenue stream and defraying the costs of developing software assets.
No comments:
Post a Comment