Upgradeable vs Immutable Programs
Plain English
Upgradeable programs can be modified by their developers to fix bugs or add features, but this requires trust. Immutable programs cannot be changed once deployed - more trustless but cannot be improved. Different projects choose based on their needs.
Technical
Solana programs can be deployed as upgradeable (retain upgrade authority for modifications) or immutable (permanently frozen). Upgradeable programs enable bug fixes and feature additions but introduce governance risk and developer control. Immutable programs provide maximum trustlessness but cannot adapt to changing requirements or security fixes.