Contributing to open source is easier than you think

R
@rouanw rouanw.github.io
Contributing to Open Source
is easier than you think
This looks daunting
This looks daunting
PRINCIPLE 1
Use open source software
First contribution
Didn’t work!
First contribution
Options:
1) Write a bad test
2) Do the promise wrangling ourselves
3) Fix it
First contribution
PRINCIPLE 2
It’s just code
Second contribution
+
😭=
Second contribution
Two days later…
A month later…
PRINCIPLE 3
It feels good to be part of a
community
Documentation
redux-form
knife-solo_data_bag
PRINCIPLE 4
Every little helps
Techniques
Contribute auxiliary code
• Used a library to flatten objects
• It didn’t flatten nested objects
• Wrote some code to do that
Open a pull request
Use the new version
Another example
Another example
PRINCIPLE 5
Your trash could be someone
else’s treasure
PRINCIPLE 6
Contributing to open source can
be part of your day job
Fork the code
Point to your fork
Update when merged
Hey, I made that!
PRINCIPLE 7
If something doesn’t do exactly
what you want, change it
Share your utility code
Contributing to open source is easier than you think
dotfiles
PRINCIPLE 8
Work in the open
(if it doesn’t need to be private, share it)
Do it as part of your job
PRINCIPLE 9
Advocate for open source
Start a project
Contributing to open source is easier than you think
Help from others
PRINCIPLE 10
Other people can help you
Reasons I contribute to OSS
• Feels good to be helpful
• Fun to work on projects with different tech and styles
• Gives me confidence
• Helps my personal brand
• Helps potential employers get to know me
@rouanw rouanw.github.io
Contributing to Open Source
is easier than you think
1 of 40

Recommended

Software-Native metrics: Depsy lessons learned by
Software-Native metrics: Depsy lessons learnedSoftware-Native metrics: Depsy lessons learned
Software-Native metrics: Depsy lessons learnedHeather Piwowar
608 views40 slides
How to contribute back to Open Source by
How to contribute back to Open SourceHow to contribute back to Open Source
How to contribute back to Open SourceWojciech Koszek
333 views106 slides
How to contribute to open source by
How to contribute to open sourceHow to contribute to open source
How to contribute to open sourceAlbert Wong
1.3K views11 slides
PyGotham opening the magic box by
PyGotham  opening the magic boxPyGotham  opening the magic box
PyGotham opening the magic boxMeg Ray
512 views53 slides
Learn to Code with MIT App Inventor ( PDFDrive ).pdf by
Learn to Code with MIT App Inventor ( PDFDrive ).pdfLearn to Code with MIT App Inventor ( PDFDrive ).pdf
Learn to Code with MIT App Inventor ( PDFDrive ).pdfNemoPalleschi
31 views165 slides
How to write maintainable code - Peter Hilton - Codemotion Amsterdam 2017 by
How to write maintainable code - Peter Hilton - Codemotion Amsterdam 2017How to write maintainable code - Peter Hilton - Codemotion Amsterdam 2017
How to write maintainable code - Peter Hilton - Codemotion Amsterdam 2017Codemotion
976 views53 slides

More Related Content

Similar to Contributing to open source is easier than you think

Overcoming the Fear of Contributing to Open Source by
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceAll Things Open
94 views35 slides
Jonathan bright - collecting social media data with the python programming la... by
Jonathan bright - collecting social media data with the python programming la...Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...oiisdp
863 views48 slides
Intro to Python for C# Developers by
Intro to Python for C# DevelopersIntro to Python for C# Developers
Intro to Python for C# DevelopersSarah Dutkiewicz
600 views37 slides
SAD08 - Working With Others by
SAD08 - Working With OthersSAD08 - Working With Others
SAD08 - Working With OthersMichael Heron
385 views24 slides
Easy and affordable user testing - Front Trends 2017 by
Easy and affordable user testing - Front Trends 2017Easy and affordable user testing - Front Trends 2017
Easy and affordable user testing - Front Trends 2017Ida Aalen
696 views66 slides
Python_Introduction&DataType.pptx by
Python_Introduction&DataType.pptxPython_Introduction&DataType.pptx
Python_Introduction&DataType.pptxHaythamBarakeh1
15 views38 slides

Similar to Contributing to open source is easier than you think(20)

Overcoming the Fear of Contributing to Open Source by All Things Open
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
All Things Open94 views
Jonathan bright - collecting social media data with the python programming la... by oiisdp
Jonathan bright - collecting social media data with the python programming la...Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...
oiisdp863 views
SAD08 - Working With Others by Michael Heron
SAD08 - Working With OthersSAD08 - Working With Others
SAD08 - Working With Others
Michael Heron385 views
Easy and affordable user testing - Front Trends 2017 by Ida Aalen
Easy and affordable user testing - Front Trends 2017Easy and affordable user testing - Front Trends 2017
Easy and affordable user testing - Front Trends 2017
Ida Aalen696 views
Accelerating New Materials Design with Supercomputing and Machine Learning by Anubhav Jain
Accelerating New Materials Design with Supercomputing and Machine LearningAccelerating New Materials Design with Supercomputing and Machine Learning
Accelerating New Materials Design with Supercomputing and Machine Learning
Anubhav Jain42 views
How To Contribute Drupalcon by guestc9344e
How To Contribute   DrupalconHow To Contribute   Drupalcon
How To Contribute Drupalcon
guestc9344e2.3K views
Never show a design you haven't tested by Ida Aalen
Never show a design you haven't testedNever show a design you haven't tested
Never show a design you haven't tested
Ida Aalen595 views
Python Tricks That You Can't Live Without by Audrey Roy
Python Tricks That You Can't Live WithoutPython Tricks That You Can't Live Without
Python Tricks That You Can't Live Without
Audrey Roy29.6K views
Python_Interview_Questions.pdf by Samir Paul
Python_Interview_Questions.pdfPython_Interview_Questions.pdf
Python_Interview_Questions.pdf
Samir Paul20 views
TDD — Are you sure you properly test code? by Dmitriy Nesteryuk
TDD — Are you sure you properly test code?TDD — Are you sure you properly test code?
TDD — Are you sure you properly test code?
Dmitriy Nesteryuk530 views
WordCamp US: Clean Code by mtoppa
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
mtoppa12K views
Use The Source Join The Force by Mark Steve Samson | DevCon Summit 2015 #GoO... by DEVCON
Use The Source Join The Force by Mark Steve Samson  | DevCon Summit 2015 #GoO...Use The Source Join The Force by Mark Steve Samson  | DevCon Summit 2015 #GoO...
Use The Source Join The Force by Mark Steve Samson | DevCon Summit 2015 #GoO...
DEVCON 1K views
GeneralAssemb.ly Summer Program: Tech from the Ground Up by Daniel Doubrovkine
GeneralAssemb.ly Summer Program: Tech from the Ground UpGeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground Up
Daniel Doubrovkine530 views
Search enabled applications with lucene.net by Willem Meints
Search enabled applications with lucene.netSearch enabled applications with lucene.net
Search enabled applications with lucene.net
Willem Meints1.5K views

More from rouanw

NDC Security 2023 by
NDC Security 2023NDC Security 2023
NDC Security 2023rouanw
8 views24 slides
Is this okay!? DevSecCon ⚡ 2022 by
Is this okay!? DevSecCon ⚡ 2022Is this okay!? DevSecCon ⚡ 2022
Is this okay!? DevSecCon ⚡ 2022rouanw
8 views19 slides
Fail better with QA in Production by
Fail better with QA in ProductionFail better with QA in Production
Fail better with QA in Productionrouanw
738 views37 slides
Qa in production singular 2019 by
Qa in production   singular 2019Qa in production   singular 2019
Qa in production singular 2019rouanw
108 views37 slides
How to review a pull request by
How to review a pull requestHow to review a pull request
How to review a pull requestrouanw
447 views31 slides
Rouan's design principles by
Rouan's design principlesRouan's design principles
Rouan's design principlesrouanw
79 views19 slides

More from rouanw(20)

NDC Security 2023 by rouanw
NDC Security 2023NDC Security 2023
NDC Security 2023
rouanw8 views
Is this okay!? DevSecCon ⚡ 2022 by rouanw
Is this okay!? DevSecCon ⚡ 2022Is this okay!? DevSecCon ⚡ 2022
Is this okay!? DevSecCon ⚡ 2022
rouanw8 views
Fail better with QA in Production by rouanw
Fail better with QA in ProductionFail better with QA in Production
Fail better with QA in Production
rouanw738 views
Qa in production singular 2019 by rouanw
Qa in production   singular 2019Qa in production   singular 2019
Qa in production singular 2019
rouanw108 views
How to review a pull request by rouanw
How to review a pull requestHow to review a pull request
How to review a pull request
rouanw447 views
Rouan's design principles by rouanw
Rouan's design principlesRouan's design principles
Rouan's design principles
rouanw79 views
The curious case of the production incident by rouanw
The curious case of the production incidentThe curious case of the production incident
The curious case of the production incident
rouanw351 views
QA in Production: The tests we never wrote and the production monitoring we u... by rouanw
QA in Production: The tests we never wrote and the production monitoring we u...QA in Production: The tests we never wrote and the production monitoring we u...
QA in Production: The tests we never wrote and the production monitoring we u...
rouanw509 views
Organised chaos: real-world JavaScript microservices by rouanw
Organised chaos: real-world JavaScript microservicesOrganised chaos: real-world JavaScript microservices
Organised chaos: real-world JavaScript microservices
rouanw684 views
How to write a blog post by rouanw
How to write a blog postHow to write a blog post
How to write a blog post
rouanw399 views
QA in Production by rouanw
QA in ProductionQA in Production
QA in Production
rouanw720 views
Dashboards: Using data to find out what's really going on by rouanw
Dashboards: Using data to find out what's really going onDashboards: Using data to find out what's really going on
Dashboards: Using data to find out what's really going on
rouanw4.8K views
Tech lead tips by rouanw
Tech lead tipsTech lead tips
Tech lead tips
rouanw780 views
DevOps Culture by rouanw
DevOps CultureDevOps Culture
DevOps Culture
rouanw1.8K views
Techniques for stress free software releases by rouanw
Techniques for stress free software releasesTechniques for stress free software releases
Techniques for stress free software releases
rouanw768 views
Be a polyglot programmer by rouanw
Be a polyglot programmerBe a polyglot programmer
Be a polyglot programmer
rouanw551 views
Emergent design - PHP Jo'burg 2015 by rouanw
Emergent design - PHP Jo'burg 2015Emergent design - PHP Jo'burg 2015
Emergent design - PHP Jo'burg 2015
rouanw839 views
Infrastructure as code by rouanw
Infrastructure as codeInfrastructure as code
Infrastructure as code
rouanw587 views
ThoughtWorks Tech radar Jan 2014 by rouanw
ThoughtWorks Tech radar Jan 2014ThoughtWorks Tech radar Jan 2014
ThoughtWorks Tech radar Jan 2014
rouanw1.2K views
Continuous Integration by rouanw
Continuous IntegrationContinuous Integration
Continuous Integration
rouanw387 views

Recently uploaded

Citi TechTalk Session 2: Kafka Deep Dive by
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
17 views60 slides
Cycleops - Automate deployments on top of bare metal.pptx by
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptxThanassis Parathyras
31 views12 slides
Winter '24 Release Chat.pdf by
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdfmelbourneauuser
9 views20 slides
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 views15 slides
El Arte de lo Possible by
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo PossibleNeo4j
39 views35 slides
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Flexsin
15 views10 slides

Recently uploaded(20)

Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
Cycleops - Automate deployments on top of bare metal.pptx by Thanassis Parathyras
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptx
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j39 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares12 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... by Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views

Contributing to open source is easier than you think