The trouble is, it's not the same: Software Patents protect the design of the idea not the implementation. Even after the patent has expired, you still don't get to see how the product actually works. Also, the implementation is protected by copyright -- it seems unfair to give software double-protection.