SlideShare a Scribd company logo
1 of 92
Download to read offline
Markings of a
Healthy OSS Project
Clement Ho
Clement Ho
Frontend Engineering Manager
GitLab
Austin, Texas USA
@ClemMakesApps
Single application for the entire
DevOps lifecycle
We are hiring
jobs.gitlab.com
How do you determine
whether a project is healthy?
There are 3 types of projects
Dead Surviving Thriving
Dead Project
Little to no project activity*
*There are multiple indicators to indicate project activity
Surviving Project
Minimal project activity
Thriving Project
Vibrant project activity
Thriving Project
Have a vibrant future
In an ideal world, we want all
OSS projects to have a future
But, dependencies are easy to
add but difficult to remove
When was the last time you
upgraded a dependency
proactively?
Project dependencies are like
committing to a long term
relationship
Thriving projects should
1. be easy to contribute to
2. be scalable and maintainable
3. have a growing community
4. have a growing reputation
5. have a good leadership team
Thriving projects should be
easy to contribute to
Is there a code of conduct?
Is there a license?
Easy to Contribute
64% of users will decide whether to use your project
67% of users will decide whether to contribute to your
project
Based on your project license,
Open source survey 2017 (https://opensourcesurvey.org/2017/)
Great resources
• Standard code of conduct used by more than 200k projects
• https://www.contributor-covenant.org/
• Learning more about licenses
• https://tldrlegal.com
Are there any well defined first-
time-only issues?
Easy to Contribute
45% of users find it difficult to get
started when contributing to OSS
DigitalOcean October 2018 currents report (https://www.digitalocean.com/currents/october-2018/)
Great resources
• Guide that helps people get started in contributing
• https://www.firsttimersonly.com/
• Another resource that people use to search for first
time issue
• https://up-for-grabs.net/
Is there documentation? Are
there examples? Are the docs
in multiple languages?
Easy to Contribute
Documentation is highly valued,
frequently overlooked, and a means
for establishing inclusive and
accessible communities.
Open source survey 2017 (https://opensourcesurvey.org/2017/)
Are community PRs getting
merged? Are they all bug fixes
or a mixture of features?
Easy to Contribute
All bug fixes => Surviving
All new features => Perfect
Bug fixes + New features => Realistic Goal
Code complete (https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
The industry average is
15-20 errors per 1000 lines of code
Thriving projects should have
a growing community
Are conversations about the
project taking place in a public
medium?
Growing Community
Upgrading to Webpack 4
How many users use this
project?
Growing Community
Wider distribution of PR authors
indicates a wider community
Most of this is
from our CI
Thriving projects should have
a growing reputation
Any companies or
organizations advocating/
partnering with it?
Growing Reputation
Understand the revenue
streams for the project
Is there an increase in search
trends? Tutorials, blog posts or
social media conversations?
Growing Reputation
https://trends.google.com/
Does it have a global
following?
Growing Reputation
Thriving projects should be
scalable and maintainable
Is the code well tested?
Scalable and Maintainable
Don’t let the bar be does it
have tests. Check the tests and
understand them
Is there a good ratio of
maintainers vs contributors?
Scalable and Maintainable
Don’t let maintainers be the
bottleneck for contributors
At GitLab, we aim for a ratio of
1:4 maintainers to contributors
Is there a regular release cycle?
Is it documented?
Scalable and Maintainable
Bugs happen, security
vulnerabilities happen, a clear
release process helps everyone
trust the project more
State of Open Source Security Report 2019 (https://res.cloudinary.com/snyk/image/upload/v1551172581/The-State-Of-Open-Source-Security-Report-2019-Snyk.pdf)
Thriving projects should have
a good leadership team
Is there more than one
maintainer in case something
unforeseen happens?
Leadership
It's a lot of pressure for one
maintainer
What Core Contributors Want (https://medium.com/open-collective/what-core-contributors-want-4e7327ac9180)
If something happens to the
maintainer, that would greatly
negatively impact the project
Is the leadership aligned with
the community?
Leadership
Bottom Line:
Project health and future is
indicated by many data points
Case Study: Weex
Blog posts
Documentation
in multiple
languages
Clear release
process
Has license
Also had code
of conduct (not
in screenshot)
Contribution guide
Instructions on
joining mailing list
Active PR and
issue activity
Inconsistent
release
schedule dates
Odd version
number
increments
New committers are
being added to
project
17 committers but
majority from Asia, this
could have better
representation
Need more committers
outside of Alibaba group
Working towards growing
the community
My evaluation: A-
Thank you

More Related Content

What's hot

What's hot (19)

The Data Behind DevOps: What Does it Take to be a High Performer? Jenkins Wor...
The Data Behind DevOps: What Does it Take to be a High Performer? Jenkins Wor...The Data Behind DevOps: What Does it Take to be a High Performer? Jenkins Wor...
The Data Behind DevOps: What Does it Take to be a High Performer? Jenkins Wor...
 
5 Years of Jenkins and DevOps Trends and What That Means For the Future of t...
5 Years of Jenkins and DevOps Trends and What That Means For the Future of  t...5 Years of Jenkins and DevOps Trends and What That Means For the Future of  t...
5 Years of Jenkins and DevOps Trends and What That Means For the Future of t...
 
MERGE 2016 Opening Remarks
MERGE 2016 Opening RemarksMERGE 2016 Opening Remarks
MERGE 2016 Opening Remarks
 
Manufacturing Plus Open Source Equals DevOps
Manufacturing Plus Open Source Equals DevOpsManufacturing Plus Open Source Equals DevOps
Manufacturing Plus Open Source Equals DevOps
 
What I learned from 5 years of sciencing the crap out of DevOps
What I learned from 5 years of sciencing the crap out of DevOpsWhat I learned from 5 years of sciencing the crap out of DevOps
What I learned from 5 years of sciencing the crap out of DevOps
 
Continuous is great
Continuous is greatContinuous is great
Continuous is great
 
Outpost24 webinar - application security in a dev ops world-08-2018
Outpost24 webinar - application security in a dev ops world-08-2018Outpost24 webinar - application security in a dev ops world-08-2018
Outpost24 webinar - application security in a dev ops world-08-2018
 
The Data Behind DevOps: Becoming a High Performer
The Data Behind DevOps: Becoming a High PerformerThe Data Behind DevOps: Becoming a High Performer
The Data Behind DevOps: Becoming a High Performer
 
Seven Sequential Steps for DevOps Success
Seven Sequential Steps for DevOps SuccessSeven Sequential Steps for DevOps Success
Seven Sequential Steps for DevOps Success
 
Coordination and Productivity Issues in Free Software: The Role of Brooks' Law
Coordination and Productivity Issues in Free Software: The Role of Brooks' LawCoordination and Productivity Issues in Free Software: The Role of Brooks' Law
Coordination and Productivity Issues in Free Software: The Role of Brooks' Law
 
2017 Q1 Open Source Support Briefing
2017 Q1 Open Source Support Briefing2017 Q1 Open Source Support Briefing
2017 Q1 Open Source Support Briefing
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 
Findings Revealed: 2015 State of the Software Supply Chain
Findings Revealed: 2015 State of the Software Supply Chain Findings Revealed: 2015 State of the Software Supply Chain
Findings Revealed: 2015 State of the Software Supply Chain
 
Essentials of Open Source Documentation
Essentials of Open Source DocumentationEssentials of Open Source Documentation
Essentials of Open Source Documentation
 
DevSecOps and the New Path Forward
DevSecOps and the New Path ForwardDevSecOps and the New Path Forward
DevSecOps and the New Path Forward
 
Silver Lining for Miles: DevOps for Building Security Solutions
Silver Lining for Miles: DevOps for Building Security SolutionsSilver Lining for Miles: DevOps for Building Security Solutions
Silver Lining for Miles: DevOps for Building Security Solutions
 
GLASSCon 2.5 Dev Ops Sparkler
GLASSCon 2.5 Dev Ops SparklerGLASSCon 2.5 Dev Ops Sparkler
GLASSCon 2.5 Dev Ops Sparkler
 
Secrets and surprises of high performance: What the data says
Secrets and surprises of high performance: What the data saysSecrets and surprises of high performance: What the data says
Secrets and surprises of high performance: What the data says
 
Amy DeMartine - 7 Habits of Rugged DevOps
Amy DeMartine - 7 Habits of Rugged DevOpsAmy DeMartine - 7 Habits of Rugged DevOps
Amy DeMartine - 7 Habits of Rugged DevOps
 

Similar to Markings of a Healthy OSS Project

Agile For Harel 4 08 V1
Agile For Harel 4 08 V1Agile For Harel 4 08 V1
Agile For Harel 4 08 V1
Pini Cohen
 

Similar to Markings of a Healthy OSS Project (20)

Software Development Analytics Intro. Twitter OSS workshop
Software Development Analytics Intro. Twitter OSS workshopSoftware Development Analytics Intro. Twitter OSS workshop
Software Development Analytics Intro. Twitter OSS workshop
 
Owasp summit debrief v1.0 (jun 2017)
Owasp summit debrief v1.0 (jun 2017)Owasp summit debrief v1.0 (jun 2017)
Owasp summit debrief v1.0 (jun 2017)
 
Top 5 Takeaways from the 2018 Global Developer Survey
Top 5 Takeaways from the 2018 Global Developer SurveyTop 5 Takeaways from the 2018 Global Developer Survey
Top 5 Takeaways from the 2018 Global Developer Survey
 
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
2019-03 - An introduction to FINOS
2019-03 - An introduction to FINOS2019-03 - An introduction to FINOS
2019-03 - An introduction to FINOS
 
DevOps Roadtrip - Denver
DevOps Roadtrip - DenverDevOps Roadtrip - Denver
DevOps Roadtrip - Denver
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
Agile For Harel 4 08 V1
Agile For Harel 4 08 V1Agile For Harel 4 08 V1
Agile For Harel 4 08 V1
 
Dzr guide to_enterprise_integration
Dzr guide to_enterprise_integrationDzr guide to_enterprise_integration
Dzr guide to_enterprise_integration
 
Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...
 
AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
 
Shipping to Learn and Accelerate Growth with GitHub
Shipping to Learn and Accelerate Growth with GitHubShipping to Learn and Accelerate Growth with GitHub
Shipping to Learn and Accelerate Growth with GitHub
 
Scaling Software Delivery.pdf
Scaling Software Delivery.pdfScaling Software Delivery.pdf
Scaling Software Delivery.pdf
 
BUDDY White Paper
BUDDY White PaperBUDDY White Paper
BUDDY White Paper
 
The biggest DevOps problems you didn't know you had and what to do about them
The biggest DevOps problems you didn't know you had and what to do about themThe biggest DevOps problems you didn't know you had and what to do about them
The biggest DevOps problems you didn't know you had and what to do about them
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
Why is Open Source Important to Samsung and What Are We Doing About It?
Why is Open Source Important to Samsung and What Are We Doing About It?Why is Open Source Important to Samsung and What Are We Doing About It?
Why is Open Source Important to Samsung and What Are We Doing About It?
 
InnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationInnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaboration
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Markings of a Healthy OSS Project