An Summary of Software Patenting