title: Welcome to the Apache BuildStream project slug: index

What is BuildStream?

BuildStream is a tool for efficiently and correctly developing, building and integrating software stacks.

It takes inspiration, lessons and use-cases from various projects including OBS, Reproducible Builds, Yocto, Baserock, Buildroot, Aboriginal, GNOME Continuous, JHBuild, Flatpak Builder and Android repo.

BuildStream supports multiple build-systems (e.g. autotools, cmake, cpan, distutils, make, meson, qmake), and can create outputs in a range of formats (e.g. debian packages, flatpak runtimes, sysroots, system images) for multiple platforms and chipsets.

Apache BuildStream 2 is now available

BuildStream 2 has been released and effectively replaces BuildStream 1, which is now in maintenance mode and will no longer be actively developed.

Users are encouraged to follow the porting guide to port their projects to the new API, and distributions are encouraged to ship BuildStream 2 in place of BuildStream 1.

For a period of transition, we understand that users will need to use both BuildStream 1 and BuildStream 2 in parallel, this can be done in various ways, such as using containers, or installing these into separate python virtual environments, as explained in the install page

Who is using BuildStream?

Our core users are application developers and system integrators who create production-ready software systems that need to be maintained efficiently and reliably in the long term.

Buildstream is currently used by multiple software projects, including:

What can BuildStream do, and why should I use it?

See “Why should I use BuildStream?” for details.

How do I get BuildStream?

See our install page for details.

How do I get involved?

BuildStream is a welcoming open source project, which means your participation is one of the project goals. The BuildStream project welcomes and promotes the participation and contributions of any person.

The most obvious way to participate is to use BuildStream. If you do, then please tell us about your experiences so we can learn from your feedback, and tell other people about your exeriences too, so we can reach a larger user base.

You can also install the latest development snapshots, and help us test new features developed by the community.

How can I get involved with Buildstream Development?

The main repository is buildstream and development happens on the default branch. Following modern delivery practices, this branch should always work.

We suggest starting with basic bug fixes, and working up to new feature development. New features should always be discussed on the mailing lists, before being submitted as pull requests, see the project's contributing page for details.

How can I get involved with the Community?

Please join our mailing list. When attending events or conferences please do reach out to community members and introduce yourself.