========================== Chapel License Information ========================== The Chapel implementation is composed of two categories of code: 1) code that was specifically developed for, or contributed to, the Chapel project. This code comprises the core of the Chapel implementation: the compiler, runtime, and standard/internal modules. Code in this category is made available under the Apache v2.0 license, which can be found in 'LICENSE.chapel' in this directory or at http://www.apache.org/licenses/LICENSE-2.0.html. 2) code from other open-source projects that we package and redistribute for the convenience of end-users. Packages in this category are made available under the terms of their original licenses, respectively. Packages in this second category are redistributed in the highlight/ and third-party/ directories. The following table provides a summary of the packages, their uses, and their licenses. directory/package use license ----------------- ------------------------------------------- ------- highlight/ emacs emacs-based syntax coloring GPL vim vim-based syntax coloring VIM third-party/ chpl-venv python packages supporting chpldoc & tests argparse Back port of argparse to < python2.7 Python PyYAML YAML parser and emitter for Python MIT Sphinx Python documentation generator BSD sphinxcontrib-chapeldomain The Chapel language domain for Sphinx Apache v2.0 sphinx_rtd_theme ReadTheDocs.org theme for Sphinx MIT Jinja2 A template engine written in Python BSD MarkupSafe XML/HTML/XHTML Markup safe string impl. BSD Pygments A syntax highlighting package BSD docutils Python Documentation Utilities public domain Python BSD GPL 3 gasnet portable communication library BSD-like gmp optional multi-precision math library L-GPL hwloc portable NUMA compute node utilities new BSD jemalloc alternative memory allocator BSD-like llvm CLANG C parsing/optional back-end compiler U of I/NCSA qthread alternative lightweight tasking option new BSD re2 optional regular expression parsing library new BSD utf8-decoder used for runtime UTF-8 string decoding MIT libunwind used for runtime stack tracing MIT For a more complete introduction to these packages and their licensing terms, refer to highlight/README.md, third-party/README, and the README and license files in the subdirectories listed above. Note that not all of these packages are used by Chapel by default. The following table summarizes the conditions under which each package is used (see chplenv.rst for details on CHPL_* settings): directory/package when used ----------------- ---------------------------------------------------- highlight/ emacs only used if a user modifies their emacs environment vim only used if a user modifies their vim environment third-party/ chpl-venv only used when running 'chpldoc', 'start_test', or the developer-only 'chplspell' gasnet only used when CHPL_COMM is 'gasnet' gmp only used when CHPL_GMP is 'gmp' hwloc only used when CHPL_HWLOC is 'hwloc' jemalloc only used when CHPL_MEM is 'jemalloc' llvm only used when CHPL_LLVM is 'llvm' qthread only used when CHPL_TASKS is 'qthreads' re2 only used when CHPL_REGEXP is 're2' utf8-decoder bundled into the Chapel runtime to decode UTF-8 strings libunwind only used when CHPL_UNWIND is 'libunwind' For packages that are used based on a CHPL_* setting, note that this setting may either be explicitly or implicitly set. Additionally, some packages are only used if a speculative build was successful. See https://chapel-lang.org/docs/usingchapel/chplenv.html to see which packages are used by default and which ones are built speculatively. You can also check your CHPL_* settings by running $CHPL_HOME/util/printchplenv after Chapel has been built