The real problem with patents is the exclusivity.
Historically the precursor of (western) patent law was called Statute of Monopolies. At that time it was quite common for kings to reward their subject with various monopolies. But monopolies have no place in modern free-market democracies. In this sense patents are going against the basic principles of modern societies.
Since we need inventions, patents should still be rewarded, but not with exclusivity. Instead some kind of royalty system should be put in place, that would grant appropriate compensation to inventors, but not limit others to actually use the invention.
Pust my two .