I'm thinking of creating an open source Unity video game. I checked this page to have an overview of the MIT license. But there are still some things that are not very clear to me:

  • If someone want to fork the project and create a proprietary or pay version of it, what does it mean for him to add a copy of the license and a copyright notice ?
  • If the project includes C# code or shaders that I didn't write (SteamVR, Photon Unity Networking, TextMesh Pro, "Procedural patterns" from the ShaderGraph package, library from the asset store, ...), what should I do ? Should I avoid including them in a git repository, and explain in README.md how to add these dependencies after a clone of the project ?
  • If I use a built library (dll, ...), should I add a notice concerning the license ?
  • Can I use Creative Commons assets in the project ? How to deal with the ShareAlike condition ? And with NonCommercial, knowing that the MIT license allows commercial reuse ? Should I add a notice (text file) next to an asset for the Attribution condition, or can I just add a line in the credits ?
  • Can I use a specific license for a given script or asset (instead of MIT) ? I saw that it is possible with the Mozilla License (CC0 license for a given file)
  • Should I add a licence header at the top of source code files ?

Thank you in advance for your answers.


It's a lot of questions. IANAL, but let's look at them one by one.

Anyone who forks an MIT-licensed project is bound by the license. Namely it requires to keep the copyright notice - which includes binary distribution of derivatives:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Inclusion of 3rd-party code: If you can do without that code in your own repository, explaining how to install the dependencies is best. You can include it for simplicity's sake, if distribution is permissible (mind their licenses).

Using libraries in builds most likely requires you to add a notice as to their license for binary distributions (again: check their license). In your code you don't need to mention that if it doesn't contain the library - otherwise probably yes.

Bundling assets with a different license usually is ok, when they can be considered a separate piece of work. If you distribute it as bundled work, then do mind to abide by its license. That means you cannot sell a piece of software with non-commercial assets bundled.

In principle you can use different licenses for different files. Mind though, that when it comes to distribution you are bound by the most restrictive one. It makes the whole process much more complicated. Try to use as few different licenses as possible. Your example with CC0 for a single file is actually a relaxation of restrictions for a single file, thus does not pose such problems.

It is good practise to note the license in file headers.

  • Thank you for your answer. I found an answer for the ShareAlike condition (creativecommons.org/share-your-work/licensing-considerations/…). The MIT license is not compatible. I also suppose that the NonCommercial condition is not compatible with MIT license, as the MIT license allows everyone to fork the project to make a commercial version. Concerning the Attribution condition, do you think that a copyright and license notice next to the file is OK ? – Flpe Feb 29 '20 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.