In Free/Libre and Open-Source Software (FLOSS) project teams, different roles make different types of contributions to the projects, and it has been demonstrated that keeping a rational role distribution is of great significance to the potential growth and expansion of the projects. To identify the underlying patterns of team structures and role transformations, we perform an empirical study on 89 popular GitHub projects. The distribution of 9 roles and 66 types of role transformations are analyzed. Four clusters of FLOSS projects are identified in terms of the distinct characteristics on the proportion of 9 roles (i.e., the team structure) and the frequency of occurrence, duration, and Times of Activeness (ToA) of role transformations. This study would help FLOSS project coordinator have a deeper understanding of dynamic role distributions and role transformations in their teams, so as to take initiatives to improve their team structures.