diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..5fe9517
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,90 @@
+=====================================================
+LLVM parallel-libs Subproject Charter
+=====================================================
+
+----------------------------------------------
+Description
+----------------------------------------------
+The LLVM open source project will contain a subproject named `parallel-libs`
+which will host the development of libraries which are aimed at enabling
+parallelism in code and which are also closely tied to compiler technology.
+Examples of libraries suitable for hosting within the `parallel-libs`
+subproject are runtime libraries and parallel math libraries. The initial
+candidates for inclusion in this subproject are **StreamExecutor** and
+**libomptarget** which would live in the `streamexecutor` and `libomptarget`
+subdirectories of `parallel-libs`, respectively.
+
+The `parallel-libs` project will host a collection of libraries where each
+library may be dependent on other libraries from the project or may be
+completely independent of any other libraries in the project. The rationale for
+hosting independent libraries within the same subproject is that all libraries
+in the project are providing related functionality that lives at the
+intersection of parallelism and compiler technology. It is expected that some
+libraries which initially began as independent will develop dependencies over
+time either between existing libraries or by extracting common code that can be
+used by each. One of the purposes of this subproject is to provide a working
+space where such refactoring and code sharing can take place.
+
+Libraries in the `parallel-libs` subproject may also depend on the LLVM core
+libraries. This will be useful for avoiding duplication of code within the LLVM
+project for common utilities such as those found in the LLVM support library.
+
+
+----------------------------------------------
+Requirements
+----------------------------------------------
+Libraries included in the `parallel-libs` subproject must strive to achieve the
+following requirements:
+
+1. Adhere to the LLVM coding standards.
+2. Use the LLVM build and test infrastructure.
+3. Be released under LLVM's license.
+
+
+Coding standards
+----------------
+Libraries in `parallel-libs` will match the LLVM coding standards. For existing
+projects being checked into the subproject as-is, an exception will be made
+during the initial check-in, with the understanding that the code will be
+promptly updated to follow the standards. Therefore, a three month grace period
+will be allowed for new libraries to meet the LLVM coding standards.
+
+Additional exceptions to strict adherence to the LLVM coding standards may be
+allowed in certain other cases, but the reasons for such exceptions must be
+discussed and documented on a case-by-case basis.
+
+
+LLVM build and test infrastructure
+----------------------------------
+Using the LLVM build and test infrastructure currently means using `cmake` for
+building, `lit` for testing, and `buildbot` for automating build and testing.
+This project will follow the main LLVM project conventions here and track them
+as they evolve.
+
+Each subproject library will be able to build separately without a single,
+unified cmake file, but each subproject libraries will also be integrated into
+the LLVM build so they can be built directly from the top level of the LLVM
+cmake infrastructure.
+
+
+LLVM license
+------------
+For simplicity, the `parallel-libs` project will use the normal LLVM license.
+While some runtime libraries use a dual license scheme in LLVM, we anticipate
+the project removing the need for this eventually and in the interim follow the
+simpler but still permissive license. Among other things, this makes it
+straightforward for these libraries to re-use core LLVM libraries where
+appropriate.
+
+
+----------------------------------------------
+Mailing List and Bugs
+----------------------------------------------
+Two mailing lists will be set up for the project:
+
+1. parallel-libs-dev@lists.llvm.org for discussions among project developers, and
+2. parallel-libs-commits@lists.llvm.org for patches and commits to the project.
+
+Each subproject library will manage its own components in Bugzilla. So, for
+example, there can be several Bugzilla components for different parts of
+StreamExecutor, etc.
