In the last decade or so, the issue of patents has painfully forced itself into the awareness of the software development industry. Before the SCO - Novell lawsuits, many people were ignorant of the legal risks involved in writing software. The legal wars between Apple, Microsoft, Google (and Oracle lately), and mobile device makers have thrust these concerns into the public spotlight. As a result, many software developers that I talk to have asked for my opinion or input with regards to patents.
First and foremost, I am not a lawyer; I cannot speak to the legal liabilities and responsibilities that folks have regarding patents. Additionally, regardless of how one feels about patents, the simple fact is that they are currently the force of law. I have an opinion about these software patent laws and their purposes, but from a practical viewpoint, my opinions are not going to change existing laws or interpretations by the courts. Also, this discussion is from the viewpoint of the United States; I have no clue how useful this may be for folks in other countries.
For the software developer or development firm (whomever owns the code that you are developing), obtaining a patent has one of two potential purposes:
- Offensive patents are used by companies to deter others from using the same techniques. Suing people for writing applications that is covered under your patent is an offensive use of the patent.
- Defensive patents are something that you get, and while you could make a case against someone else for using the same techniques, you do not do so. You have the patent so that no one else can get a patent on the same idea and then use it offensively against you.
The overwhelming majority of people I talk to are not interested in obtaining offensive patents. When they ask me, "should I get a patent?" they are just looking to potentially protect themselves against someone else with a patent and an aggressive lawyer. I can understand this attitude completely.
For one thing, pursuing patent violations is a huge distraction. Unless you are a big company with deep pockets, you do not have the time or money to have people scouring every application out there to see if it violates your patents unless they are specific to a narrow set of situations that only a few competitors might use. Even then, it is expensive and time consuming to hire lawyers and get involved in a lawsuit involving highly technical details, with no guarantee that you will win.
If a developer is interested in offensive patents, I ask about their purpose. They usually want to keep competitors out of the space because what they want to patent is a critical component of any application in their niche. In other words, they don't want something generic like "using a mouse to drag and drop things on the screen" — they want industry- or niche-specific techniques to be covered. Then I ask the developer how they plan to determine what constitutes a violation worth pursuing, pay for the lawyers, and deal with having to spend so much time in court and such. That's usually when they decide that maybe suing everyone who seems to do what they do may not be worth it.
In my opinion, defensive patents make sense for most developers if they can afford them and if they can get one. Those are two huge "ifs" and most developers don't even have the resources to determine if what they are doing violates any patents, let alone know if they can get one. Patents are expensive too. I keep hearing figures between $10,000 and $20,000 from the people I know who have gone down that road. That is just too much money for the people I typically work with to cough up. I also feel that in the majority of cases, patents for offensive purposes are more trouble than they are worth; I also believe that it is probably easier and better to thrive by doing a good job with the programming than to try pushing everyone one else out through the courts.
Patent litigation is only getting more common. For a long time, it was something strictly reserved for "the big boys" and even then they only used it against direct competitors. For example, when Amazon got a patent on the one-click purchase, everyone knew that it was aimed at Barnes & Noble, not every little online store on the Web. But now, some companies have decided to get a bit more freewheeling with the lawsuits. And to make matters much worse, patent trolls have been moving in, and soaking up every patent they can find and suing folks left and right. It is becoming an increasingly dangerous world, which is why I feel that defensive patents are slowly shifting from "nice to have" to "necessity" in many cases.
ZDNet posts on software patents:
- Software patents: Broken system or needed for innovation?
- Why we need software patents, part 1 of 3
- Why we need software patents, part 2 of 3
- Why we need software patents, part 3 of 3
Note: TechRepublic and ZDNet are CBS Interactive sites.Keep your engineering skills up to date by signing up for TechRepublic's free Software Engineer newsletter, delivered each Tuesday.
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.