Campaign contributions are a lot more akin to voting than to speech. Therefore, the ability to contribute should be limited to contributions to candidates that one can actually vote for.
Corporations and other organizations can't vote, so shouldn't be allowed to contribute in a partisan fashion. Perhaps they should be limited to providing limited seed money to a PAC, which would have to rely on voluntary contributions for additional funds, and which could only spend funds proportional to the ability to contribute of their donors (i.e., if 1% of their funds come from donors in a particular Congressional district, that's the max they could spend in that district).



