SlideShare a Scribd company logo
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”

More Related Content

Similar to Fundamentals of Open Source Development (20)

PPT
Teach Them Where They Are: "Learning for Life Online" at the Boston Public Li...
Jennifer Koerber
 
PDF
Crowdsourcing Your Way to a Better ePortfolio
Kristina D.C. Hoeppner
 
PDF
Succeeding with FOSS!
M A Hossain Tonu
 
PDF
Harnessing the Power to contribute to open source for modern careers
Pallavi Sharma
 
PPT
Educational Technology YWC
Heidi Dusek
 
PPTX
Workshop 2 - PowerPoint Presentation v10
E-Mediat
 
PDF
Crowd Documentation - How Programmer Social Communities are Flipping Software...
Chris Parnin
 
PDF
Citrix Labs Rapid Prototyping Workshop
Reuven Cohen
 
ODP
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
Arnulf Christl
 
PPTX
Top 5 Tips for Building Viral Social Web Applications and Sites
Jonathan LeBlanc
 
PPTX
20171003 lancaster data conversations Chue-Hong
Lancaster University Library
 
PPTX
Intranet 2.0 School: Building the essential staff intranet for your library
Chris Evjy
 
PPT
Britt Bravo Getting The Word Out About Your Cause With Blogs, Podcasts & So...
microbiz
 
PPT
Web 2.0 Tools - Outreach & Community Building
Brian Gray
 
ODP
Open Source Content Management Systems for Small and Medium Businesses, Chari...
Will Hall
 
ODP
Personal learning networks
robin fay
 
ODP
Foss4Africa Paul Scott keynote
Paul Scott
 
PDF
User Experience Bootcamp for Developers
Catherine Robson
 
PPT
Open Source for Women / Girl Geeks
Sara Rosso
 
PDF
Accelerate the ROI of PHP in your Enterprise
Enterprise PHP Center
 
Teach Them Where They Are: "Learning for Life Online" at the Boston Public Li...
Jennifer Koerber
 
Crowdsourcing Your Way to a Better ePortfolio
Kristina D.C. Hoeppner
 
Succeeding with FOSS!
M A Hossain Tonu
 
Harnessing the Power to contribute to open source for modern careers
Pallavi Sharma
 
Educational Technology YWC
Heidi Dusek
 
Workshop 2 - PowerPoint Presentation v10
E-Mediat
 
Crowd Documentation - How Programmer Social Communities are Flipping Software...
Chris Parnin
 
Citrix Labs Rapid Prototyping Workshop
Reuven Cohen
 
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
Arnulf Christl
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Jonathan LeBlanc
 
20171003 lancaster data conversations Chue-Hong
Lancaster University Library
 
Intranet 2.0 School: Building the essential staff intranet for your library
Chris Evjy
 
Britt Bravo Getting The Word Out About Your Cause With Blogs, Podcasts & So...
microbiz
 
Web 2.0 Tools - Outreach & Community Building
Brian Gray
 
Open Source Content Management Systems for Small and Medium Businesses, Chari...
Will Hall
 
Personal learning networks
robin fay
 
Foss4Africa Paul Scott keynote
Paul Scott
 
User Experience Bootcamp for Developers
Catherine Robson
 
Open Source for Women / Girl Geeks
Sara Rosso
 
Accelerate the ROI of PHP in your Enterprise
Enterprise PHP Center
 

More from OSU Open Source Lab (6)

PDF
OSWALD: Lessons from and for the Open Hardware Movement
OSU Open Source Lab
 
ODP
Hosting Open Source Projects at the OSUOSL
OSU Open Source Lab
 
PDF
Intro to Python
OSU Open Source Lab
 
ODP
Embedded Systems
OSU Open Source Lab
 
ODP
Linux basics (part 2)
OSU Open Source Lab
 
ODP
Linux basics (part 1)
OSU Open Source Lab
 
OSWALD: Lessons from and for the Open Hardware Movement
OSU Open Source Lab
 
Hosting Open Source Projects at the OSUOSL
OSU Open Source Lab
 
Intro to Python
OSU Open Source Lab
 
Embedded Systems
OSU Open Source Lab
 
Linux basics (part 2)
OSU Open Source Lab
 
Linux basics (part 1)
OSU Open Source Lab
 
Ad

Recently uploaded (20)

PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Ad

Fundamentals of Open Source Development

  • 1. Fundamentals of Open Source Development Leslie Hawthorn, Outreach Manager Jeff Sheltren, Operations Manager August 16, 2011 OSU Picture © Greg Keene
  • 3. What is Open Source? Software that can be freely downloaded, used, modified and redistributed. Generally: Licensed under an OSI-approved license
  • 4. Who Uses Open Source
  • 5. Who Uses Open Source TiVo
  • 9. Who Uses Open Source In-flight entertainment Delta
  • 13. 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
  • 14. Of the top million busiest sites: Over 74% run on open source
  • 15. Step One: Choosing a Project “Scratch your own itch”
  • 16. Codes of Conduct Ubuntu's is widely referenced and remixed Be considerate, be respectful, be collaborative Unwritten “Codes of Conduct”
  • 17. Does this project share 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 Time on the Project Website Start with the “About” Page
  • 20. Find (or Ask For) Newbie Documentation
  • 21. Developer Documentation Review Style/Coding Guidelines
  • 22. Understand the project's workflow 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 using the 'diff' tool, or equivalent tool from within a revision control system http://www.flickr.com/photos/dance_photographer/4962451349/
  • 25. Mailing Lists Are Critical Browse the archives You can't read everything – search! Determine the key players
  • 26. Asking Questions Write a useful subject line
  • 27. Show you've done your research
  • 28. Wait for an answer
  • 29. 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/
  • 30. Basic Netiquette Choose a Reasonable “Handle”
  • 31. Don't Use Text Speak
  • 32. Be Formal in Your 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, branches http://www.flickr.com/photos/26546578@N06/4193814990/
  • 36. Learn to Love IRC IRC = Internet Relay Chat Read Channel Topic
  • 39. Wait for an Answer
  • 41. Ways to Get Involved File Bugs
  • 42. Write Effective Bug Reports What you were doing
  • 43. What you thought should happen
  • 45. Software & hardware specs http://www.flickr.com/photos/jurvetson/482054617/
  • 46. Ways to Get Involved Check the Issue Tracker for “Easy” or “Beginner” Bugs
  • 48. Ways to Get Involved Triage Bugs
  • 50. Point People in the Right Direction
  • 51. Ways to Get Involved Offer to Document Information You Get
  • 52. Press Releases and Newsletters
  • 53. Testimonials & Developer / User Interviews
  • 54. Ways to Get Involved Join or Start a Local User Group
  • 55. Offer to Staff a Booth or Table
  • 56. Volunteer to Help at the Next FOSS Conference http://www.flickr.com/photos/richard_jones/3091970504/
  • 57. Ways to Get Involved Create Training Materials: How To's, Tutorials
  • 58. Bonus Points for Video or In Person Training
  • 59. Give a Talk about Your Project http://www.flickr.com/photos/chicago2016/3277192438/ Anyone who can share knowledge well is a teacher.
  • 60. Ways to Get Involved Improve FOSS
  • 62. Learn from an Experienced Mentor
  • 63. Become Part of a Vibrant Global Community
  • 65. Recap Getting Started Means Being a Good Citizen
  • 66. Jump in Where You Can Do Well
  • 67. Know You Will Make Mistakes
  • 69. Thank You! Leslie Hawthorn, Outreach Manager Jeff Sheltren, Operations Manager http://osuosl.org [email_address] [email_address] @sheltren and @lhawthorn
  • 70. Resources Producing Open Source 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.) Mentoring in 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 Resources The 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 piece on 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.