Current software component models lack compositionality. Most of them also do not have both active and passive components. In this paper, we show how we can define a compositional approach to active and passive components. We define these components in such a way that their composition can be defined by explicit composition operators. Our approach not only achieves compositionality, but also enables systematic or hierarchical composition.