The relevant rightsholder must consent. Sometimes the relevant rightsholder is the author and sometimes it's the publisher. It's rarely anyone else.
If you're the author and you've already signed a publishing contract, read the contract with care to see whether you have permission to post the article, or some version of it, to an OA repository. If you can't understand the contract, look up the publisher or journal in SHERPA/RoMEO for its understanding of what it does and doesn't allow <
http://www.sherpa.ac.uk/romeo/ >. If the contract doesn't give you permission, then you'll have to ask the publisher for permission -- and don't be surprised if you get a "no" answer. If you haven't already signed a publishing contract, and haven't already transferred your rights to anyone else, then the OA decision is yours. If you're about to sign a publishing contract, first see whether it leaves the OA decision with you. If it doesn't, then try to retain the right to authorize OA. This kind of negotiation can be difficult, intimidating, and unsuccessful, but sometimes it works. One way to make it easier, but not always more successful, is to use an author addendum <
http://oad.simmons.edu/oadwiki/Author_addenda > to propose a modification to the standard contract.
For a more systematic solution, work for a rights-retention OA policy at your institution <
http://bit.ly/goodoa >.
If you're not the author or the publisher, you have to figure out who the relevant rightsholder is and ask that person for permission.
If the copyright has expired, then you don't have to ask anyone. The work is in the public domain. But in most countries copyright lasts for the life of the author + 70 years. Chances are good that any research publication you want to re-distribute is still under copyright.
For more detail see the section on permissions in my short online handout, "How to make your own work open access" <
http://bit.ly/how-oa >.