KEMBAR78
How to Contribute to Open Source | PDF
How to Contribute to
Open Source Projects
“The power of Open Source is the power
of the people. The people rule.”
– Philippe Kahn
Open Source
software for which the original source
code is made freely available and
may be redistributed and modified
“When I first got into technology I didn't really understand what open
source was. Once I started writing software, I realized how important
this would be. For me, open source is a moral thing.”
– Matt Mullenweg (WP)
“In real open source, you have the right to control your own destiny.”
– Linus Torvalds (Git)
“The only reason I've managed to run this open source project, is
that I have learned to delegate even the delegation to other people.”
– Larry Wall (Perl)
Languages
Ruby, Java, Python, Elixir, Swift, Perl, C, PHP,
Clojure, R, Haskell, and many more…
Companies
Google, Facebook, Twitter, Github, RedHat, Salesforce,
DigitalOcean, GE, NYSE, Chevron, Mastercard, LinkedIn,
Mozilla Foundation, Square
Top languages on Github over time
Government
• 18f - civic consultancy for the federal gov’t
• Indian Government recently adopted Open-Source
Why should you care?
• Create the future: tools we use daily
• Stand on the Shoulders of Giants: reading code will make
you a better developer
• Experience: contribute to software that most developers
and companies use
• Network: almost every company you want to work for
uses or is influenced by open source software
How can you help?
• Mild: spread knowledge, answer questions
- blog, tweet, stackoverflow, user group
• Medium: fix docs, report bugs
- api examples & project wikis, submit pull requests
• Hot: fix pull requests, check code coverage
- github, codetriage, openhatch
Where do you start?
Start by exploring a codebase you use…
• Discuss the good and bad
• What software impresses you?
• Where are you interested in working?
Process
Github => Readme => Contributing Page
1. policies, testing, style guide
2. set-up scripts
3. fork repo and run test suite
4. read codebase, become familiar
Practice reading code (don’t be intimidated), figure
out what’s going on
Resources
Forums & Mailing Lists
• http://www.codetriage.com/ or https://openhatch.org/
Search Company Pages
• https://developers.google.com/open-source/projects
Language Docs
• http://documenting-ruby.org/

How to Contribute to Open Source

  • 1.
    How to Contributeto Open Source Projects “The power of Open Source is the power of the people. The people rule.” – Philippe Kahn
  • 2.
    Open Source software forwhich the original source code is made freely available and may be redistributed and modified
  • 3.
    “When I firstgot into technology I didn't really understand what open source was. Once I started writing software, I realized how important this would be. For me, open source is a moral thing.” – Matt Mullenweg (WP) “In real open source, you have the right to control your own destiny.” – Linus Torvalds (Git) “The only reason I've managed to run this open source project, is that I have learned to delegate even the delegation to other people.” – Larry Wall (Perl)
  • 4.
    Languages Ruby, Java, Python,Elixir, Swift, Perl, C, PHP, Clojure, R, Haskell, and many more… Companies Google, Facebook, Twitter, Github, RedHat, Salesforce, DigitalOcean, GE, NYSE, Chevron, Mastercard, LinkedIn, Mozilla Foundation, Square
  • 5.
    Top languages onGithub over time
  • 6.
    Government • 18f -civic consultancy for the federal gov’t • Indian Government recently adopted Open-Source
  • 7.
    Why should youcare? • Create the future: tools we use daily • Stand on the Shoulders of Giants: reading code will make you a better developer • Experience: contribute to software that most developers and companies use • Network: almost every company you want to work for uses or is influenced by open source software
  • 8.
    How can youhelp? • Mild: spread knowledge, answer questions - blog, tweet, stackoverflow, user group • Medium: fix docs, report bugs - api examples & project wikis, submit pull requests • Hot: fix pull requests, check code coverage - github, codetriage, openhatch
  • 9.
    Where do youstart? Start by exploring a codebase you use… • Discuss the good and bad • What software impresses you? • Where are you interested in working?
  • 10.
    Process Github => Readme=> Contributing Page 1. policies, testing, style guide 2. set-up scripts 3. fork repo and run test suite 4. read codebase, become familiar Practice reading code (don’t be intimidated), figure out what’s going on
  • 11.
    Resources Forums & MailingLists • http://www.codetriage.com/ or https://openhatch.org/ Search Company Pages • https://developers.google.com/open-source/projects Language Docs • http://documenting-ruby.org/