Graphene itself is licensed under the LGPL.

Graphene on an SGX host requires a kernel driver (in
Pal/src/host/Linux-SGX/sgx-driver), which is separately licensed under
the GPL.

Graphene also includes the following third party sources (and licenses):

mbedtls crypto libraries - Apache 2.0

RSA's MD5 algorithm (LibOS/shim/src/utils/md5.c) - RSA custom attribution license

Internet Software Consortium (permissive license): Pal/lib/network/inet_pton.c

MIT JOS (mix of MIT and BSD licenses:
* Pal/lib/stdlib/printfmt.c

A number of files taken from other C libraries:
* musl - MIT
* glibc - LGPL
 ** clone, sysdeps.h (and variants) used in code
 ** Pal/src/host/Linux/clone-x86_64.S
 ** LibOS/shim/include/elf.h
 ** LibOS/shim/src/elf/ - basically the whole directory, and most code related to linking and loading (e.g., Pal/src/db_rtld.c)
 ** Pal/include/elf/elf.h
 ** Pal/include/sysdeps/generic/ldsodefs.h
 ** Pal/include/sysdeps/generic/memcopy.h
 ** Pal/include/sysdeps/generic/sysdep.h
 ** Pal/lib/network/hton.c
 ** Pal/lib/string/ - the whole directory
 ** Pal/src/dynamic_link.h, do-rel.h , dl-machine-x86_64.h
 ** Pal/src/host/Linux/gettimeofday-x86_64.S
 ** Pal/src/host/Linux/include/ - whole directory - for signal API definitions
 ** We also build a patched glibc, but this could be moved into a separate repo

Some app and benchmark sources are redistributed under
LibOS/shim/test/apps.  These will be migrated to subrepositories, as
needed, and should be considered separate projects, subject to their
original licenses.

