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

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

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 :)