I'm trying to upload my project to GitHub and have questions regarding license/credit attribution.

My project is an Arduino (specifically NodeMCU ESP8266) project, which mainly includes two external libraries. One of which is licensed under Apache 2.0 and the other under MIT. Additionally, it also uses 'core' libraries such as "ESP8266WiFi.h" that come with the ESP8266 platform (which are also licensed?).

I have read about this online but most of it confuses me. I have several questions:

  1. How should I attribute the copyright in my GitHub repo? Do I create one "LICENSE" file and put "This project uses X library from Y author and here is the copy of the full license.." and then repeat the same thing under it for all the libraries used?
  2. How do I determine which libraries I use get attributed and which don't? Won't the list be endless? For example should I include attribution to the ESP8266 core library that is inherently used in every ESP8266 project? And do I attribute to the level 2 libraries (i.e. the libraries that my included libraries are using)?
  3. Is copyright attribution on a GitHub project like this important, and if omitted will get me into trouble? My project is just a simple uni project and I just want to upload it for my portofolio :(.

1 Answer 1


You only need to give credit and license notices for code that you distribute. If your repository contains only your code, you don't have to do anything regarding credits and you can just have a single LICENSE file with the license for your code.

If you also have a copy of the third-party libraries in your repository (either in source or binary form), then it is easiest if you organize your repository similar to this

|- <folder(s) with your code>
|- LICENSE (license for your code)
|- ...
|- 3rd-party
 |- libA
 ||- <files of LibA, including their LICENSE file>
 |- libB
 ||- <files of LibB, including their LICENSE file>

The idea is that you put all third-party libraries in a structure under a common folder that (by its name) indicates that everything beneath it is written by others. The sub-folders then contain the library code and the corresponding license files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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