A Situated Approach of Roles and Participation in Open Source Software Communities