1# Overview<a name="EN-US_TOPIC_0000001051452100"></a> 2 3- [Bundle](#section196713235514) 4- [Distribution](#section155387501033) 5 6This section describes the bundle-specific concepts in HarmonyOS. It uses an example to step you through how to create, develop, build, release, and install a bundle using the **hpm-cli** tool. 7 8## Bundle<a name="section196713235514"></a> 9 10A bundle is a term used in HarmonyOS to indicate a distribution. A bundle is equivalent to a package and it usually contains the following contents: 11 12- Distributed binary file \(binary type\) 13- Distributed source code file \(source code/code snippet type\) 14- Build script \(distribution type\) 15- Bundle description files: 16 - **bundle.json**: metadata declaration \(name, version, dependency, etc.\) 17 - **LICENSE**: license agreement 18 - **README.md**: readme file 19 - **CHANGELOG.md**: change log \(optional\) 20 21 22> **NOTE:** 23>Bundles can be classified into the following types: binary, source code, code snippet, template, plug-in, distribution, and so on. A bundle can depend on other bundles. The dependency relationship can be represented by a directed acyclic graph \(DAG\). 24 25After you release a bundle on the [HPM](https://hpm.harmonyos.com/#/en/home) platform, other developers can download, install, and use the bundle through the HarmonyOS Package Manager \(hpm\). 26 27A bundle must be uniquely named in the format **@scope/name** in the namespace. Independent evolution is supported for each bundle. 28 29## Distribution<a name="section155387501033"></a> 30 31A distribution is a complete HarmonyOS release that integrates various bundles, including drivers, kernels, frameworks, and applications. A distribution can also be distributed on the [HPM](https://hpm.harmonyos.com/#/en/home) platform through bundles. 32 33> **NOTE:** 34>The metadata of a distribution describes only the dependent bundles and build script compilation methods. It does not cover binary images of the distribution. When downloading a distribution, you also need to download the dependent bundles. You can obtain the system image file for burning only after finishing installation and compilation. 35>A distribution is inheritable. Specifically, you can add bundles to or delete bundles from an existing distribution to create your own distribution. 36 37**Figure 1** Relationship between bundles and a distribution<a name="fig85033524124"></a> 38 39 40 41 42