What Every Software Engineer Should Know About Patents

Ariel Rogson from Marger Johnson & McCollom spoke at last night’s Los Angeles ACM meeting on software patents.

Here’s a brief outline of the main topics he covered:

  • What is a patent?
  • Patents vs. Copyright
  • 4 Requirements for a patent
  • Is software patentable?
  • Should I bother with a patent?
  • “Patent Pending”
  • Audience for the text of patent
  • Components of patent application
  • “Enablement” requirement
  • Deadlines for patenting
  • Prior Art
  • Provisional Patents
  • Financial Costs
  • How to draft a patent specification
  • Include source code in your application?
  • Open Source vs. Patents
  • Infringement
  • Defenses against infringement
  • Advice for managers

I already knew a whole bunch of this stuff since I’ve been through the process before and I’ve taken an Intellectual Property class at UCLA.

Something new I learned about was the “prior use” defense against infringement. Apparently it was created in 1999 but has yet to be tested in a court of law, in large part because there are some highly technical limitations associated with its use.

The way I understand it, the prior use defense may apply if you reduced to practice the invention at least one year before the filing date, AND you were using it commercially before the filing date. But apparently it’s tricky to use.

Rogson said that the more common defenses against infringement were either invalidity or non-infringement.

With invalidity, you argue that the examiner failed to consider some prior art that would have prevented the patent from issuing. The difficulty with this defense ist that the defendent has the burden of proof to show that the patent is invalid since a patent is presumed valid if it has issued.

A non-infringement defense argues that the patent is not infringed upon because the defendant is simply doing something different from what the patent describes.