MapleSyrup654:
Hardware wise we are using an ESP8266 which is much easier to use in Arduino IDE so we really want to continue using it.
I will proceed under the assumption this means you're using the ESP8266 core for Arduino :
MapleSyrup654:
We've programmed everything using the Arduino library but one our tutors caught us up and said we have to change it to C or something because Arduino library is not a free license.
There is no such thing as the "Arduino library". It's not clear what you mean by that.
Each hardware package (ESP8266 in this case) has its own core library. This core library will tend to follow the standard Arduino API (which may give the illusion of there being a single "Arduino library") but they may be licensed however the author of the core library wishes if it is their original work. Thus you need to check the core library files to determine the license.
You may also be using libraries that are written for use with the Arduino IDE. The Arduino IDE itself comes with some of these libraries (they are located in the libraries subfolder) but most of them are not compatible with ESP8266. The ESP8266 package provides its own set of bundled libraries. There are also many 3rd party libraries available. You would need to consult the source code of each of those libraries you use to determine the license. You will likely find that all the libraries bundled with the Arduino IDE and ESP8266 hardware package have open source licensed but that some 3rd party libraries do not specify a license and thus are considered "All Rights Reserved". I'd guess that is usually done out of ignorance rather than a desire to limit the use of the code and you may be able to contact the author to request a license documentation be added but you should not assume that just because the library was published online that it's free to use.
Each hardware package also uses a toolchain which will contain source code used by your project. In the case of ESP8288 this is the Espressif SDK and xtensa gcc.
MapleSyrup654:
However this doesn't seem right from what I've seen on their commercial rules but at the same time I'm finding them a little confusing to understand:
Since you're not using the Arduino core and likely are not using any of Arduino's official libraries that information is not relevant to this discussion. In fact that information is wrong anyway since not all the libraries are LGPL (though they do all have open source licenses). Again, you really just need to look at the source code you're using to see what the license is. I believe someone has already submitted an issue report to Arduino requesting they correct that statement.
There is a handy little summary of the licenses involved in the ESP8266 core for Arduino:
License and credits
Arduino IDE is developed and maintained by the Arduino team. The IDE is licensed under GPL.
ESP8266 core includes an xtensa gcc toolchain, which is also under GPL.
Esptool written by Christian Klippel is licensed under GPLv2, currently maintained by Ivan Grokhotkov: GitHub - igrr/esptool-ck: ESP8266 build/flash helper tool by Christian Klippel.
Espressif SDK included in this build is under Espressif MIT License.
ESP8266 core files are licensed under LGPL.
SPI Flash File System (SPIFFS) written by Peter Andersson is used in this project. It is distributed under MIT license.
umm_malloc memory management library written by Ralph Hempel is used in this project. It is distributed under MIT license.
axTLS library written by Cameron Rich, built from GitHub - igrr/axtls-8266: axTLS port for ESP8266, is used in this project. It is distributed under BSD license.
If you go to the URL I provided above you'll see the original text of that quote includes links to the relevant license files, which should make it quite clear under which conditions the code may be used. If your use is not compliant with the license then you would need to contact the author to negotiate a license that meets your needs.