Skip to main content

Licenses in open source projects

Repositories on Github are often used to share open source software. But for a repository to be truly open source you need to license it to allow other people to use that code. A repository that does not contain a license cannot be used by anyone else for their own projects.

Why licensing is important for your project?

  • When you make a creative work such as writings, graphics, code, that work is under exclusive copyright by default.That is, the law assumes that as the author of your work, you have a say in what others can do with it.
  • This means that nobody else can use copy or distribute or modify your work without being at the risk of facing legal consequences.
  • If you don't apply an open source license, everybody who contributes to your project becomes an exclusive copyright holder of the work and nobody can modify their contributions( including you).
  • Therefore, since the by default you have exclusive rights over your project, you need to include licenses to allow other people to use your project.

Which Github License should I use?

There are three basic licenses that will serve the needs of most users. These are:

  • If you want your project to be used as a dependency by other projects: MIT License is for you.
  • If you want your project to appeal to leage businesses, the Apache 2.0 License is for you.
  • If you want your project to appeal to contributors who don't want their contributions to be used in a closed source software: GPLv3 and AGPLv3 are licenses are for you.

If these licenses still do not suffice you, you can take a look at these licenses. If your project is not a software then you can take look at these licenses

What happens if I don't include a license?

If you publish your code on Github you have accepted the Terms of Service by which you allow others to view and fork your repository. Others may not need your permission limitations and exceptions apply to their particular situation such as experimentatio, modification and sharing.

If you find a software that you want to use but does not contain a license, you can:

  • Add the maintainers nicely to add a license.
  • Negotitate a private license.

If both of these do not work then you are not allowed to use the software under any conditions.

If your goal is completely opt-out of copyright restrictions you can try a public domain dedication