As someone who is actively working on a software application I intend to market, I'm troubled by the increasing number of posts about patent trolls, lawsuits, etc.. I understand this risk cannot be mitigated entirely, but what steps can a developer take to protect themselves and their software?