diff --git a/open_esplibs/README.md b/open_esplibs/README.md
new file mode 100644
index 0000000..ba11452
--- /dev/null
+++ b/open_esplibs/README.md
@@ -0,0 +1,15 @@
+# Open Espressif Libs
+
+These are functional recreations of the MIT licensed binary Espressif SDK libraries found in `lib`. They keep the same functionality as the SDK libraries (possibly with bugfixes or other minor tweaks), but are compiled from source.
+
+Most of the reverse engineering work so far has been by Alex Stewart (@foogod).
+
+See http://esp8266-re.foogod.com/wiki/ for more technical details of SDK library internals.
+
+# Disabling
+
+The open ESP libs are compiled in by default, and they automatically replace any binary SDK symbols (functions, etc.) with the same names.
+
+To compile using the binary SDK libraries only, override the COMPONENTS list in parameters.mk to remove the open_esplibs component, or add -DOPEN_ESPLIBS=0 to CPPFLAGS.
+
+To selectively replace some functionality with binary SDK functionality for debugging, edit the header file open_esplibs/include/open_esplibs.h
diff --git a/open_esplibs/include/esplibs/libmain.h b/open_esplibs/include/esplibs/libmain.h
index 51e3769..50a3f3d 100644
--- a/open_esplibs/include/esplibs/libmain.h
+++ b/open_esplibs/include/esplibs/libmain.h
@@ -1,3 +1,11 @@
+/* Internal function declarations for Espressif SDK libmain functions.
+
+   These are internal-facing declarations, it is not recommended to include these headers in your program.
+   (look at the headers in include/espressif/ instead and use these whenever possible.)
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE.
+*/
 #include "sdk_internal.h"
 #ifndef _ESPLIBS_LIBMAIN_H
 #define _ESPLIBS_LIBMAIN_H
diff --git a/open_esplibs/include/esplibs/libnet80211.h b/open_esplibs/include/esplibs/libnet80211.h
index 12f5980..1c0ac9a 100644
--- a/open_esplibs/include/esplibs/libnet80211.h
+++ b/open_esplibs/include/esplibs/libnet80211.h
@@ -1,3 +1,11 @@
+/* Internal function declarations for Espressif SDK libnet80211 functions.
+
+   These are internal-facing declarations, it is not recommended to include these headers in your program.
+   (look at the headers in include/espressif/ instead and use these whenever possible.)
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE.
+*/
 #ifndef _ESPLIBS_LIBNET80211_H
 #define _ESPLIBS_LIBNET80211_H
 
diff --git a/open_esplibs/include/esplibs/libphy.h b/open_esplibs/include/esplibs/libphy.h
index 92ec355..2c7639c 100644
--- a/open_esplibs/include/esplibs/libphy.h
+++ b/open_esplibs/include/esplibs/libphy.h
@@ -1,3 +1,11 @@
+/* Internal function declarations for Espressif SDK libphy functions.
+
+   These are internal-facing declarations, it is not recommended to include these headers in your program.
+   (look at the headers in include/espressif/ instead and use these whenever possible.)
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE.
+*/
 #ifndef _ESPLIBS_LIBPHY_H
 #define _ESPLIBS_LIBPHY_H
 
diff --git a/open_esplibs/include/esplibs/libpp.h b/open_esplibs/include/esplibs/libpp.h
index c2ed458..238ad02 100644
--- a/open_esplibs/include/esplibs/libpp.h
+++ b/open_esplibs/include/esplibs/libpp.h
@@ -1,3 +1,11 @@
+/* Internal function declarations for Espressif SDK libpp functions.
+
+   These are internal-facing declarations, it is not recommended to include these headers in your program.
+   (look at the headers in include/espressif/ instead and use these whenever possible.)
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE.
+*/
 #ifndef _ESPLIBS_LIBPP_H
 #define _ESPLIBS_LIBPP_H
 
diff --git a/open_esplibs/libmain/misc.c b/open_esplibs/libmain/misc.c
index 3c1cd02..f11d4fd 100644
--- a/open_esplibs/libmain/misc.c
+++ b/open_esplibs/libmain/misc.c
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain misc.o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_MISC
 // The contents of this file are only built if OPEN_LIBMAIN_MISC is set to true
diff --git a/open_esplibs/libmain/os_cpu_a.c b/open_esplibs/libmain/os_cpu_a.c
index dac5247..9ace3a8 100644
--- a/open_esplibs/libmain/os_cpu_a.c
+++ b/open_esplibs/libmain/os_cpu_a.c
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain os_cpu_o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_OS_CPU_A
 // The contents of this file are only built if OPEN_LIBMAIN_OS_CPU_A is set to true
diff --git a/open_esplibs/libmain/spi_flash.c b/open_esplibs/libmain/spi_flash.c
index ee2d2f4..91ee829 100644
--- a/open_esplibs/libmain/spi_flash.c
+++ b/open_esplibs/libmain/spi_flash.c
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain os_cpu_o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_SPI_FLASH
 // The contents of this file are only built if OPEN_LIBMAIN_SPI_FLASH is set to true
diff --git a/open_esplibs/libmain/timers.c b/open_esplibs/libmain/timers.c
index d460088..4c1edb9 100644
--- a/open_esplibs/libmain/timers.c
+++ b/open_esplibs/libmain/timers.c
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain timers.o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_TIMERS
 // The contents of this file are only built if OPEN_LIBMAIN_TIMERS is set to true
diff --git a/open_esplibs/libmain/uart.c b/open_esplibs/libmain/uart.c
index 5ee2699..b93d681 100644
--- a/open_esplibs/libmain/uart.c
+++ b/open_esplibs/libmain/uart.c
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain uart.o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_UART
 // The contents of this file are only built if OPEN_LIBMAIN_UART is set to true
diff --git a/open_esplibs/libmain/user_interface.c b/open_esplibs/libmain/user_interface.c
index 9d6865b..5e89424 100644
--- a/open_esplibs/libmain/user_interface.c
+++ b/open_esplibs/libmain/user_interface.c
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain user_interface.o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_USER_INTERFACE
 // The contents of this file are only built if OPEN_LIBMAIN_USER_INTERFACE is set to true
diff --git a/open_esplibs/libmain/xtensa_context.S b/open_esplibs/libmain/xtensa_context.S
index 139d5db..9e94cfd 100644
--- a/open_esplibs/libmain/xtensa_context.S
+++ b/open_esplibs/libmain/xtensa_context.S
@@ -1,3 +1,8 @@
+/* Recreated Espressif libmain xtensa_context.o contents.
+
+   Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
+   BSD Licensed as described in the file LICENSE
+*/
 #include "open_esplibs.h"
 #if OPEN_LIBMAIN_XTENSA_CONTEXT
 // The contents of this file are only built if OPEN_LIBMAIN_XTENSA_CONTEXT is set to true