KEMBAR78
Fundamentals of Open Source Development | ODP
Fundamentals of Open Source Development Leslie Hawthorn, Outreach Manager Jeff Sheltren, Operations Manager August 16, 2011 OSU Picture © Greg Keene
Introduction
What is Open Source? Software that can be freely downloaded, used, modified and redistributed. Generally: Licensed under an OSI-approved license
Who Uses Open Source
Who Uses Open Source TiVo
HD televisions MeeGo
Android
Mozilla
Who Uses Open Source In-flight entertainment Delta
Continental
United
Virgin America
Internet – Powered by Open Source http://news.netcraft.com/archives/2011/01/12/january-2011-web-server-survey-4.html Apache web server: 58,623,115 servers 57.57% of active servers surveyed
Of the top million busiest sites: Over 74% run on open source
Step One: Choosing a Project “Scratch your own itch”
Codes of Conduct Ubuntu's is widely referenced and remixed Be considerate, be respectful, be collaborative Unwritten “Codes of Conduct”
Does this project share  your  values?
Understanding Project Values “ We welcome people of any gender identity or expression, race, ethnicity, size, nationality, sexual orientation, ability level, neurotype, religion, culture, subculture, and political opinion. We welcome activists, artists, bloggers, crafters, dilettantes, musicians, photographers, readers, writers, ordinary people, extraordinary people, and everyone in between. We welcome people who want to change the world, people who want to keep in touch with friends, people who want to make great art, and people who just need a break after work. We welcome fans, geeks, nerds, and pixel-stained technopeasant wretches. We welcome Internet beginners who aren't sure what any of those terms refer to.”
Spend Some Time on the Project Website Start with the “About” Page
Find (or Ask For) Newbie Documentation
Developer Documentation Review Style/Coding Guidelines
Understand the project's workflow for submitting problem reports and fixes Mailing list vs. bug tracker http://www.flickr.com/photos/dance_photographer/4962451349/
What's a Patch? A code snippet to update a part of a larger piece of software
Typically created using the 'diff' tool, or equivalent tool from within a revision control system http://www.flickr.com/photos/dance_photographer/4962451349/
Mailing Lists Are Critical Browse the archives You can't read everything – search! Determine the key players
Asking Questions Write a useful subject line
Show you've done your research
Wait for an answer
What is Top Posting? I really want a pink and yellow pony!! >> What kind of pony would you like? http://www.flickr.com/photos/enigmatic/4037030223/
Basic Netiquette Choose a Reasonable “Handle”

Fundamentals of Open Source Development

  • 1.
    Fundamentals of OpenSource Development Leslie Hawthorn, Outreach Manager Jeff Sheltren, Operations Manager August 16, 2011 OSU Picture © Greg Keene
  • 2.
  • 3.
    What is OpenSource? Software that can be freely downloaded, used, modified and redistributed. Generally: Licensed under an OSI-approved license
  • 4.
  • 5.
    Who Uses OpenSource TiVo
  • 6.
  • 7.
  • 8.
  • 9.
    Who Uses OpenSource In-flight entertainment Delta
  • 10.
  • 11.
  • 12.
  • 13.
    Internet – Poweredby Open Source http://news.netcraft.com/archives/2011/01/12/january-2011-web-server-survey-4.html Apache web server: 58,623,115 servers 57.57% of active servers surveyed
  • 14.
    Of the topmillion busiest sites: Over 74% run on open source
  • 15.
    Step One: Choosinga Project “Scratch your own itch”
  • 16.
    Codes of ConductUbuntu's is widely referenced and remixed Be considerate, be respectful, be collaborative Unwritten “Codes of Conduct”
  • 17.
    Does this projectshare your values?
  • 18.
    Understanding Project Values“ We welcome people of any gender identity or expression, race, ethnicity, size, nationality, sexual orientation, ability level, neurotype, religion, culture, subculture, and political opinion. We welcome activists, artists, bloggers, crafters, dilettantes, musicians, photographers, readers, writers, ordinary people, extraordinary people, and everyone in between. We welcome people who want to change the world, people who want to keep in touch with friends, people who want to make great art, and people who just need a break after work. We welcome fans, geeks, nerds, and pixel-stained technopeasant wretches. We welcome Internet beginners who aren't sure what any of those terms refer to.”
  • 19.
    Spend Some Timeon the Project Website Start with the “About” Page
  • 20.
    Find (or AskFor) Newbie Documentation
  • 21.
    Developer Documentation ReviewStyle/Coding Guidelines
  • 22.
    Understand the project'sworkflow for submitting problem reports and fixes Mailing list vs. bug tracker http://www.flickr.com/photos/dance_photographer/4962451349/
  • 23.
    What's a Patch?A code snippet to update a part of a larger piece of software
  • 24.
    Typically created usingthe 'diff' tool, or equivalent tool from within a revision control system http://www.flickr.com/photos/dance_photographer/4962451349/
  • 25.
    Mailing Lists AreCritical Browse the archives You can't read everything – search! Determine the key players
  • 26.
    Asking Questions Writea useful subject line
  • 27.
    Show you've doneyour research
  • 28.
  • 29.
    What is TopPosting? I really want a pink and yellow pony!! >> What kind of pony would you like? http://www.flickr.com/photos/enigmatic/4037030223/
  • 30.
    Basic Netiquette Choosea Reasonable “Handle”
  • 31.
  • 32.
    Be Formal inYour First Few Posts http://www.flickr.com/photos/4braham/4178258504/ http://www.flickr.com/photos/4braham/4178258504/
  • 33.
    Revision Control (a.k.a. source control, version control) Most code is stored in a revision control system
  • 34.
    Linux uses git,other popular options are Subversion, Bazaar & Mercurial
  • 35.
    Understand revisions, brancheshttp://www.flickr.com/photos/26546578@N06/4193814990/
  • 36.
    Learn to LoveIRC IRC = Internet Relay Chat Read Channel Topic
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
    Ways to GetInvolved File Bugs
  • 42.
    Write Effective BugReports What you were doing
  • 43.
    What you thoughtshould happen
  • 44.
  • 45.
    Software & hardwarespecs http://www.flickr.com/photos/jurvetson/482054617/
  • 46.
    Ways to GetInvolved Check the Issue Tracker for “Easy” or “Beginner” Bugs
  • 47.
  • 48.
    Ways to GetInvolved Triage Bugs
  • 49.
  • 50.
    Point People inthe Right Direction
  • 51.
    Ways to GetInvolved Offer to Document Information You Get
  • 52.
    Press Releases andNewsletters
  • 53.
    Testimonials & Developer/ User Interviews
  • 54.
    Ways to GetInvolved Join or Start a Local User Group
  • 55.
    Offer to Staffa Booth or Table
  • 56.
    Volunteer to Helpat the Next FOSS Conference http://www.flickr.com/photos/richard_jones/3091970504/
  • 57.
    Ways to GetInvolved Create Training Materials: How To's, Tutorials
  • 58.
    Bonus Points forVideo or In Person Training
  • 59.
    Give a Talkabout Your Project http://www.flickr.com/photos/chicago2016/3277192438/ Anyone who can share knowledge well is a teacher.
  • 60.
    Ways to GetInvolved Improve FOSS
  • 61.
  • 62.
    Learn from anExperienced Mentor
  • 63.
    Become Part ofa Vibrant Global Community
  • 64.
  • 65.
    Recap Getting StartedMeans Being a Good Citizen
  • 66.
    Jump in WhereYou Can Do Well
  • 67.
    Know You WillMake Mistakes
  • 68.
  • 69.
    Thank You! LeslieHawthorn, Outreach Manager Jeff Sheltren, Operations Manager http://osuosl.org [email_address] [email_address] @sheltren and @lhawthorn
  • 70.
    Resources Producing OpenSource Software: http://bit.ly/producingoss This guide for starting a FOSS project provides a good overview for newbies, too. Guide to GSoC Mentoring: http://bit.ly/gsocmentoring Documentation for Google Summer of Code Mentors that will also be of general use to folks looking to add new contributors. Student Guide to GsoC: http://bit.ly/gsocstudents Docs for GsoC students that will also be of general use for learning how to contribute to FOSS projects
  • 71.
    Resources (cont'd.) Mentoringin Open Source Communities: What Works, What Doesn't http://bit.ly/mentoringarticle Excellent article interviewing several FOSS developers on their mentoring methodologies. How to Ask Questions the Smart Way http://bit.ly/smartqs The often cited guide to asking questions effectively in the FOSS world. Not always gentle in tone – your mileage may vary.
  • 72.
    Even More ResourcesThe Free Software Definition http://bit.ly/freesoftwaredef The document for understanding the concept of software being free as in uncensored speech rather than no cost The Cathedral and the Bazaar
  • 73.
    http://bit.ly/cathedralbazaar Seminal pieceon the early history and fundamental concepts of the Free Software movement
  • 74.
    The Last Resources Page The Open Source Definition http://bit.ly/osdef Document used by the Open Source Initiative to determine whether or not a particular license can be considered Open Source. Useful for understanding the differences between Free Software and Open Source. Please suggest additional resources!

Editor's Notes

  • #3 Operations Manager, OSU Open Source Lab Previously System Administrator at UC Santa Barbara Detour through St. Kitts Involved in open source for around 12 years LH wants to live on a tropical island Previously Google Open Source Programs Office – Summer of Code and Code In Joined OSL in October 2010 Involved in open source for around 5 years
  • #4 LH takes this slide Who uses open source regularly? Those that didn't raise hands: Who uses Facebook? Google? Shops on Amazon? A little bit of history on the OSI – why they exist, approval of licenses
  • #5 LH takes this slide White house – notable for Drupal website; OSU run the same software for their websites Amazon, Yahoo, Google, Facebook all make extensive use of open source to power their infrastructure. Most notably Linux Some of these groups release FOSS
  • #6 Jeff takes this slide.
  • #7 Jeff takes this slide. LH can interject random comment about playing Doom on Virgin America. VA runs modified RedHat kernel.
  • #8 Jeff takes this slide. Netcraft – security and research company has been researching internet trends since 1995 Definitions: - Active sites are those which don't display a generic hosting company landing page – e.g. purchased but unused domain names - Busiest sites are gauged by visits of people who have installed the netcraft toolbar
  • #9 LH takes this slide Explain what scratch your own itch means and where it came from Explain codes of conduct – somewhat like software licenses
  • #10 LH takes this slide. Talk about ways to determine project culture quickly. Choose one that is right for you.
  • #11 LH takes this slide. If it's hard to find information, they might not be ready for newbies.
  • #12 Jeff takes this slide. You can make funny joke about how this photo comes from fashion show recently held in Vancouver.
  • #13 Jeff takes this slide.
  • #14 LH takes this slide. - dev - discuss - announce Read the mailing list info page.
  • #15 LH takes this slide. Explain how it can be not a big deal, but worth noting.
  • #16 Jeff takes this slide.
  • #17 Jeff take this slide.
  • #18 LH takes this slide.
  • #19 Jeff takes this slide.
  • #20 LH takes this slide.
  • #21 LH takes this slide. Define triaging bugs.
  • #22 Jeff takes this slide.
  • #23 LH takes this slide.
  • #24 Jeff takes this slide.
  • #25 LH takes this slide.
  • #26 Jeff takes this slide.
  • #27 Jeff takes this slide, LH takes all the resource slides.