Managing an InnerSource Program

Intermediate GitHub Concepts

Stan Konkin

ML Enthusiast, DataCamp

Introduction to Open Source Projects

 

 

  • 🔓 Open Code: Anyone can use and improve it
  • 👥 Global Collaboration: Developers contribute worldwide
  • Continuous Innovation: Driven by community needs

 

Mozilla Firefox Logo

 

Linux Logo

Python Logo

Intermediate GitHub Concepts

Benefits of Open Source Projects

 

  • 🚀 Rapid Innovation: Progress through diverse input
  • 🛠 High Quality: Peer-reviewed, reliable code
  • 🌎 Global Access: Free tools for everyone
  • 🔥 Strong Community: Enhanced collaboration and solutions

An illustration showing the benefits of open source

Intermediate GitHub Concepts

Making Open Source Contributions

 

  • 💻 Contribute: Add features, fix bugs, improve docs
  • 👨‍💻 Skill Growth: Boost your technical expertise
  • 👤 Build Reputation: Gain recognition in the data community
  • 👥 Collaborate Globally: Work with experts, impact key tools

Pandas Logo

A cool open-source contributor working on a laptop

Intermediate GitHub Concepts

Transitioning to InnerSource

 

  • InnerSource: A development model for internal collaboration
  • 👨‍💻 Enhance Collaboration: Boost teamwork and sharing
  • 👤 Ensure Transparency: Keep projects open to all teams

InnerSource Development

Intermediate GitHub Concepts

InnerSource Overview

 

  • 💻 Applying open-source practices internally
  • 👥 Transparency, collaboration, shared ownership
  • 🛠 Internal repos, standardized contributions with templates

InnerSource Development

Intermediate GitHub Concepts

Internal Repositories

 

  • 🛠 Repo Types: Choose private, public, or internal
  • 👥 Internal Repos: Auto-read access for all org members

Creating an internal repository

Intermediate GitHub Concepts

Changing Repository to Internal

Changing our ecommerce-data-hub Repository to Internal

Intermediate GitHub Concepts

Repository Titles and Templates

 

  • 📃 Clear Titles: Use descriptive names like data-pipelines or ml-models
  • 📝 Issue Templates: Standardize issue reporting
  • 📄 PR Templates: Guide how changes are submitted

Easily looking for information

Intermediate GitHub Concepts

Setting Up Templates

Setting up PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE subfolders

Intermediate GitHub Concepts

Creating PR and Issue Templates

PR templates

Issue templates

Intermediate GitHub Concepts

Using Issue Templates

Creating a new issue

Using a Bug report template

Intermediate GitHub Concepts

Limitations and Challenges of InnerSource

 

  • Resistance: Teams may prefer traditional methods
  • 🔒 Security: Risk of exposing sensitive data
  • 🔧 Governance: Needs strong policies
  • 📊 Resources: Requires extra resources and training

InnerSource Development

Intermediate GitHub Concepts

Let's practice!

Intermediate GitHub Concepts

Preparing Video For Download...