In a Global Software Development (GSD) environment, multiple teams are located in geographically dispersed locations and project management is becoming a difficult task; and the work distribution process has become an important function in GSD. Work distribution process can influence both the benefits of global software development (e.g. cost reduction, availability of people, proximity to the customer) and its risks (e.g. communication and coordination overhead). Therefore, work should be distributed after a thorough study on the different tasks and the various locations. To do this, the categorization of work should be undertaken before it is distributed. This is known as modularization which can help overcome communication and coordination problems in the development process and makes the process more stable. In this paper, we present a survey on software modularization which includes principles of modularization and applicability of the concept to GSD.