Open-science and code sharing

Martin Monperrus
May 6, 2018 · 2 min read

In my software engineering research, I’m often curious about the prototypes and experiments of others, I want to know more, beyond what’s written in the paper, I want to try, explore and experiment myself.

Then, I send an email to the authors to ask them about the data or code, something like “Hey, I’m Martin, I’m super interested in your work, I’d like to explore and build on it, would you share your tool or data?”

Data and code sharing is required for the progress of science:

  • to repeat experiments, and beyond repeating to vary the experimental setup
  • in engineering research, to compare one’s tool against a previously published one.

The bad answer

Would you share your tool or data?

Over years, I’ve received few refusals, but many answers of the form “I need a couple of week to rework on it”. And the code never comes later.

The good answer

Would you share your tool or data?

An answer can be: “Here is it. but please note that”:

  • “The code is not documented and badly designed”
  • “I won’t be able to provide any support.”

That’s just OK Beyond refactoring, documenting or polishing, the most important is that science advances. And for this, the only way to go is to reproduce past experiments and to set up comparative ones.

Note also that, you don’t have to make your code public, you can share your code privately, upon request.

When I receive your code …

when I receive your code, I don’t expect any kind of test or documentation. I know that you won’t have time to answer my questions. That’s fine. I understand and I’m in the exact same position when I share my group’s code.

when I receive your code, it may not compile anymore. That’s fine too. I’ll take the time to make it compile, execute, and work on examples that are different from the provided ones (if any). And this would be my duty as user, not yours as author.

when I receive your code, it has an immense value in understanding the design decisions, the technical details and the corner cases that are necessarily not described in the paper.

Related post: 6 Golden Rules for Writing, Using and Sharing Research Prototypes

Originally published at

Martin Monperrus

Written by

Professor of Software Technology, KTH Royal Institute of Technology, Stockholm

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade