Corporations are not people, and in my opinion are subject to regulated "free speech". The Supreme Court majority opinion in Citizens United v. FEC has bastardized the meaning of citizenship and has legalized the prostitution of Congress.
The ruling was egregious and insulting. If money represents speech, then corporations have bullhorns while individuals have mere whispers. The Constitution states "We the people..." not "We the corporations...".
Corporations are not citizens and should not be considered as such. Groups of people who have joined together voluntarily for a cause have a right to voice their opinion, but corporations are economic entities made up of investors who have too varied political perspectives. They can't possibly represent the opinions of even the majority of their shareholders. Most shareholders are mutual funds whose investors may not even know what companies they have invested in.
Congress should take steps, even if it means a Constitutional amendment, to overturn this Supreme Court decision.