The two reasons to create an unmanaged package are to distribute open-source projects on the AppExchange and to deploy from a Developer Edition environment. An unmanaged package is a collection of components that can be installed in any Salesforce org but cannot be upgraded or controlled by the developer. An unmanaged package can be used to share open-source projects or to deploy components from a Developer Edition environment to another org.