A software patent attorney is a person who has the technical knowledge to understand software innovations and help you register your inventions with the Patent Office. Although it is very difficult to define a software patent, you can patent any software which helps in adding new functions to a computer readable medium. Only a patent attorney with knowledge in the field of software can understand the various functionalities and processes associated with a software program.