diff --git a/LICENSE b/LICENSE
index 60123a9..8cf0003 100644
--- a/LICENSE
+++ b/LICENSE
@@ -246,7 +246,7 @@
 This product bundles Guava v20.0, which is available under a "Apache" license. For details, see https://github.com/google/guava/blob/v20.0/COPYING and following files:
   android_sdk/src/main/java/org/apache/taobao/weex/utils/WXDataStructureUtil.java
 
-This product bundles json11 v1.0.0, which is available under a "MIT" license.For details, see https://github.com/dropbox/json11/tree/v1.0.0 and following files:
+This product bundles json11 v1.0.0, which is available under a "MIT" license. For details, see https://github.com/dropbox/json11/tree/v1.0.0 and following files:
    weex_core/Source/third_party/json11/CMakeLists.txt
    weex_core/Source/third_party/json11/json11.cc
    weex_core/Source/third_party/json11/json11.hpp
@@ -275,8 +275,6 @@
 This product bundles chromium v66.0.3344.2, which is available under a "BSD-style" license. For details, see https://github.com/chromium/chromium/blob/66.0.3344.2/ and following files:
    modp_b64:
       The following files are copied from https://github.com/chromium/chromium/tree/master/third_party/modp_b64 and their names are listed below:
-         weex_core/Source/base/base64/base64.cpp
-         weex_core/Source/base/base64/base64.h
          weex_core/Source/base/base64/modp_base64/modp_b64_data.h
          weex_core/Source/base/base64/modp_base64/modp_b64.cc
          weex_core/Source/base/base64/modp_base64/modp_b64.h
@@ -707,4 +705,14 @@
          * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
          * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
          * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-         */
\ No newline at end of file
+         */
+
+This product bundles files from Boost under "Boost Software License". For more details, reference http://www.boost.org/LICENSE_1_0.txt
+  weex_core/Source/js_runtime/utils/base64.hpp
+
+  //
+  // Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
+  //
+  // Distributed under the Boost Software License, Version 1.0. (See accompanying
+  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+  //
diff --git a/weex_core/Source/base/base64/modp_base64/modp_b64.h b/weex_core/Source/base/base64/modp_base64/modp_b64.h
index a682ac9..af2fc6b 100644
--- a/weex_core/Source/base/base64/modp_base64/modp_b64.h
+++ b/weex_core/Source/base/base64/modp_base64/modp_b64.h
@@ -1,21 +1,3 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */
 /* vi: set expandtab shiftwidth=4 tabstop=4: */
 
diff --git a/weex_core/Source/base/base64/modp_base64/modp_b64_data.h b/weex_core/Source/base/base64/modp_base64/modp_b64_data.h
index 2ef4c57..de3400c 100644
--- a/weex_core/Source/base/base64/modp_base64/modp_b64_data.h
+++ b/weex_core/Source/base/base64/modp_base64/modp_b64_data.h
@@ -1,21 +1,23 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * \file
+ * <PRE>
+ * High performance base64 encoder / decoder
+ * Version 1.3 -- 17-Mar-2006
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
+ * Copyright &copy; 2005, 2006, Nick Galbreath -- nickg [at] modp [dot] com
+ * All rights reserved.
  *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * http://modp.com/release/base64
+ *
+ * Released under bsd license.  See modp_b64.c for details.
+ * </pre>
+ *
+ * The default implementation is the standard b64 encoding with padding.
+ * It's easy to change this to use "URL safe" characters and to remove
+ * padding.  See the modp_b64.c source code for details.
+ *
  */
+
 // VC8 doesn't have stdint.h.  On the other hand, some compilers don't like
 // the below code, because basictypes.h itself includes stdint.h and the
 // typedefs below can cause conflicts.
