Without a license, your code is not legally reusable, even if it is public on GitHub.
Choosing a license at the start of your project:
Early licensing is part of good research hygiene like documentation, folder structure, and version control.
Utrecht University recommends the MIT License:
What is important to you?
What does your lab use?
Try a license selector:
https://ufal.github.io/public-license-selector/
Permissive licenses (MIT, BSD, Apache 2.0)
Few restrictions; widely used in research.
Copyleft licenses (GPL, AGPL, LGPL)
Derivative works must use the same license.
Restrictive / proprietary licenses
Limit reuse and redistribution.
Explore options via:
https://choosealicense.com
Changing a license is possible, but requires care:
Copyright ownership
You must obtain permission from all contributors unless a CLA is in place.
Dependency compatibility
Some licenses cannot be mixed (e.g., GPL code cannot be relicensed as MIT).
Downstream users
Past versions remain under the old license; the new license applies only to future releases.
Institutional or funder requirements
Some projects must use specific licenses.
If you change your license:
LICENSE.mdREADME.mdFor more detail:
https://book.the-turing-way.org/reproducible-research/licensing/licensing-data/
Software and data serve different purposes and therefore require different types of licenses:
Software licenses (MIT, GPL, Apache 2.0)
Data licenses (CC‑BY, CC0, ODbL)
Key differences:
Workshop Computational Reproducibility