Get startedGet started for free

Managing an InnerSource Program

1. Managing an InnerSource Program

Welcome to our video on Managing an InnerSource Program! We'll explore how open-source practices boost collaboration and innovation within our organization. Whether it's data projects or software development, InnerSource enhances teamwork and efficiency. Let's dive in!

2. Introduction to Open Source Projects

Open source is a software model where code is publicly available for anyone to use, modify, and share. Projects like Mozilla Firefox, Linux, and of course, Python, thrive on community-driven efforts.

3. Benefits of Open Source Projects

The key benefits of open source are rapid innovation through diverse contributions, high-quality peer-reviewed code, global access to tools, and enhanced collaboration within a strong community.

4. Making Open Source Contributions

Contributing to open-source data projects is easier than you think! Whether adding features, fixing bugs, or improving documentation, every contribution counts. For example, pandas has over 2,000 contributors. These efforts enhance your skills, build your reputation, and allow global collaboration.

5. Transitioning to InnerSource

Let's apply those principles with InnerSource, a development model using GitHub to boost collaboration, transparency, and innovation. By adopting these practices, we can enhance teamwork, ensure project accessibility, and drive progress securely.

6. InnerSource Overview

InnerSource applies open-source practices within our organization, focusing on transparency, collaboration, and shared ownership. It involves setting up internal repositories and using GitHub to standardize contributions with pull request and issue templates.

7. Internal Repositories

When setting up a repository, users can select private or public, while organizations have an extra option: internal. Internal repos automatically grant read access to all organization members.

8. Changing Repository to Internal

Our organization decided to move to InnerSource development. Remember our ecommerce-data-hub set to private? Now, Let's go to Settings, then Danger Zone, and change it to internal. This gives all organization members automatic read access.

9. Repository Titles and Templates

For effective collaboration, we ensure repository names are clear and descriptive, like data-pipelines or ml-models, making them easy for colleagues to find. We use issue and pull request templates to keep reporting and submissions consistent.

10. Setting Up Templates

To create templates, set up PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE subfolders in the .github directory of our repository.

11. Creating PR and Issue Templates

In each folder, we create several .md files for our PR and issue templates. These files, like bugfix.md or feature_request.md, help standardize contributions.

12. Using Issue Templates

Finally, when our colleagues open a new issue, they will see these templates to choose from. This ensures every issue is reported consistently, with all necessary details included.

13. Limitations and Challenges of InnerSource

While InnerSource has many benefits, it also brings challenges. Teams might resist changing from traditional methods. Security risks are a concern if data isn't managed well. Effective InnerSource requires strong governance, clear policies, and additional resources and training.

14. Let's practice!

We covered InnerSource, setting up internal repositories, and creating PR/issue templates. Now, let's apply what we've learned!