diff --git a/jaxrs-tck-docs/LICENSE_EFTL.md b/jaxrs-tck-docs/LICENSE_EFTL.md
new file mode 100644
index 0000000..a210682
--- /dev/null
+++ b/jaxrs-tck-docs/LICENSE_EFTL.md
@@ -0,0 +1,83 @@
+# Eclipse Foundation Technology Compatibility Kit License - v 1.0
+
+Copyright (c) 2018, Eclipse Foundation, Inc. and its licensors.
+
+Redistribution and use in binary form is permitted provided that the
+following conditions are met:
+
+1.  Use of the Technology Compatibility Kit accompanying this license
+    (the "TCK") and its documentation is permitted solely for the
+    purpose of testing compatibility of an implementation (the
+    "Product") of a specification (the "Specification") made available
+    by the Eclipse Foundation, Inc. ("Eclipse").
+
+2.  Only those modifications expressly permitted by the TCK and its
+    documentation are permitted. Except in these limited circumstances,
+    no modifications to the TCK are permitted under this license.
+
+3.  A Product will be deemed to be "compatible" with the Specification
+    if it fully and completely meets and satisfies all requirements of
+    the TCK.
+
+4.  Before any claim of compatibility (or any similar claim suggesting
+    compatibility) is made based on the TCK, the testing party must:
+
+    a.  use the TCK to demonstrate that the Product fully and
+	completely meets and satisfies all requirements of the TCK;
+
+    b.  make TCK test results showing full and complete satisfaction of
+	all requirements of the TCK publicly available on the testing
+	party's website and send a link to such test results to Eclipse
+	at [tck@eclipse.org](mailto:tck@eclipse.org); and
+
+    c.  comply with any requirements stated in the Specification with
+	regard to subsetting, supersetting, modifying or extending the
+	Specification in any Product claimed to be compatible with the
+	Specification.
+
+5.  The test results must be continuously available and the link must
+    be live for at least as long as the Product is available in the
+    marketplace.
+
+6.  The TCK may not be used as a basis for any statements of partial
+    compatibility. The TCK may only be used as a basis for true,
+    factual statements of full compatibility of Products that fully
+    meet and satisfy all requirements of the TCK.
+
+7.  A determination that a Product is compatible with the TCK does not,
+    in itself, give rise to the right to use any name, mark, logo
+    associated with the TCK, Eclipse, or Eclipse's contributors or
+    licensors.
+
+8.  Upon the request of Eclipse, a tester will retract any statements
+    of compatibility (or any similar claim suggesting compatibility)
+    which Eclipse reasonably determines to be false or misleading or in
+    violation of the terms of this license.
+
+9.  Redistribution of the TCK must be under this Eclipse Foundation
+    Technology Compatibility Kit License and must reproduce the above
+    copyright notice, this list of conditions and the following
+    disclaimer in the documentation and/or other materials provided
+    with the distribution.
+
+10. Neither the name, trademarks or logos of Eclipse, nor the names,
+    trademarks or logos of its contributors or licensors may be used to
+    endorse or promote products tested with this software without
+    specific prior written permission.
+
+11. The source code for the TCK accompanying this license is available
+    from Eclipse.
+
+TO THE EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED ON
+AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
+CONDITIONS OF TITLE, NON- INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
+A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY APPLICABLE LAW,
+NEITHER THE COPYRIGHT OWNER OR ANY CONTRIBUTORS SHALL HAVE ANY
+LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
