I think working on the funding agencies (i.e., getting them to adopt sensible policies) is the right strategy. For the individual researcher, the incentives for code & data sharing are pretty limited right now, at least until the culture changes.
On the technical side of code/data sharing--I think one obstacle (in least in the fields I'm familiar with) is that may researchers put together papers in a way that makes reproducibility needlessly hard. If you do all your stats in something like Stata or SPSS, then paste tables/figures into an MS Word document (which is passed around among colleagues), finding your own errors is hard enough---never mind some third party trying to re-produce your results.
If instead, you use tools like Sweave & script the data analysis & paper assembly process (ideally with version control), reproduction/sharing becomes much simpler.
An open source license for academics has additional needs: (1) it should require that source and modifications used to validate scientific claims be released with those claims; and (2) more importantly, it should absolve authors of shame, embarrassment and ridicule for ugly code.
I think the difference is that, from the researcher's standpoint, there is no downside other than cost for having your article pdf's open access. (In fact, there is a slight boost; if your work is more easily accessible, you're more likely to get cited.) On the other hand, releasing your data and code requires quite a bit of effort in curating it to keep from exposing yourself to additional criticism (warranted or not). On the net for society, it's probably extremely beneficial to have researchers do this, but right now they won't because they don't have any incentive.