In this paper, we identify the different roles and contract types which are important in providing Quality of Service (QoS) properties of component-based systems. A surprising result of our work is that direct contracts between components are not necessary and even insufficient to handle non-functional properties of component-based systems. KEY WORDS Software Engineering, Quality of Service, ComponentBased Software, Design by Contract