SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Contributing to
Open Source
• What is open source?
• How to contribute
• My experiences
About me
What is open source?
Literally means:



The source code is published with a license potentially
allowing modification and distribution of the code
Usually means:



The code is written collaboratively on GitHub
Free as in beer?
Free as in speech?
"Open" means free
A few examples
Linux
Firefox
Free Code Camp
React JS
FontAwesome
For the author/maintainer:
• Lots of testers and people reporting bugs
• Anyone can fix bugs and add features
• More people will use and know how to use the project
• Interact with users/developers through GitHub
• Great for recruiting
Pros of open source
For the developer/user:
• You can fork and modify the code however you need
• You can rely on this code even if the company creating it goes
out of business
• Development progress is transparent on GitHub
• Improve your reputation by contributing
Pros of open source
Cons of open source
For the author/maintainer:
• It’s hard to build a business around open source
• Very time-consuming if it isn’t your full-time job
• People expect a lot from you (e.g. free support)
Cons of open source
For the developer/user:
• You can’t necessarily expect support from the authors
• If the project isn’t backed by a company, it can stop suddenly
How to contribute
What to contribute?
Code
Ideas
Designs
Documentation
Support
Choosing a project
• Contribute to something you use
• Fix a bug or add a feature
• Merge a fork "upstream"
• Start your own
• Look at a list of open source projects• Look at a list of open source projects
Contributing to something you use
Why something you use?
• You’ll understand what the project is supposed to do and why
• You’ll be familiar with the API (which parts are good vs. bad)
• You’ll have concrete test cases in your existing work
• You’ll be meticulous in your contributions, since you’ll use them
• You can have well-informed conversations with contributors
Contributing to something you use
How to get started
• Just jump in and start reading the codebase
• Fix a small bug or add a small option to a feature
• Try something more challenging (e.g. big feature)
• Inform the authors on GitHub
• Discuss the task in detail
My experiences
A few projects I’ve contributed to
React Native
CodeMirror
FramerJS
A few projects I’ve created
Deco IDE
React Native Express
React Native Web Player
Let’s take a look…
That’s all, good luck!
@devinaabbott
Questions, comments, etc

Contenu connexe

Tendances

Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeSambhu Lakshmanan
 
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / GraphsIntroduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / GraphsRahat Khanna a.k.a mAppMechanic
 
An Introduction to ReactNative
An Introduction to ReactNativeAn Introduction to ReactNative
An Introduction to ReactNativeMichał Taberski
 
React native-meetup-talk
React native-meetup-talkReact native-meetup-talk
React native-meetup-talkkiranabburi
 
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native BostonPutting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Bostonstan229
 
React Native Intro
React Native IntroReact Native Intro
React Native IntroJulia Vi
 
Optimizing React Native views for pre-animation
Optimizing React Native views for pre-animationOptimizing React Native views for pre-animation
Optimizing React Native views for pre-animationModusJesus
 
Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"Fwdays
 
What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?Evan Stone
 
Android development at mercari 2015
Android development at mercari 2015Android development at mercari 2015
Android development at mercari 2015Tomoaki Imai
 
Isolated React Js components
Isolated React Js componentsIsolated React Js components
Isolated React Js componentsAbe García
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)Alvaro Sanchez-Mariscal
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeWaqqas Jabbar
 
Test Driven Development in CQ5/AEM
Test Driven Development in CQ5/AEMTest Driven Development in CQ5/AEM
Test Driven Development in CQ5/AEMSagar Sane
 

Tendances (20)

Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / GraphsIntroduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / Graphs
 
An Introduction to ReactNative
An Introduction to ReactNativeAn Introduction to ReactNative
An Introduction to ReactNative
 
React native-meetup-talk
React native-meetup-talkReact native-meetup-talk
React native-meetup-talk
 
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native BostonPutting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Boston
 
React Native Intro
React Native IntroReact Native Intro
React Native Intro
 
Optimizing React Native views for pre-animation
Optimizing React Native views for pre-animationOptimizing React Native views for pre-animation
Optimizing React Native views for pre-animation
 
React Native
React NativeReact Native
React Native
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Cypress workshop for JSFoo 2019
Cypress  workshop for JSFoo 2019Cypress  workshop for JSFoo 2019
Cypress workshop for JSFoo 2019
 
Titanium @ Minnebar
Titanium @ MinnebarTitanium @ Minnebar
Titanium @ Minnebar
 
Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"
 
Nativescript
NativescriptNativescript
Nativescript
 
What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?
 
Android development at mercari 2015
Android development at mercari 2015Android development at mercari 2015
Android development at mercari 2015
 
Isolated React Js components
Isolated React Js componentsIsolated React Js components
Isolated React Js components
 
Learn Once; Write Anywhere
Learn Once; Write AnywhereLearn Once; Write Anywhere
Learn Once; Write Anywhere
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Test Driven Development in CQ5/AEM
Test Driven Development in CQ5/AEMTest Driven Development in CQ5/AEM
Test Driven Development in CQ5/AEM
 

En vedette

Configuracion,estilos,secciones
Configuracion,estilos,seccionesConfiguracion,estilos,secciones
Configuracion,estilos,seccionesDAYCIQUISHPE
 
Gdz angliskiy kalinina_2014
Gdz angliskiy kalinina_2014Gdz angliskiy kalinina_2014
Gdz angliskiy kalinina_2014Lucky Alex
 
Gdz ridna mova_pentuluk_2006
Gdz ridna mova_pentuluk_2006Gdz ridna mova_pentuluk_2006
Gdz ridna mova_pentuluk_2006Lucky Alex
 
El desarrollo sustentable y los procesos en la informatica
El desarrollo sustentable y los procesos en la informaticaEl desarrollo sustentable y los procesos en la informatica
El desarrollo sustentable y los procesos en la informaticaAdalif Mora
 
Citas y organizaciones
Citas y organizacionesCitas y organizaciones
Citas y organizacionesDAYCIQUISHPE
 
Capturas wwe (3)
Capturas wwe (3)Capturas wwe (3)
Capturas wwe (3)Isaacklilop
 
Promoting a Fit and Active Future
Promoting a Fit and Active FuturePromoting a Fit and Active Future
Promoting a Fit and Active FutureLogan Profetto
 
Your Family is not obese yet
Your Family is not obese yetYour Family is not obese yet
Your Family is not obese yetTomas Kennedy
 
PGH-UP College of Medicine Social Media Policy DRAFT
PGH-UP College of Medicine Social Media Policy DRAFT PGH-UP College of Medicine Social Media Policy DRAFT
PGH-UP College of Medicine Social Media Policy DRAFT Iris Thiele Isip-Tan
 
Securing Medical Devices Using Adaptive Testing Methodologies
Securing Medical Devices Using Adaptive Testing MethodologiesSecuring Medical Devices Using Adaptive Testing Methodologies
Securing Medical Devices Using Adaptive Testing MethodologiesDaniel Miessler
 
NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...
NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...
NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...selcancinar
 
Health Literacy for Young Scientists
Health Literacy for Young ScientistsHealth Literacy for Young Scientists
Health Literacy for Young ScientistsIris Thiele Isip-Tan
 
RTI against Supreme Court of India dated 05.01.2017
RTI  against Supreme Court of India dated 05.01.2017 RTI  against Supreme Court of India dated 05.01.2017
RTI against Supreme Court of India dated 05.01.2017 Om Prakash Poddar
 
強化学習その2
強化学習その2強化学習その2
強化学習その2nishio
 
全脳アーキテクチャ若手の会 強化学習
全脳アーキテクチャ若手の会 強化学習全脳アーキテクチャ若手の会 強化学習
全脳アーキテクチャ若手の会 強化学習kwp_george
 
対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習
対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習
対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習Takahiro Kubo
 
Aortic aneurysm and low back pain ... The forgotten red flag!
Aortic aneurysm and low back pain ... The forgotten red flag!Aortic aneurysm and low back pain ... The forgotten red flag!
Aortic aneurysm and low back pain ... The forgotten red flag!Alan J Taylor
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計Takahiro Kubo
 
強化学習入門
強化学習入門強化学習入門
強化学習入門Shunta Saito
 

En vedette (20)

Configuracion,estilos,secciones
Configuracion,estilos,seccionesConfiguracion,estilos,secciones
Configuracion,estilos,secciones
 
Gdz angliskiy kalinina_2014
Gdz angliskiy kalinina_2014Gdz angliskiy kalinina_2014
Gdz angliskiy kalinina_2014
 
Gdz ridna mova_pentuluk_2006
Gdz ridna mova_pentuluk_2006Gdz ridna mova_pentuluk_2006
Gdz ridna mova_pentuluk_2006
 
El desarrollo sustentable y los procesos en la informatica
El desarrollo sustentable y los procesos en la informaticaEl desarrollo sustentable y los procesos en la informatica
El desarrollo sustentable y los procesos en la informatica
 
Citas y organizaciones
Citas y organizacionesCitas y organizaciones
Citas y organizaciones
 
Capturas wwe (3)
Capturas wwe (3)Capturas wwe (3)
Capturas wwe (3)
 
Promoting a Fit and Active Future
Promoting a Fit and Active FuturePromoting a Fit and Active Future
Promoting a Fit and Active Future
 
Your Family is not obese yet
Your Family is not obese yetYour Family is not obese yet
Your Family is not obese yet
 
PGH-UP College of Medicine Social Media Policy DRAFT
PGH-UP College of Medicine Social Media Policy DRAFT PGH-UP College of Medicine Social Media Policy DRAFT
PGH-UP College of Medicine Social Media Policy DRAFT
 
Social Media & Healthcare
Social Media & HealthcareSocial Media & Healthcare
Social Media & Healthcare
 
Securing Medical Devices Using Adaptive Testing Methodologies
Securing Medical Devices Using Adaptive Testing MethodologiesSecuring Medical Devices Using Adaptive Testing Methodologies
Securing Medical Devices Using Adaptive Testing Methodologies
 
NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...
NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...
NANOTECHNOLOGY APPLICATIONS AND EMERGING OPPORTUNITIES FOR CLEAN WATER #scich...
 
Health Literacy for Young Scientists
Health Literacy for Young ScientistsHealth Literacy for Young Scientists
Health Literacy for Young Scientists
 
RTI against Supreme Court of India dated 05.01.2017
RTI  against Supreme Court of India dated 05.01.2017 RTI  against Supreme Court of India dated 05.01.2017
RTI against Supreme Court of India dated 05.01.2017
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 
全脳アーキテクチャ若手の会 強化学習
全脳アーキテクチャ若手の会 強化学習全脳アーキテクチャ若手の会 強化学習
全脳アーキテクチャ若手の会 強化学習
 
対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習
対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習
対話破綻検出チャレンジ2016: NCMを用いた対話と破綻の同時学習
 
Aortic aneurysm and low back pain ... The forgotten red flag!
Aortic aneurysm and low back pain ... The forgotten red flag!Aortic aneurysm and low back pain ... The forgotten red flag!
Aortic aneurysm and low back pain ... The forgotten red flag!
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
強化学習入門
強化学習入門強化学習入門
強化学習入門
 

Similaire à Contributing to open source

How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
How to manage an open source project
How to manage an open source projectHow to manage an open source project
How to manage an open source projectJuanjo Bazán
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liuStreamNative
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!Pradeep Singh
 
Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
How to contribute to open source
How to contribute to open sourceHow to contribute to open source
How to contribute to open sourceAlbert Wong
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colomboSagara Gunathunga
 
The Open Source Way - @JBCNConf Closing Keynote 2016
The Open Source Way - @JBCNConf Closing Keynote 2016The Open Source Way - @JBCNConf Closing Keynote 2016
The Open Source Way - @JBCNConf Closing Keynote 2016Mauricio (Salaboy) Salatino
 
Open Source Software Contribution
Open Source Software ContributionOpen Source Software Contribution
Open Source Software ContributionSamundra khatri
 
Overcoming the Fear of Contributing to Open Source
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
 
Creating and Maintaining an Open Source Library
Creating and Maintaining an Open Source LibraryCreating and Maintaining an Open Source Library
Creating and Maintaining an Open Source LibraryNicholas Schweitzer
 
InnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationInnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationJulian Werba
 
Docs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesDocs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesAnne Gentle
 
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?gagravarr
 
What is open source?
What is open source?What is open source?
What is open source?Ahmet Bulut
 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreenloriayre
 
Osgeo incubation-2014
Osgeo incubation-2014Osgeo incubation-2014
Osgeo incubation-2014Jody Garnett
 
You don't need to be a ninja rockstar to contribute to Open Source
You don't need to be a ninja rockstar to contribute to Open SourceYou don't need to be a ninja rockstar to contribute to Open Source
You don't need to be a ninja rockstar to contribute to Open SourceMark Baker
 
Contributing to Open Source Software
Contributing to Open Source SoftwareContributing to Open Source Software
Contributing to Open Source SoftwareMike Lively
 

Similaire à Contributing to open source (20)

How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
How to manage an open source project
How to manage an open source projectHow to manage an open source project
How to manage an open source project
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liu
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
How to contribute to open source
How to contribute to open sourceHow to contribute to open source
How to contribute to open source
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colombo
 
The Open Source Way - @JBCNConf Closing Keynote 2016
The Open Source Way - @JBCNConf Closing Keynote 2016The Open Source Way - @JBCNConf Closing Keynote 2016
The Open Source Way - @JBCNConf Closing Keynote 2016
 
Open Source Software Contribution
Open Source Software ContributionOpen Source Software Contribution
Open Source Software Contribution
 
Overcoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
 
Creating and Maintaining an Open Source Library
Creating and Maintaining an Open Source LibraryCreating and Maintaining an Open Source Library
Creating and Maintaining an Open Source Library
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
InnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationInnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaboration
 
Docs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesDocs Like Code: Strategies and Stories
Docs Like Code: Strategies and Stories
 
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
 
What is open source?
What is open source?What is open source?
What is open source?
 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreen
 
Osgeo incubation-2014
Osgeo incubation-2014Osgeo incubation-2014
Osgeo incubation-2014
 
You don't need to be a ninja rockstar to contribute to Open Source
You don't need to be a ninja rockstar to contribute to Open SourceYou don't need to be a ninja rockstar to contribute to Open Source
You don't need to be a ninja rockstar to contribute to Open Source
 
Contributing to Open Source Software
Contributing to Open Source SoftwareContributing to Open Source Software
Contributing to Open Source Software
 

Dernier

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Dernier (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

Contributing to open source

  • 2. • What is open source? • How to contribute • My experiences
  • 4. What is open source?
  • 5. Literally means:
 
 The source code is published with a license potentially allowing modification and distribution of the code Usually means:
 
 The code is written collaboratively on GitHub
  • 6. Free as in beer? Free as in speech? "Open" means free
  • 7. A few examples Linux Firefox Free Code Camp React JS FontAwesome
  • 8. For the author/maintainer: • Lots of testers and people reporting bugs • Anyone can fix bugs and add features • More people will use and know how to use the project • Interact with users/developers through GitHub • Great for recruiting Pros of open source
  • 9. For the developer/user: • You can fork and modify the code however you need • You can rely on this code even if the company creating it goes out of business • Development progress is transparent on GitHub • Improve your reputation by contributing Pros of open source
  • 10. Cons of open source For the author/maintainer: • It’s hard to build a business around open source • Very time-consuming if it isn’t your full-time job • People expect a lot from you (e.g. free support)
  • 11. Cons of open source For the developer/user: • You can’t necessarily expect support from the authors • If the project isn’t backed by a company, it can stop suddenly
  • 14. Choosing a project • Contribute to something you use • Fix a bug or add a feature • Merge a fork "upstream" • Start your own • Look at a list of open source projects• Look at a list of open source projects
  • 15. Contributing to something you use Why something you use? • You’ll understand what the project is supposed to do and why • You’ll be familiar with the API (which parts are good vs. bad) • You’ll have concrete test cases in your existing work • You’ll be meticulous in your contributions, since you’ll use them • You can have well-informed conversations with contributors
  • 16. Contributing to something you use How to get started • Just jump in and start reading the codebase • Fix a small bug or add a small option to a feature • Try something more challenging (e.g. big feature) • Inform the authors on GitHub • Discuss the task in detail
  • 18. A few projects I’ve contributed to React Native CodeMirror FramerJS A few projects I’ve created Deco IDE React Native Express React Native Web Player
  • 19. Let’s take a look…
  • 20. That’s all, good luck! @devinaabbott Questions, comments, etc