diff --git a/meta/files/common-licenses/OGTSL b/meta/files/common-licenses/OGTSL
new file mode 100644
index 0000000..8a0cad7
--- /dev/null
+++ b/meta/files/common-licenses/OGTSL
@@ -0,0 +1,120 @@
+
+The Open Group Test Suite License
+
+Preamble
+
+The intent of this document is to state the conditions under which
+a Package may be copied, such that the Copyright Holder maintains
+some semblance of artistic control over the development of the
+package, while giving the users of the package the right to use and
+distribute the Package in a more-or-less customary fashion, plus
+the right to make reasonable modifications.
+
+Testing is essential for proper development and maintenance of
+standards-based products.
+
+For buyers: adequate conformance testing leads to reduced
+integration costs and protection of investments in applications,
+software and people.
+
+For software developers: conformance testing of platforms and
+middleware greatly reduces the cost of developing and maintaining
+multi-platform application software.
+
+For suppliers: In-depth testing increases customer satisfaction and
+keeps development and support costs in check. API conformance is
+highly measurable and suppliers who claim it must be able to
+substantiate that claim.
+
+As such, since these are benchmark measures of conformance, we feel
+the integrity of test tools is of importance. In order to preserve
+the integrity of the existing conformance modes of this test
+package and to permit recipients of modified versions of this
+package to run the original test modes, this license requires that
+the original test modes be preserved.
+
+If you find a bug in one of the standards mode test cases, please
+let us know so we can feed this back into the original, and also
+raise any specification issues with the appropriate bodies (for
+example the POSIX committees).
+
+Definitions: 
+
+     "Package" refers to the collection of files distributed by the
+     Copyright Holder, and derivatives of that collection of files
+     created through textual modification. 
+     "Standard Version" refers to such a Package if it has not been
+     modified, or has been modified in accordance with the wishes
+     of the Copyright Holder. 
+     "Copyright Holder" is whoever is named in the copyright or
+     copyrights for the package. "You" is you, if you`re thinking
+     about copying or distributing this Package. 
+     "Reasonable copying fee" is whatever you can justify on the
+     basis of media cost, duplication charges, time of people
+     involved, and so on. (You will not be required to justify it
+     to the Copyright Holder, but only to the computing community
+     at large as a market that must bear the fee.) 
+     "Freely Available" means that no fee is charged for the item
+     itself, though there may be fees involved in handling the
+     item. It also means that recipients of the item may
+     redistribute it under the same conditions they received it. 
+
+1. You may make and give away verbatim copies of the source form of
+the Standard Version of this Package without restriction, provided
+that you duplicate all of the original copyright notices and
+associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other
+modifications derived from the Public Domain or from the Copyright
+Holder. A Package modified in such a way shall still be considered
+the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way,
+provided that you insert a prominent notice in each changed file
+stating how and when you changed that file, and provided that you
+do at least the following:
+
+     rename any non-standard executables and testcases so the
+     names do not conflict with standard executables and
+     testcases, which must also be provided, and provide a
+     separate manual page for each non-standard executable and
+     testcase that clearly documents how it differs from the
+     Standard Version.
+
+4. You may distribute the programs of this Package in object code
+or executable form, provided that you do at least the following: 
+
+     accompany any non-standard executables and testcases with
+     their corresponding Standard Version executables and
+     testcases, giving the non-standard executables and
+     testcases non-standard names, and clearly documenting the
+     differences in manual pages (or equivalent), together with
+     instructions on where to get the Standard Version.
+
+5. You may charge a reasonable copying fee for any distribution of
+this Package. You may charge any fee you choose for support of this
+Package. You may not charge a fee for this Package itself. However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial)
+software distribution provided that you do not advertise this
+Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced
+as output from the programs of this Package do not automatically
+fall under the copyright of this Package, but belong to whomever
+generated them, and may be sold commercially, and may be aggregated
+with this Package.
+
+7.Subroutines supplied by you and linked into this Package shall
+not be considered part of this Package. 
+
+8. The name of the Copyright Holder may not be used to endorse or
+promote products derived from this software without specific prior
+written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
