InnerSource is the practice of applying open-source patterns within organizations. It promotes collaboration and knowledge sharing among employees by allowing them to freely view, modify, and distribute code within the company.
- Transparency: Allows developers to access source code from other projects, enhancing productivity and knowledge transfer.
- Reduced Friction: Streamlines the process for proposing and incorporating changes across teams.
- Standardized Practices: Ensures consistency and efficiency within the organization's development processes.
- Configure Repository Visibility and Permissions: Control access by setting visibility levels (public, internal, private) and permissions (read, triage, write, maintain, admin).
- Create Discoverable Repositories: Use descriptive names, include licenses, and add README files to communicate project details.
- Create Contributing Guidelines: Outline contribution policies to streamline the contribution process.
- Use Issue and Pull Request Templates: Provide starter templates to streamline communication.
- Define Workflows: Specify branching strategies and contribution procedures for external contributors.
- Focus on External Participation: Measure metrics such as the number of pull requests from external sources and engagement in project discussions.
- Emphasize Process Metrics: Measure processes rather than outputs, and focus on team-level metrics.
Overall, successful InnerSource programs emphasize collaboration, transparency, and efficiency in software development processes.
- An introduction to InnerSource
- Types of GitHub accounts
- Repository permission levels for an organization
- Managing access to your organization's repositories
- Adopt a Git branching strategy
- Best practices for protected branches
- GitHub Collaboration Best Practices
- Awesome README examples
- Awesome CONTRIBUTING.md examples
- Awesome GitHub issue & pull request templates