A package encapsulates repository objects in self-contained units. Packages are themselves repository objects, and connect the repository objects they contain to the Change and Transport System (CTS). The components of a package that can be used outside of the package must be published in a package interface. A package that accesses the repository objects of another package must declare this, and have permission from the other package. Packages are created using Package Builder. See also Package Concept.