SlideShare a Scribd company logo
1 of 28
Becoming an awesome Open
Source Contributor
#CodeMotionTLV
DEMO!
Hello
I’m Christos
christosmatskas
cmatskas
https://cmatskas.com
Enterprise Projects
Mobile applications
Side Projects
My First Pull Request
My contributions
What is Open Source
Open source software is software whose
source code is available for modification or
enhancement by anyone.
- OpenSource.com
Open-source software (OSS) is computer
software with its source code made available
with a license in which the copyright holder
provides the rights to study, change, and
distribute the software to anyone and for any
purpose.
- Wikipedia
Open Source is Community
•US Department of Defence
•The City Of Munich, Germany
•Spain
•Federal Aviation Administration (FAA)
•The Stock Market
•French Parliament
•Cuba
Examples of OSS
Apple
Apple
"Linux is not in the public domain. Linux is
a cancer that attaches itself in an
intellectual property sense to everything
it touches. That's the way that the license
works."
- Steve Ballmer, CEO, Microsoft, June 2001.
Microsoft
The new Open Source Microsoft
Over 40 OSS projects
including ASP.NET, CoreFX
Roslyn etc
Microsoft
• Node.js
• Angular.js
• Bootstrap
• Too many to list here
Myriad Other Projects
• It’s cool
• You’ll make new friends
• You’ll become a better developer
• It’s great for your CV
• Free stuff
Why you should get involved
Why I like to OSS?
Making better software by
standing on the shoulders of
giants
Recipe to a successful OSS
1. Find a project to contribute
2. Write Code
3. Submit a PR
4. ?????
5. $$$$$$$$$$
Starting your journey
• Useful project sources
• Up-for-grabs.net
• https://github.com
• http://www.firsttimersonly.com/
Contributor checklist
Learn how to Git – vital
Read the contribution
instructions
Contact the owner
Don’t change coding standards
Attach related unit tests
Attach screenshots of bugs
Be patient
Maintainer = RockStar!
Maintainer checklist
Don’t create software for the
sake of it
Create contribution guidelines
Add Unit Tests
Add setup instructions
Be open to criticism
Be supportive to new members
Include a Code of Conduct
You Rock!
The community would like to
say THANKS.
Useful links
• https://up-for-grab.net
• https://github.com
• First time with open source
• Becoming an awesome OSS
contributor
• @yourfirstpr
• Book – The Cathedral & the Bazaar
Questions
?????

More Related Content

Viewers also liked

Viewers also liked (13)

TutorCertificate
TutorCertificateTutorCertificate
TutorCertificate
 
AFerrigno 1-6-2015
AFerrigno 1-6-2015AFerrigno 1-6-2015
AFerrigno 1-6-2015
 
Different types of retailers
Different types of retailersDifferent types of retailers
Different types of retailers
 
Fotomapa
FotomapaFotomapa
Fotomapa
 
Reflexiones
ReflexionesReflexiones
Reflexiones
 
Sistemas operativos cordova gonxzalez julio
Sistemas operativos  cordova gonxzalez julioSistemas operativos  cordova gonxzalez julio
Sistemas operativos cordova gonxzalez julio
 
IAC lança projeto de validação de Mudas Pré-Brotadas
IAC lança projeto de validação de Mudas Pré-BrotadasIAC lança projeto de validação de Mudas Pré-Brotadas
IAC lança projeto de validação de Mudas Pré-Brotadas
 
cara Merubah jar2exe
cara Merubah jar2execara Merubah jar2exe
cara Merubah jar2exe
 
Obesity
ObesityObesity
Obesity
 
Web 2 assessment pres2
Web 2 assessment pres2Web 2 assessment pres2
Web 2 assessment pres2
 
The Kanban System applied to Services
The Kanban System applied to ServicesThe Kanban System applied to Services
The Kanban System applied to Services
 
Projeto eja cultural sre carangola
Projeto eja cultural   sre carangolaProjeto eja cultural   sre carangola
Projeto eja cultural sre carangola
 
Ensayo de hoteles
Ensayo de hotelesEnsayo de hoteles
Ensayo de hoteles
 

Similar to How to become an awesome oss

How to become an awesome Open Source contributor
How to become an awesome Open Source contributorHow to become an awesome Open Source contributor
How to become an awesome Open Source contributorChristos Matskas
 
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
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)dmgerman
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentationJavier Perez
 
Open source software
Open source softwareOpen source software
Open source softwarejaimeacurry
 
Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseMarcel de Vries
 
Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
Open source and then some: An Introduction
Open source and then some: An IntroductionOpen source and then some: An Introduction
Open source and then some: An IntroductionAkash Tandon
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...WSO2
 
Scale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessScale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessStephen Walli
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Stefane Fermigier
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupBen VanEvery
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Build your business on top of Open Source
Build your business on top of Open SourceBuild your business on top of Open Source
Build your business on top of Open SourceAntonio Peric-Mazar
 
open source technology
open source technologyopen source technology
open source technologyparmsidhu
 

Similar to How to become an awesome oss (20)

How to become an awesome Open Source contributor
How to become an awesome Open Source contributorHow to become an awesome Open Source contributor
How to become an awesome Open Source contributor
 
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!
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Introduction To Open Source
Introduction To Open SourceIntroduction To Open Source
Introduction To Open Source
 
Open source software
Open source softwareOpen source software
Open source software
 
Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterprise
 
gsoc
gsocgsoc
gsoc
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
Open source and then some: An Introduction
Open source and then some: An IntroductionOpen source and then some: An Introduction
Open source and then some: An Introduction
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
 
Scale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessScale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project Success
 
Case study
Case studyCase study
Case study
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?
 
Open Source & Open Development
Open Source & Open Development Open Source & Open Development
Open Source & Open Development
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Build your business on top of Open Source
Build your business on top of Open SourceBuild your business on top of Open Source
Build your business on top of Open Source
 
Open Source
Open SourceOpen Source
Open Source
 
open source technology
open source technologyopen source technology
open source technology
 

More from Christos Matskas

Introduction to the Microsoft identity platform for developers
Introduction to the Microsoft identity platform for developersIntroduction to the Microsoft identity platform for developers
Introduction to the Microsoft identity platform for developersChristos Matskas
 
Secure and scalable apps with .net and azure
Secure and scalable apps with .net and azureSecure and scalable apps with .net and azure
Secure and scalable apps with .net and azureChristos Matskas
 
Azure Managed Identities and service principals
Azure Managed Identities and service principalsAzure Managed Identities and service principals
Azure Managed Identities and service principalsChristos Matskas
 
Scalable APIs with Azure Functions
Scalable APIs with Azure FunctionsScalable APIs with Azure Functions
Scalable APIs with Azure FunctionsChristos Matskas
 
0 to hero with Azure DevOps
0 to hero with Azure DevOps0 to hero with Azure DevOps
0 to hero with Azure DevOpsChristos Matskas
 
Serverless architecture with Azure
Serverless architecture with AzureServerless architecture with Azure
Serverless architecture with AzureChristos Matskas
 
Extreme microservices with Azure Functions
Extreme microservices with Azure FunctionsExtreme microservices with Azure Functions
Extreme microservices with Azure FunctionsChristos Matskas
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with FunctionsChristos Matskas
 
Serverless with azure functions the rebel service
Serverless with azure functions   the rebel serviceServerless with azure functions   the rebel service
Serverless with azure functions the rebel serviceChristos Matskas
 
Becoming an awesome Open Source contributor and maintainer
Becoming an awesome Open Source contributor and maintainerBecoming an awesome Open Source contributor and maintainer
Becoming an awesome Open Source contributor and maintainerChristos Matskas
 
Visual Studio Code and JavaScript - a pair made in heaven
Visual Studio Code and JavaScript - a pair made in heavenVisual Studio Code and JavaScript - a pair made in heaven
Visual Studio Code and JavaScript - a pair made in heavenChristos Matskas
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with FunctionsChristos Matskas
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure FunctionsChristos Matskas
 
Universal windows platform - Application development done right
Universal windows platform - Application development done rightUniversal windows platform - Application development done right
Universal windows platform - Application development done rightChristos Matskas
 
TypeScript - Your regular JavaScript on steroids
TypeScript - Your regular JavaScript on steroidsTypeScript - Your regular JavaScript on steroids
TypeScript - Your regular JavaScript on steroidsChristos Matskas
 
IoT fun with Raspberry Pi and .NET
IoT fun with Raspberry Pi and .NETIoT fun with Raspberry Pi and .NET
IoT fun with Raspberry Pi and .NETChristos Matskas
 
Mobile application architecture
Mobile application architectureMobile application architecture
Mobile application architectureChristos Matskas
 
Visual Studio 2015 - Productivity tips & tricks
Visual Studio 2015 -  Productivity tips & tricksVisual Studio 2015 -  Productivity tips & tricks
Visual Studio 2015 - Productivity tips & tricksChristos Matskas
 
Common mistakes in tdd can you guess
Common mistakes in tdd   can you guessCommon mistakes in tdd   can you guess
Common mistakes in tdd can you guessChristos Matskas
 
Getting Started With Microsoft Azure
Getting Started With Microsoft AzureGetting Started With Microsoft Azure
Getting Started With Microsoft AzureChristos Matskas
 

More from Christos Matskas (20)

Introduction to the Microsoft identity platform for developers
Introduction to the Microsoft identity platform for developersIntroduction to the Microsoft identity platform for developers
Introduction to the Microsoft identity platform for developers
 
Secure and scalable apps with .net and azure
Secure and scalable apps with .net and azureSecure and scalable apps with .net and azure
Secure and scalable apps with .net and azure
 
Azure Managed Identities and service principals
Azure Managed Identities and service principalsAzure Managed Identities and service principals
Azure Managed Identities and service principals
 
Scalable APIs with Azure Functions
Scalable APIs with Azure FunctionsScalable APIs with Azure Functions
Scalable APIs with Azure Functions
 
0 to hero with Azure DevOps
0 to hero with Azure DevOps0 to hero with Azure DevOps
0 to hero with Azure DevOps
 
Serverless architecture with Azure
Serverless architecture with AzureServerless architecture with Azure
Serverless architecture with Azure
 
Extreme microservices with Azure Functions
Extreme microservices with Azure FunctionsExtreme microservices with Azure Functions
Extreme microservices with Azure Functions
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with Functions
 
Serverless with azure functions the rebel service
Serverless with azure functions   the rebel serviceServerless with azure functions   the rebel service
Serverless with azure functions the rebel service
 
Becoming an awesome Open Source contributor and maintainer
Becoming an awesome Open Source contributor and maintainerBecoming an awesome Open Source contributor and maintainer
Becoming an awesome Open Source contributor and maintainer
 
Visual Studio Code and JavaScript - a pair made in heaven
Visual Studio Code and JavaScript - a pair made in heavenVisual Studio Code and JavaScript - a pair made in heaven
Visual Studio Code and JavaScript - a pair made in heaven
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with Functions
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure Functions
 
Universal windows platform - Application development done right
Universal windows platform - Application development done rightUniversal windows platform - Application development done right
Universal windows platform - Application development done right
 
TypeScript - Your regular JavaScript on steroids
TypeScript - Your regular JavaScript on steroidsTypeScript - Your regular JavaScript on steroids
TypeScript - Your regular JavaScript on steroids
 
IoT fun with Raspberry Pi and .NET
IoT fun with Raspberry Pi and .NETIoT fun with Raspberry Pi and .NET
IoT fun with Raspberry Pi and .NET
 
Mobile application architecture
Mobile application architectureMobile application architecture
Mobile application architecture
 
Visual Studio 2015 - Productivity tips & tricks
Visual Studio 2015 -  Productivity tips & tricksVisual Studio 2015 -  Productivity tips & tricks
Visual Studio 2015 - Productivity tips & tricks
 
Common mistakes in tdd can you guess
Common mistakes in tdd   can you guessCommon mistakes in tdd   can you guess
Common mistakes in tdd can you guess
 
Getting Started With Microsoft Azure
Getting Started With Microsoft AzureGetting Started With Microsoft Azure
Getting Started With Microsoft Azure
 

Recently uploaded

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

How to become an awesome oss

Editor's Notes

  1. Becoming an awesome open source contributor. Wow, how does one really become one? I know I never imagined I would be one even as my career progressed. In fact, my first brush with Open Source was quite accidental. About a year ago I joined a large corporation to work on a big customer facing project. The code base was in dire state so one of my first tasks was to tidy things up. If you are a .NET developer, you will already know that all our external libraries come through NuGet. Most of them anyway. NuGet is Visual Studio's package manager. NuGet works in 2 modes. Download all the packages locally and store them as part of the solution, or use the package config file to instruct the solution to download the packages the first time a developer or the CI runs the build. Obviously, I decided to implement option 2 and break everything! So once I broke the build for everyone, I started working on reverting the changes. Unfortunately, once you "go NuGet you never go back", so the roll back was a painful process of reaping out xml from our project files. Since I knew that I'm not the only one that has done this tragic error, I blogged about it. Next time I have to roll back, I'll know exactly what to do. I blogged and tweeted about it, in hope that one of my 740 following bots would retweeted ( by now I'm convinced that I have no human followers). Lo and behold, within a couple of hours, the NuGet team contacts me saying that they loved my post and whether I could add it to the official NuGet documentation. That same documentation that millions of .NET developers use around the world. Me? The next few hours are a blur. I'm in a mess of documentation trying to understand forks and pull requests etc etc. I finally mange to send the PR in and have it merged. This is my PR:
  2. That first PR and Jeff’s encouragement were enough to create an extremely enthusiastic and passionate OSS developer. In the past year I've not only contributed to a large number of OSS projects but I've also managed to get my own projects published. And it all started off by chance.
  3. The gist of it is that OSS is free and available for modification and distribution. You can use, copy and change the code as you see fit. One important thing to note, however, is that there are different OSS licences so you need to make sure that the code you wish to alter has the right licence attached to it.
  4. Open Source is what makes the development world go round. At some point in your development career you've used, or you will use, Open Source in a project in order to implement a feature, solve a problem or enhance some existing functionality. Today, more than ever, we rely on Open Source when creating new applications, even if we don't realize it. There are thousands upon thousands of developers and millions of hours spent on developing and writing about Open Source. It's not just the code behind each project. It's the documentation, tests, reviews, roadmaps, planning, features, bugs and so on. And all these people do it because they love what they do and because they have a purpose. To help the community become bigger and better. Let’s look at some examples of interesting projects using open source:
  5. Even big software companies today actively support and contribute to OSS. Companies that in the past were so against Open Source!
  6. For me, one of the biggest benefits is the agility and ease of use that OSS provides. I can build better software by standing on the shoulders of giants! The first thing I do when I need to add new functionality is to look up for the library: What I can Do If I like a library or a project, I use it. If I find that it works but it's not exactly what I need, I fork the project and build something better. Then I have the option to contribute back to the original project through a Pull Request. If the owner likes it, then my changes can be incorporated into the project. If not we go our separate ways and continue to maintain our different versions of the software. What I don't have to do Wait for a patch release by the project owner Wait for the next major release in order to have my feature or bug resolved. Moan about the luck of features on the internet It doesn't get more agile than this!
  7. Unfortunately, unless you're extremely lucky, your OSS won't make you rich. It will, however, benefit you in many ways and allow you to grow as a developer. There are different ways to get started. My journey to Open Source begun totally off chance. A good friend of mine made an excellent contribution last year during Microsoft's //Build conference. Scott Hanselman was on stage pressing the publish button on the .NET CoreFX project - the cross platform .NET framework. As this was live and the code available, Adam decided to pull it and run it locally out of curiosity. The first thing any developer does when faced with a new library is to go into the tests and run them to see how the code works. Within a couple of minutes, the tests failed due to different language culture settings. So he fixed it and made a PR request to the project owners, which was, surprise surprise, accepted an merged. AT the same time, Scott is on stage with Miguel De Icaza, the guy behind Mono.NET and Xamarin thinking that they are raising the first Pull Request. The whole thing was ruined! But not in a bad way. In fact, Scott commented live about how engaged the community is.
  8. Your journey in OSS doesn't have to be the same. In fact, there are several ways one can get involved, contribute and add value. First, you need to find a language and project you're passionate about. The easiest way to find a project you can work on is through public repos, such as Github. Search for the language you like and find a project of interest. Another option is the Up-For-Grabs.net website that contains a list of projects that have issues that need attention and are open to the community.. If you're not comfortable with writing code, maybe you can contribute with documentation. There are thousands of projects that lack good documentation and some of them have none at all. Alternatively, you could contribute by writing unit tests. As with documentation, you'll find lots of projects that are in dire need of unit tests. Apparently there are still people that don't write tests? Shocked? Don't be! Once you overcome your initial "fear" and you feel brave enough, start forking and write some code. When you're done and you believe that your work is ready to be part of the original project you can send a Pull Request (PR), sit back and enjoy.
  9. I believe that Git is the biggest barrier in getting started with Open Source. The workflow is sometimes daunting to new users so you need to have a good grasp of terms like: Pull Request Merging Rebasing Cherry Picking etc Github provides a good, solid GUI but eventually you’ll have to drop down to the command line. There’s plenty of written material and tutorials out there that can help you become a Git ninja! There is an etiquette for contributing, so make sure you read each project's contribution requirements first. Before you go ahead and code your awesome bug fix or feature, ensure that there isn't an open issue already. Contact the project owner to let them know that you wish to help. Inform them of your intentions and this will give your PR better chances in being accepted right away. Also, try not to change coding standards or use automated tools to suppress errors, white space or remove/add comments. It's important you follow the coding standards of the project even if you don't agree with them. You can certainly discuss them with the project owners but I can guarantee you're going to fail if you go ahead and be brave. No matter what happens, don't be discouraged if your PR is not accepted. Find out why and work harder to fix it accordingly before re-submitting.
  10. To begin with, I would advise against you creating software for the sake of writing software. If you want your project to succeed, make it useful, make it meaningful and be passionate about it. Also, some of the most successful OSS projects started as someone's library (Automapper for example, has over 4M downloads and Underscore.js 8.3M downloads only last month!). Both these projects begun their lives as someone's utility and once the developers recognized the value, they shared their code.
  11. If you've decided to create your first OSS then we, the community, would like to thank you for your awesome, awesome, effort. You don't get paid, yet you choose to create something and share it with us. You rock! It is at this point that I would like to stress out that the OSS community owes you, not the other way around. If you feel that you’re getting abuse for no reason or things are not working out, then don’t worry about it. Do’t feel guilty. Eventually someone will come along and pick up the project. OSS is awesome and it's what makes to development world go round. OSS is consumed everywhere and even large corporations, who once stood against OSS, are starting to not only support but actively contribute. Because we all want to make better software for everyone. We live through some really exciting times and I, for one, am thrilled to be part of this community, at this time. Note that we always need more contributors to help out with the load, so I would urge you to go out there today and share your knowledge and passion with the rest of us. Find a project that you love, use or hate and make it better :)