I'd like to hear from people here who've had first-hand experiences in applying for software patents or otherwise dealing with them or who have thoughts on the matter. I read PG's article on the subject(2).
I've always been a bit suspicious of software patents - perhaps not all, but the silly ones(1) are what everyone talks about - but now I find a situation where patenting a technique (method? what's the right word?) that I first implemented a few years ago might be a good idea in a specific current situation.
Also, it seems like everyone is getting them so I may some day get a bill from someone whose patent I've accidentally infringed, so there is a defensive angle to the thing.
I've read various articles(3)(4) about how to do this and I've printed out some software patents and read through them, trying to figure out how to state my application. I've got an appointment with an attorney/patent agent Monday afternoon (I picked her out of a list because she majored in math) but I'm wondering:
- Really, how much should I expect this to cost?
- How can I do it for less?
- How long does it take until patent is awarded?
- Can I license the method to someone before the patent is awarded?
- How do you choose a patent agent/attorney or do you even need to? (I know you don't HAVE to, but is it a good idea?)
- What am I not aware of that I'll later wish I had known about?
Thanks in advance for suggestions.
1) http://www.gnu.org/philosophy/amazonpatent.html
2) http://www.paulgraham.com/softwarepatents.html
3) http://www.uspto.gov/web/patents/howtopat.htm
4) http://en.wikipedia.org/wiki/Software_patent
You will not have the resources to prosecute should someone use the patent to steal your idea.
The patent will provide no defense for someone else claiming that you infringed on theirs. You won't have the $ to mount a defense anyway.
Worse still, the fact that you considered patents may give an aversary the ability to claim triple damages by implying that because you were "patent aware" you must have willfully infringed.
Just file copyrights on your code as proof you were there first and leave patents to the MS's and Google's of the world. Use your time and effort to build your product.
I'm not an expert of any kind, just my 2 cents.