- Best Answerset by eggsa
The reason is because most open-source licenses are pretty flexible about how you present them to users, but these 3 libraries are very old and they're stuck with awkward licenses because some of their contributors are dead/unreachable to get their permission to change the licenses.
Anyway, current versions of all 70 licenses are included in the engine in a slightly convoluted format. I wrote a routine to make string with only the mandatory licenses, which you can display in a TextEdit or Label:
var license_text = "\n\n\nGODOT LICENSE\n\n" + Engine.get_license_text()
var components = Engine.get_copyright_info()
license_text += "\n\n\nTHIRD PARTY LIBRARIES\n\nWe are required to display license text for the following libraries included in the Godot Engine:"
var license_list = {}
var regex = RegEx.create_from_string("freetype|enet|mbed")
for component in components:
var name = component.name
if !regex.search(name.to_lower()):
continue
license_text += "\n" + name + "\n"
for part in component.parts:
license_list[part.license] = true
license_text += " License: " + part.license + "\n"
for line in part.copyright:
license_text += " Copyright " + line + "\n"
var licenses = Engine.get_license_info()
for k in licenses:
if license_list.has(k):
license_text += "\n\n\nLICENSE: " + k + "\n\n" + licenses[k]