I have used github code for my research paper. But that code comes with no license. I have asked author to add license to code but he has not replied so far. Will this be a problem for me in future? I have not intentions for owning that code. I have just used that code without any changing and i would like to cite that repository link in my paper giving credit to original developer. Please give your valuable suggestions
If you find software that doesn’t have a license, that generally means you have no permission from the creators of the software to use, modify, or share the software. Although a code host such as GitHub may allow you to view and fork the code, this does not imply that you are permitted to use, modify, or share the software for any purpose.
- Ask the maintainers nicely to add a license. Unless the software includes strong indications to the contrary, lack of a license is probably an oversight. If the software is hosted on a site like GitHub, open an issue requesting a license and include a link to this site. If you’re bold and it’s fairly obvious what license is most appropriate, open a pull request to add a license – see “suggest this license” in the sidebar of the page for each license on this site (e.g., MIT).
- Don’t use the software. Find or create an alternative that is under an open source license.
- Negotiate a private license. Bring your lawyer.
Note in the second line that you do not even have permission to use the software. Unfortunately, this means that, in order to be safe, you should either wait for the developers to reply to you and add the license, or write your own code.
There's two different things to consider:
- Academic honesty - for this a citation will be fine. The emphasis here is on not claiming credit for the ideas of others, and by citing the repository appropriately you've done this. There's a slight concern here that if the code turns out not to be licensed in a way that's possible for people to use then it's harder for people to reproduce your results, but that's no different to making use of a proprietary tool (which is considered acceptable).
- Copyright/licencing/"are you legally allowed to use the code". I suspect the answer is "not really, but practically you will most likely get away with it". I also think this isn't really on-topic for this site. If it turns out you can't the consequences will likely be having to pay some compensation rather than an academic problem.
Probably the best solution would be to reimplement the algorithm in the repository yourself and cite the original source, thereby giving yourself the best chance of being legally fine while fulfilling your commitment to honestly acknowledging your sources. Note that this isn't the same as mechanically retyping their code - you should be aiming for a more high-level reimplementation.
Small addendum: it might be worth considering the source of the code. My experience is that a small-scale programs written for academic work (e.g. a data analysis algorithm from a mainly experimental group) are published without a license and without anyone ever really thinking about a license. The authors are generally very happy if the code is used because it shows someone's interested and gets a citation, but aren't hugely interested in formal licensing (which might involve painful interactions with university IP departments or similar). If the code comes from this kind of source then they'd probably be happy for you to use it (with a citation). This obviously doesn't provide legal clarity, but might give some re-assurance.