Salesforce Dictionary — Free Salesforce GlossarySalesforce Dictionary

Managed Package vs Unmanaged Package

Protected IP distribution vs open-source sharing

All comparisons

Managed Package

VS

Unmanaged Package

Managed Package

A Managed Package is a collection of Salesforce components (objects, classes, flows, pages, etc.) that is developed and distributed by a third-party ISV or internal team through AppExchange or directly. Managed Packages have their own namespace, support versioning and upgrades, and protect the developer's intellectual property by obfuscating Apex code.

Unmanaged Package

A Salesforce package that bundles components for distribution but does not have namespace protection or IP restrictions, meaning all components are fully editable and visible in the installing org, typically used for templates or open-source distribution.

Key Differences

DimensionManaged PackageUnmanaged Package
IP ProtectionCode is hidden and protectedCode is fully visible and editable
UpgradesSupports push upgrades to subscribersNo upgrade path — install is one-time
NamespaceRequires a registered namespace prefixNo namespace required
ModificationSubscribers cannot modify componentsSubscribers can freely modify everything
AppExchangeRequired for AppExchange listingsCannot be listed on AppExchange

When to use Managed Package

Distributing a commercial product on AppExchange with protected IP and upgrades.

When to use Unmanaged Package

Sharing open-source code, templates, or one-time configuration bundles.