SlideShare a Scribd company logo
HOW TO AVOID
CREATING A
GITHUB
JUNKYARD
LAURI APPLE, ZALANDO
On the Menu
● Intro
● Asking Why Before Hitting Publish
● Building Junkyards: A Case Study
● Cleaning Up: The Big Dig
● Closing: Status report, learnings
About You
● Managing a GitHub org?
● GH manager at company?
● Do OSS b/c fun?
● Proud workaholic?
About Me
● Agile producer (coach+PM)
● OSS Evangelist for 1700+ techs
● Open Org Ambassador (Red Hat)
Primary Projects:
● LappleApple/Feedmereadmes: README
help, project advice, maturity model
● LappleApple/awesome-leading-and-managing
● 15 countries
● 20+ million active customers
● ~3.6 billion € net sales
● 200,000+ products
● 12,000+ employees
● 200+ million visits/month
About Zalando
http://zalando.github.io/
● Polyglot, poly-org (four)
● Big on infra, APIs
● Maturing: quality over quantity
Zalando.github.io
Why We Open Source
● Personal development
● Give back
● Improve quality
● Reputation
● Recruitment
But Why Do We OSS?
● Motivations?
● Why this way?
● Why make so much
ourselves?
● Is it sustainable?
— Kind?
— A burden?
https://www.flickr.com/photos/ksayer/5614813544/
Why I Ask Why
Print Journalism Online Blogging
Craftsmanship, relationships Speed, volume, anonymity
Limited space Unlimited space
Best editors were hardest Editor also time-crunched
Software Hamsters
● Busy = status symbol
○ Fun
○ Heroism
○ Pressure
● Burns us out
○ Multitasking -10 IQ points (Levitin)
● http://www.talenteconomy.io/2017/05/04/busy-now-status-symbol-needs-stop/
● https://www.flickr.com/photos/haundreis/2760350708
https://medium.com/@jboogie/everyone-is-too-busy-is-not-a-prioritization-strategy-45ac4d525ab5
Asked a Colleague
Q: Do you actually enjoy
maintaining all that stuff?
A: That’s a hard question
Should it be hard?
Asked Another Colleague
Q: What if GitHub charged per repo?
A: “LOL … we would change a bunch of things”
Why not change the things
now, voluntarily?
OSS Isn’t Really Free
● Cost: maintenance, goodwill, perspective
● Craftsmanship suffers
● “Throwaway” aspect
● If no one editing => GitHub junkyard
2017 Microservices Practitioner Virtual Summit: How to Avoid Creating a GitHub Junkyard - Lauri Apple
https://www.flickr.com/photos/hugo90/5116732240/
Building Junkyards: A Case Study
2008-2015: Command & Control
We Made a Little FOSS
Octocat: “I’m
still hungry”
Switch to Autonomy/Mastery/Purpose Model
● Autonomous teams
● Open Source First
● Choose your stack
● Share your code (and do other
stuff, but ...)
● Share we did
Our GitHub Release Cycle
Jan 2016: 400 projects
● Open sourcing all the things
● “Coding in the open”: Z-specific
● Didn’t know what we had
● Compulsive release cycle
● Not asking why/what value
Our GitHub Junkyard: Lots of Dogs
● Not friendly
● Quality varied
● Stability unclear
● Missing docs, tests, files
● Not responding to PRs
How We Were Building OSS
High Friction Was Our Aesthetic
● Works well, but ...
● Lots of moving parts/onboarding
● Value hidden
● Team realized it
eventually
● Now: deprecating
● GitHub charged?
● Asked community?
● More time?
● Thought about costs?
Would We Have Build It This Way If...
● Want new, novel
● Pressures
● “No time”
● “Might be useful”
● Nostalgia
● “True OSS = share
everything”
https://www.flickr.com/photos/daveseven/6044653558
We Don’t Plan Junkyards
Harsh OSS Ecosystems :(
Finding theCleaning up: The Big Dig
https://www.flickr.com/photos/inetflash/
Goals:
● Apply basic storytelling
● Craftsmanship focus
● Sustainability, less is more
Rare chance to shape culture at mega-scale
Takes a While, and Requires Care
What’s Fast:
○ Guidelines
○ Templates
○ New orgs
What’s Slow:
○ Craftsman mindset
○ Culture shift
○ Trust-building
https://www.flickr.com/photos/elephantom/391190
Guidelines: Minimum Viable Process
Supporting Resources
● Templates: README, product, .md files
● Guidance for asking why, what, how
● Recycled
https://github.com/zalando/zalando-howto-open-source
Organize Repos
Craftsmanship Coaching
● Discipline => freedom
● Avoid burnout
● Optimize
● Plan
● Customers
● Are we solving problems? For whom?
1.5 Years In ...
● 55 repos
● More “why”
● Community-oriented
● Project discovery
● Archiving to GHE
● Nike, Starbucks
● Tests, docs, files
● Incubator: from +8 pages to 1.5
Challenges
https://www.flickr.com/photos/kamshots/9692645837
Craftsmanship Habits Take Time
● “Put it on GitHub” = done
● MVP: No != Not Yet
● FOMO
● Complying != not intrinsic
Motivation
● Dreaming bigger
https://www.flickr.com/photos/26675187@N03/5466550549
Getting Friendlier Over Time
● READMEs help to ...
○ Managing expectations better
○ ETA for responses to PRs
○ Build status
○ Clarity about plans
○ If working software not the
goal, can say so
Getting Leads/Heads Buy-in
● Delivery pressure
● Don’t always analyze “busy”
● Product mindset not for all
● Delegation
● Technical debt: something to
complain about, not fix
Need Maturity Model Mindset
● OSS strategy
● Incubator cleanup
● Peer Review Group
● Mgmt support
● Community non-negotiable
● Training, coaching
Closing Tips
● 1. Clean up, don’t wait
● 2. New? Start now
● 3. Ask why
● 4. Don’t make cleanup your burden
○ Slack
○ Keep it simple
“The moment a new contributor posts a PR or a draft
patch, a timer starts. The longer maintainers take to
respond to their submission, the lower the chance that
person will ever contribute to the project again.” —
@fuzzychef
And then you might have a junkyard
https://community.redhat.com/blog/2017/04/
contributors-speed-matters/
Please Respond to People
Thanks!
● Zalando.github.io
● github.com/lappleapple/feedmereadmes
● @lauritaapplez
● lauri.apple@zalando.de

More Related Content

PDF
Moving our company site to drupal 8: Break the Ice!
PDF
Be your own boss - An intro to freelancing
PDF
Boost your development speed - ITAKE Unconference
PDF
Software Development Lifecycles
ODP
Building A devopsy Team
PPTX
How to get your first job at the Israeli high tech industry
PDF
DevOps for Engineers
PDF
Agile experience design part 2
Moving our company site to drupal 8: Break the Ice!
Be your own boss - An intro to freelancing
Boost your development speed - ITAKE Unconference
Software Development Lifecycles
Building A devopsy Team
How to get your first job at the Israeli high tech industry
DevOps for Engineers
Agile experience design part 2

Similar to 2017 Microservices Practitioner Virtual Summit: How to Avoid Creating a GitHub Junkyard - Lauri Apple (20)

PDF
We Need to Talk: How Communication Helps Code
PDF
Publishing your open source project
PDF
Teach yourself Ruby on Rails
PDF
ADDO 2019: Looking back at over 10 years of Devops
PPTX
Journey to Google
PDF
Overcoming the Fear of Contributing to Open Source
PPTX
Заняття #1. Intro to Product Management
PDF
Kickstarting career as an Android developer.pdf
PDF
Techhub Riga - tm 27.07
PDF
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
PDF
Before you graduate. Things to learn for every computer science student
PDF
Confluence + jira together
PDF
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
PDF
Being Productive at Work
PDF
GitLab webcast - Release 8.4
ODP
How to make your own WordPress website
PDF
Tools and libraries for common problems (Early Draft)
PDF
Joomla World Conference 2016 GSoC and Joomla
PDF
Scaling humans
PPTX
LET'S TALK ANDROID Dev
We Need to Talk: How Communication Helps Code
Publishing your open source project
Teach yourself Ruby on Rails
ADDO 2019: Looking back at over 10 years of Devops
Journey to Google
Overcoming the Fear of Contributing to Open Source
Заняття #1. Intro to Product Management
Kickstarting career as an Android developer.pdf
Techhub Riga - tm 27.07
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Before you graduate. Things to learn for every computer science student
Confluence + jira together
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
Being Productive at Work
GitLab webcast - Release 8.4
How to make your own WordPress website
Tools and libraries for common problems (Early Draft)
Joomla World Conference 2016 GSoC and Joomla
Scaling humans
LET'S TALK ANDROID Dev
Ad

More from Ambassador Labs (20)

PDF
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
PDF
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
PDF
Cloud native development without the toil
PPTX
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
PDF
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
PDF
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
PDF
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
PDF
What's New in the Ambassador Edge Stack 1.0?
PDF
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
PDF
Ambassador: Building a Control Plane for Envoy
PDF
Telepresence - Fast Development Workflows for Kubernetes
PDF
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
PDF
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
PDF
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
PDF
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
PDF
Ambassador Kubernetes-Native API Gateway
PPTX
Micro xchg 2018 - What is a Service Mesh?
PDF
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
PDF
Webinar: Code Faster on Kubernetes
PDF
QCon SF 2017 - Microservices: Service-Oriented Development
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Cloud native development without the toil
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
What's New in the Ambassador Edge Stack 1.0?
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Ambassador: Building a Control Plane for Envoy
Telepresence - Fast Development Workflows for Kubernetes
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
Ambassador Kubernetes-Native API Gateway
Micro xchg 2018 - What is a Service Mesh?
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)
Webinar: Code Faster on Kubernetes
QCon SF 2017 - Microservices: Service-Oriented Development
Ad

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
history of c programming in notes for students .pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Introduction to Artificial Intelligence
PPTX
Transform Your Business with a Software ERP System
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
L1 - Introduction to python Backend.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
System and Network Administration Chapter 2
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
wealthsignaloriginal-com-DS-text-... (1).pdf
history of c programming in notes for students .pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Introduction to Artificial Intelligence
Transform Your Business with a Software ERP System
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
L1 - Introduction to python Backend.pptx
Design an Analysis of Algorithms I-SECS-1021-03
System and Network Administration Chapter 2
Navsoft: AI-Powered Business Solutions & Custom Software Development
Understanding Forklifts - TECH EHS Solution
How to Migrate SBCGlobal Email to Yahoo Easily
Wondershare Filmora 15 Crack With Activation Key [2025
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Upgrade and Innovation Strategies for SAP ERP Customers

2017 Microservices Practitioner Virtual Summit: How to Avoid Creating a GitHub Junkyard - Lauri Apple

  • 1. HOW TO AVOID CREATING A GITHUB JUNKYARD LAURI APPLE, ZALANDO
  • 2. On the Menu ● Intro ● Asking Why Before Hitting Publish ● Building Junkyards: A Case Study ● Cleaning Up: The Big Dig ● Closing: Status report, learnings
  • 3. About You ● Managing a GitHub org? ● GH manager at company? ● Do OSS b/c fun? ● Proud workaholic?
  • 4. About Me ● Agile producer (coach+PM) ● OSS Evangelist for 1700+ techs ● Open Org Ambassador (Red Hat) Primary Projects: ● LappleApple/Feedmereadmes: README help, project advice, maturity model ● LappleApple/awesome-leading-and-managing
  • 5. ● 15 countries ● 20+ million active customers ● ~3.6 billion € net sales ● 200,000+ products ● 12,000+ employees ● 200+ million visits/month About Zalando
  • 7. ● Polyglot, poly-org (four) ● Big on infra, APIs ● Maturing: quality over quantity Zalando.github.io
  • 8. Why We Open Source ● Personal development ● Give back ● Improve quality ● Reputation ● Recruitment
  • 9. But Why Do We OSS? ● Motivations? ● Why this way? ● Why make so much ourselves? ● Is it sustainable? — Kind? — A burden? https://www.flickr.com/photos/ksayer/5614813544/
  • 10. Why I Ask Why Print Journalism Online Blogging Craftsmanship, relationships Speed, volume, anonymity Limited space Unlimited space Best editors were hardest Editor also time-crunched
  • 11. Software Hamsters ● Busy = status symbol ○ Fun ○ Heroism ○ Pressure ● Burns us out ○ Multitasking -10 IQ points (Levitin) ● http://www.talenteconomy.io/2017/05/04/busy-now-status-symbol-needs-stop/ ● https://www.flickr.com/photos/haundreis/2760350708
  • 13. Asked a Colleague Q: Do you actually enjoy maintaining all that stuff? A: That’s a hard question Should it be hard?
  • 14. Asked Another Colleague Q: What if GitHub charged per repo? A: “LOL … we would change a bunch of things” Why not change the things now, voluntarily?
  • 15. OSS Isn’t Really Free ● Cost: maintenance, goodwill, perspective ● Craftsmanship suffers ● “Throwaway” aspect ● If no one editing => GitHub junkyard
  • 19. We Made a Little FOSS Octocat: “I’m still hungry”
  • 20. Switch to Autonomy/Mastery/Purpose Model ● Autonomous teams ● Open Source First ● Choose your stack ● Share your code (and do other stuff, but ...) ● Share we did
  • 22. Jan 2016: 400 projects ● Open sourcing all the things ● “Coding in the open”: Z-specific ● Didn’t know what we had ● Compulsive release cycle ● Not asking why/what value
  • 23. Our GitHub Junkyard: Lots of Dogs ● Not friendly ● Quality varied ● Stability unclear ● Missing docs, tests, files ● Not responding to PRs
  • 24. How We Were Building OSS
  • 25. High Friction Was Our Aesthetic ● Works well, but ... ● Lots of moving parts/onboarding ● Value hidden ● Team realized it eventually ● Now: deprecating
  • 26. ● GitHub charged? ● Asked community? ● More time? ● Thought about costs? Would We Have Build It This Way If...
  • 27. ● Want new, novel ● Pressures ● “No time” ● “Might be useful” ● Nostalgia ● “True OSS = share everything” https://www.flickr.com/photos/daveseven/6044653558 We Don’t Plan Junkyards
  • 29. Finding theCleaning up: The Big Dig https://www.flickr.com/photos/inetflash/ Goals: ● Apply basic storytelling ● Craftsmanship focus ● Sustainability, less is more Rare chance to shape culture at mega-scale
  • 30. Takes a While, and Requires Care What’s Fast: ○ Guidelines ○ Templates ○ New orgs What’s Slow: ○ Craftsman mindset ○ Culture shift ○ Trust-building https://www.flickr.com/photos/elephantom/391190
  • 32. Supporting Resources ● Templates: README, product, .md files ● Guidance for asking why, what, how ● Recycled https://github.com/zalando/zalando-howto-open-source
  • 34. Craftsmanship Coaching ● Discipline => freedom ● Avoid burnout ● Optimize ● Plan ● Customers ● Are we solving problems? For whom?
  • 35. 1.5 Years In ... ● 55 repos ● More “why” ● Community-oriented ● Project discovery ● Archiving to GHE ● Nike, Starbucks ● Tests, docs, files ● Incubator: from +8 pages to 1.5
  • 37. Craftsmanship Habits Take Time ● “Put it on GitHub” = done ● MVP: No != Not Yet ● FOMO ● Complying != not intrinsic Motivation ● Dreaming bigger https://www.flickr.com/photos/26675187@N03/5466550549
  • 38. Getting Friendlier Over Time ● READMEs help to ... ○ Managing expectations better ○ ETA for responses to PRs ○ Build status ○ Clarity about plans ○ If working software not the goal, can say so
  • 39. Getting Leads/Heads Buy-in ● Delivery pressure ● Don’t always analyze “busy” ● Product mindset not for all ● Delegation ● Technical debt: something to complain about, not fix
  • 40. Need Maturity Model Mindset ● OSS strategy ● Incubator cleanup ● Peer Review Group ● Mgmt support ● Community non-negotiable ● Training, coaching
  • 41. Closing Tips ● 1. Clean up, don’t wait ● 2. New? Start now ● 3. Ask why ● 4. Don’t make cleanup your burden ○ Slack ○ Keep it simple
  • 42. “The moment a new contributor posts a PR or a draft patch, a timer starts. The longer maintainers take to respond to their submission, the lower the chance that person will ever contribute to the project again.” — @fuzzychef And then you might have a junkyard https://community.redhat.com/blog/2017/04/ contributors-speed-matters/ Please Respond to People