I'd like to sell software, but I'm worried about infringing on software patents. What should I do/research prior to writing code?
Let's get a few things straight.
First there is no protection of your company's assets against software patents to be had in any country which permits them.
Specifically, forming an LLC will only protect your personal assets (your house, your car etc) from being used to satisfy a lawsuit brought against you by anyone who sues you; it will NOT protect all your hard work and company assets of code, chairs, computers, intellectual property, customer lists etc etc, which will become the property of the person suing you, should they win and force you into bankruptcy, which is what would happen.
Second it is a critical tactical mistake with dire consequences to research patents in an attempt to avoid infringing.
The reason for this is, if (actually, make that WHEN, given the vagueness and all encompassing scope of the patents you're concerned about) you're sued and found liable for infringing, if it can be shown that you KNEW about the patent you infringed on then you're liable for treble (3X) damages.
Showing that you knew about the patent amounts to showing that you surfed a page on which the patent appeared. If you never did that, then they can't get your for treble damages (not that it would matter since it's like saying "they can't kill you two more times after the first time they kill you").
Have you ever wondered who the entities are behind the "patent sites" which come up whenever you search for anything technical? What's the purpose of those sites? Who visits them and why? I don't know the answers to those questions, but I can imagine at least one. The purveyors of those sites take down IP addresses of visitors and what pages they looked at and sell that information to "intellectual property " attorneys who look for originating request domains which would indicate the entity they're suing has looked at the patent.
Just my crazy idea, as I said, I don't know this to be the case.
The patents you're interested in avoiding are in all likelihood as ridiculous as all other software patents- overly broad, obvious to anyone who sat down to think for the problem a little while and deliberately and maliciously written in such a way as to be nearly universally applicable to anything written or writable and as unintelligible as possible so as defy people understanding them well enough to avoid them.
I read the patent that nailed Blackberry for about 3/4 of a billion dollars. In the end, it amounted to putting data into a database at THIS time and taking it out, reading it and using at this OTHER time. That's it. That was what the entire judgment was over.
People don't mention that because they never read it nor could they understand it if they had. IP lawyers who COULD read it have a vested and unspoken (except perhaps amongst themselves) interest in keeping the details of what software patents actually amount to very vague and especially, out of public discourse, lest their business model come to a swift and a well deserved end.
Remember, the courts working definition of obviousness with respect to prior art is: "was it published in any journal or paper prior to its being patented?".
Of course, software developers don't publish every idea they have embodied in code in some public journal somewhere. We are just expected to be creative. We don't consider that virtually every time we use even moderate creativity to solve a problem because it wasn't published somewhere, it is therefore patentable.
But Microsoft and Google and Apple and Oracle do think about that, a lot.
And everything their developers do gets considered for a patent. They can do this because they can afford the 40k it takes to file a patent with the help of an IP lawyer.
That's called asymmetrical warfare- we attack you in a way in which you are not permitted to attack back. That's what IP lawyers and the US Congress and IP lobbyists and think tanks and US corporations DO for a living. They don't compete in an open marketplace, not really. They make sure there IS not competition and there is not a marketplace.
Finally, it is false that you have to worry about software patents if and only if you are of some certain threshold size.
Any number of smaller companies are forced out of business every year by patent holders irrespective of the fact that those companies are not of any great moment nor do they have any assets worth attaching. This is just a material fact.
I know of a case where a very very small company had software which let people stitch together panoramic views from photos. A equally small company dues them. Since the first company could not afford to defend itself, they went out of business. Don't deceive yourself into believing that because such events don't make headlines it doesn't happen every day- it does.
Consider also that there is no single place to go to count the number or characteristics of such events- there is no central log of "companies threatened with a lawsuit over IP who threw in the towel and went out of business".
Also don't fall into the trap of thinking because you know of many counter examples, those counter examples show there's not a problem or the frequency of such events must be low. The companies that don't exist because of such actions just don't exist- the only companies around are companies this hasn't happened to. That creates a very strong bias in perception that's difficult to see past. See past it.
Even large companies that re being sued by patent holders do not make headlines. Here's a quiz-
Which of the following world-famous companies are currently being sued by a software patent holding private equity firm?
Answer- B Newegg. The rest were already sued by the same entity and caved in
Question- did you know about ANY of that? Alright then.
In theory a patent holder is obligated to act to enforce their patents whenever they become aware of a violator lest they forfeit their right to enforce the patent. The courts have seen non-enforcement of patents as a signal to the market place that the patent is in the public domain. That's why lawyers write cease and desist orders in seemingly silly cases- as when Planet Hollywood's lawyers sent a C and D to a similarly named one-man restaurant of no particular notice - they HAVE to or they lose their right to enforce their IP monopoly.
There is no escaping patents in countries which permit them. If you want to sell software and not run the risk of a nuclear bomb going off under your chair, er I mean a software patent lawsuit, then you need to NOT sell into market which permit them.
The countries I know of that explicitly don't permit them are
You need to sell into those countries and never mind the US., AU, Japan, South Korea and sorry to say Canada.
Remember, the US is a plutocracy not a democracy, wherein whoever has money writes the laws to unfairly bias the market in their favor.
M$, Google, Amazon, etc etc know that not having the tens of millions of dollars each patent lawsuit requires for defense is a barrier to entrance for small innovative companies against whom they could not otherwise compete.
You cannot protect yourself against a patent lawsuit happening, you cannot afford to defend against it. What you can do is hope it doesn't happen to you. Alternatively, if hoping a lawyer doesn't take everything you've worked for away from you, you can vote with your feet and elect to differentially reward those countries which are not plutocracies by offering the fruits of your labor to their free and open markets.
It's your choice.
If it's just you, I wouldn't worry about infringing software patents.
Companies do not enforce software patents unless they think they can extort a license fee out of you, intimidate you into discontinuing the "infringed use", or remove you from the marketplace as a competitor. In all these cases, you must be large enough for the company to notice. Neither you or a software lawyer will be able to predict when this might occur, and if it does, the company holding the patent has to prove that damages have occurred. This seems unlikely if it is just you.
If you are developing your own stuff in isolation (and not actively trying to steal someone else's intellectual property, or knowingly duplicating someone else's novel software invention), the likelihood that, as an individual, you will be sued over a software patent is relatively small.
Researching software patents doesn't help. Even if you know about all of them (likely impossible), many are frivolous, and if a company really wants to get you off their lawn, they may make a fringe claim against you anyway (one that is not really covered by their patent).
Configure whatever search engine you use to omit patent hits from search results. Seriously. It's an option for Google Scholar, anyway.
If the amount of budget that phrama companies invest in dealing with patents is any indicator, compliance with patents would requires a lot of resources and time on you side, which is just one reason why the whole system is rotten. So you will pretty much have to hire a small team of lawyers and/or experts to do this kind of research for you.
If you have the money I suppose you can file a patent on just about anything you do, and if it doesn't get approved use some Black Magic and get it anyway.
Still though, I'm no lawyer, so you should probalby contact one to get a better answer.