4 ms·
I'm not sure sharing code is such a great idea. If you use the other guy's code, you might be replicating the other guy's mistakes. And having the code availabl
by jonhendry 16y ago
I'm not sure sharing code is such a great idea. If you use the other guy's code, you might be replicating the other guy's mistakes. And having the code available encourages that.
It would be better to describe your methods, so someone else can implement it in their preferred tools. If they still replicate your results, that strikes me as being much stronger than just rerunning the same, possibly buggy, code.
I mean, if you're working with monkeys, other scientists can't reuse your monkey. They have to follow the procedures you describe on their own animals.
Another issue is that the code might not be very useful to other labs as-is. The code might be for unique, custom-made hardware, or an unusual configuration of equipment, or in an unusual language.
- randomtask 16y agoSharing code doesn't prevent someone else from reimplementing an idea and indeed they should if they rely on results from another publication. If everyone open sources code they wrote during their research then it ought to be easy to tell if someone reimplemented an idea correctly (if their results differ). If they copied the original implementation this should be evident too.
- almost 16y agoBut people are people and when there's an easy way...
- randomtask 16y agoI agree, but at least having implementations in the wild should bring more attention to an idea and scrutiny of that code than none?
- jonhendry 16y agoIf the same results are obtained using different code (or subjects/animals/chemical batches) does it matter as long as the code is doing the same things? I get the impression that software types are inclined to put way too much significance on the source code. I'm not surprised the author of the linked item in Nature is a software engineer. I wonder, did scientists in the 1930s publish their scratchpads full of calculations?
- nervechannel 16y agoThere is a massive difference between a scratchpad of calculations, and a simulation involving thousands or millions of data points.