An important distinction between patents and copyright is that independent invention is not a defense to patent infringement and the patent covers the concept rather than the specific implementation. Which means that unlike copyright, software patents create concepts that you aren't allowed to express, even if they're your own ideas.