A large amount of data is produced during collaborative software development. The analysis of such data sets a great opportunity to better understand Software Engineering from the perspective of evidence-based research. Mining software repositories studies have explored both the technical and social aspects of software development contributed to the discovery of important information about how software development evolves and how developers collaborate. Several repositories store data regarding source code production (version control systems), communication between developers and users (forums and mailing lists), and coordination of activities (issue tracker, task managers, etc.). In the open source world, such data is available in large ecosystems of software development. Platforms such as GitHub host millions of repositories, which receive contributions from millions of developers worldwide. Some project repositories register data from more than a decade of development, enabling the analysis of projects from a historical perspective. In this talk, I will discuss some of the uses and challenges of mining software repositories, focusing on some works conducted in our group, such as: identification of change dependencies, evaluation of architectural degradation from commit meta-data, core-periphery analysis of developers participation, change-proneness prediction, analysis of the impact of refactoring on code quality, and relations between quality attributes of the test and the code being tested.