Far too often, researchers never release code because it's never "polished" enough.
So I began publishing my code on github from the moment I started the project. e.g. https://github.com/turian/neural-language-model
However, some of my more conservative colleagues were averse to this approach. I constantly debated with my office-mate, who was of the opinion that there are many reasons not to present half-finished work.
So there is also a large cultural barrier to more open science. If there were publishing pressure on researchers to open their code, then it might effect a cultural shift.