The same thought pops into my mind from time to time. Even if you take a more "common good" approach I don't think you can exclude the benefit where patents provide incentives for the actual labor. For example, in the classic case with pharmaceuticals I think it would be hard to argue that keeping the active ingredient a secret would be an alternative to patent protection. It most certainly would not since a competitor would have an insane advantage in finding the active ingredient if they could buy a sample for 10 bucks...