Open source community structures can take many forms, from a benevolent dictator model like Linux led by Linus Torvalds, to a committee-based model like Apache. Communication within these communities typically occurs through mailing lists, IRC, conferences, and code sprints. Contributions are often managed through pull requests and code reviews, and contributors may be asked to sign a contributor license agreement assigning copyright.