[D] What is the proper etiquette for extending someone’s research code?
Over the last several months, I wrote a paper about extensions/improvements to an ML method that someone had previously proposed in their own paper. The authors of the original paper have open-sourced the PyTorch implementation for their paper on Github under an MIT license. I forked their repository and added some fairly major modifications/features to their code. Recently, I put up a preprint of my paper on arXiv, and have received a few requests for my code. I’d like to be able to open-source my code under the MIT license as well, but I want to make sure I properly give credit to the original authors. In my paper I, of course, cite the original authors profusely; I’m just not sure what to do in my code.
I’ve considered a few options but I’m not sure if any of them is the right one:
- I can make a pull request and ask to have my code merged into the original repo, but the changes are fairly major and may actually change the behavior of the original authors’ code in ways that makes it inconsistent with how they describe it in their paper.
- I can keep maintaining a public fork of the original repo, but I’m not sure what proper etiquette is in this case in terms of modifying READMEs, references, and links. I’ve also heard that it’s bad to maintain a public fork for a long time because it tends to confuse people about which fork they should use.
- I can make a new repo and move the code into there, but again, I’m not sure what the etiquette is for properly crediting the original authors.
Are any of these the right option or should I be doing something else entirely?
If it is one of these, how can I make sure that I properly credit the original authors for their (very impressive) work?