1

I am creating a project for myself based off of two different GitHub projects. Code from each of the two projects are used in my project, and I am planning on releasing it to the public.

The conflict I face is that the two original GitHub projects my project is based off of each have differing licences. One has the MIT licence, and the other has the GPL-3.0 licence. Both of these licences require that any resulting code from those projects are released under the same licence.

Therefore, what licence should my new project be released under, or do I have a choice to choose whichever I want?

Thanks

2
  • I think you may have misread the MIT license.
    – Sneftel
    Commented Dec 1, 2021 at 18:36
  • No I did not @Sneftel, It says, and I quote "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." See the second paragraph here opensource.org/licenses/MIT Commented Dec 1, 2021 at 18:49

2 Answers 2

4

You have misunderstood the MIT license.

The MIT license requires you to include a copy of "the above copyright notice and this permission notice" in "all copies or substantial portions of the Software." However, this is not the same as requiring you to offer the Software under those terms, and in fact the MIT license explicitly permits you to sublicense the Software under different terms ("including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software"). If you had to offer the Software under the same terms, then the sublicense right would be extinguished, so that cannot be the correct reading of the license. Therefore, you can do exactly what you describe, releasing the software under the GPL.

In other words, you have to include the permission notice, but you are expressly permitted to wrap it in terms that state "these permissions don't apply to you, dear end user, but only to people who go and download the original from the upstream source." That's what "sublicense" means.

The Free Software Foundation, which publishes the GPL, agrees with this analysis (although they recommend avoiding the phrase "MIT License" because MIT has offered software under other licenses).

2
  • Thanks! Just to clarify, I have to include both licence files, but state that "The below licence does not apply to any users of this script, but only to those who choose to download this scripts original upstream code" in the MIT licence file, correct? Commented Dec 2, 2021 at 20:38
  • @Greenreader9: Yes, you can do that. If the script, in isolation, is not a derivative work of the GPL'd code, you could instead put in a clarifying remark that "This license only applies to the script, and not to the project as a whole, which is only available under the GPL." You should probably also use specific filenames to identify what you mean by "this script" and such, unless it is completely obvious from context.
    – Kevin
    Commented Dec 3, 2021 at 0:37
-2

You can’t do what you want to do

You have to comply with both licences. The licences are incompatible. Therefore, you can’t comply with both licences.

You have a couple of options:

  • if you can clearly identify which parts of your code are under which licence and you don’t mix them, you can release part of your project under one licence and part under the other.
  • you can contact the owners of the copyright (which will be everyone that contributed to a project) and ask them to grant you a different, compatible licence.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .