Earmarks should be patently illegal! Earmarks are not the same as "Pork". When your Congressperson gets a bridge in their district listed in a bill on infrastructure that's pork. But after a bill is written and approved, for you Congressperson to alter the bill to include their favourite pet project is an earmark! It's not voted on by Congress.
Pork is necessary, it's how things get done. But it should be in the bill when it gets voted on and any citizen would be able to read about it. Earmarks are just an opportunity for corruption.