Alright, I'm going to play devil's advocate since you're obviously not getting the point.
> How about that it represents a fuller account of what you did and how you did it?
So what? Journals never require your code to be submitted. It's not going to increase your article's chance of acceptance. And nobody asks for your code anyway. Why should I publish it if it's not going to bring me any benefits?
> Isn't scientific publishing supposed to be about reporting what you did as accurately as possible so that others can (1) understand and (2) replicate?
In an idealized world, yes. But nobody else does it so why should I?
From a game theory perspective, where you are seeking tangible rewards for your work, I totally see your point of the disadvantages of publishing your code: it's purely a short-term weakness.
From the perspective of what "science" is claimed to mean, namely the advancement of human knowledge in a way which is repeatable and verifiable, it seems axiomatic that sharing your algorithms, code, and data are necessary and beneficial to the scientific community.
As a researcher, you don't gain a lot from publishing YOUR code ... but you sure might gain a lot from being able to re-use someone else's code in your domain, or more easily replicate someone else's experiment.
In short: You should share your code because it's the Right Thing to Do if you want to grow human knowledge.
> it seems axiomatic that sharing your algorithms, code, and data are necessary and beneficial to the scientific community.
It seems that way, but it isn't. If a cultural foolishness causes you to lose significant credibility undeservedly, it's actually more beneficial to withhold things that could damage it so that you can continue your essentially still-very-useful work.
You could spearhead the fight against said cultural foolishness, but that's time and energy spent doing something other than the work you want to do and are best at.
Someone has to, but why you? This is the Bystander Effect.
My lawyer friend always said 'the probative value must outweigh the prejudicial value' for evidence to be accepted. So just because something is true and relevant, is not sufficient to make it admissible as evidence.
So, I guess I can see that argument here. Just because the software has a "bug" isn't sufficient to conclude the results are not accurate. The prejudicial value outweighs the probative value.
I think it's a fair point. The time spent documenting and releasing code could be spent on producing and finishing another manuscript to add to your CV. If you're not behaving like this, them probably some one else is maybe? Job search and tenure committees demand more and more publications the higher the institution.
Science shouldn't be like this but I think it's zero sum.
> How about that it represents a fuller account of what you did and how you did it?
So what? Journals never require your code to be submitted. It's not going to increase your article's chance of acceptance. And nobody asks for your code anyway. Why should I publish it if it's not going to bring me any benefits?
> Isn't scientific publishing supposed to be about reporting what you did as accurately as possible so that others can (1) understand and (2) replicate?
In an idealized world, yes. But nobody else does it so why should I?