You have to think of Mathematica code as a specification of what your science does. As long as the expected output of the function is clearly defined, then your work is replicatable/verifiable (with enough effort) which makes it good science. I am much more concerned about occaisional places where the documentation of Mathematica is poor, than whether the soruce is viewable.
Open Source is just the ultimately precise but horribly inconvenient documetnation.