Apache BuildStream
Copyright 2022 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).


Software deriving from third parties:

  * doc/bst2html.py

    This file is largely derived from https://github.com/Kronuz/ansi2html.git
    which is under the MIT license and as such is acceptable to redistribute
    under the Apache License.

  * src/buildstream/_frontend/complete.py

    This file is forked from the click library which is under BSD license
    and as such is acceptable to redistribute under the Apache License.

  * versioneer.py / src/_version.py

    These files are distributed under public domain and originate from
    the versioneer project at: https://github.com/python-versioneer/python-versioneer/

  * src/buildstream/_protos/google

    This directory contains software developed by google:
    https://github.com/googleapis/googleapis/

  * src/buildstream/_protos/build/bazel

    This directory contains software developed by the Bazel authors:
    https://github.com/bazelbuild/remote-apis/

  * src/buildstream/_protos/build/buildgrid

    This directory contains software developed by the BuildGrid authors:
    https://gitlab.com/BuildGrid/buildgrid
