Managing software development across boundaries is quite challenging. The boundaries may be around teams, organizations, cities, and even countries. From small scale to enterprise scale, distributed software development requires particular devotion to many aspects of software engineering. New name of the same old problem is "Global Software Development (GSD)" nowadays. This paper briefly identifies the challenges of GSD, presents the state-of-the-art for meeting such challenges, discusses the shortcomings of existing approaches, and proposes a "federated approach" to cover the broader palette of open issues / challenges in the area of distributed software development.