The document provides an overview of open source projects, discussing what open source is, how open source communities work, and tips for contributing to open source projects, including identifying relevant skills, finding a project to contribute to, and understanding how to engage with an open source community. It uses examples like Wikipedia, Linux, and OpenStack to illustrate open source trends and best practices for participation. The presentation aims to educate people on open source and lower barriers to contributing for the first time.
WE16 - Navigating the Seas of Open Source Projects
1. Navigating the Seas of Open
Source Projects
Tips and Tricks for Surviving
the World of Open Source
2. Aditi Rajagopal
Who am I?
● IBMer
○ 2 years - Rochester, MN
○ IBM Container Service (Bluemix)
○ Open Source Technologist
○ Inventor - 5 Patents Pending
○ Community Developer &
Evangelist
● University of Michigan
Class of 2014
○ BSE Computer Engineering
○ Entrepreneurship
○ SWE
3. Who are you?
Novice
Programmer
interested in
Open Source
Experienced
Programmer
interested in
contributing to
an Open Source
Project
Professional in IP
Law interested in
Open Source
Somewhere in
the middle
Professional
interested in
learning the
applications of
Open Source in
industry or
research
4. Agenda
● Background
○ What is Open Source?
○ Where did this phenomenon come from?
○ Why has it been successful?
● Current Trends
○ Who uses Open Source & How?
○ What is an Open Source Community?
● Contributing
○ What skills do I need to contribute?
○ How do I get started?
○ Contribute today!
5. What is Open Source?
“Open source software is software that can be freely used,
changed, and shared (in modified or unmodified form) by
anyone. Open source software is made by many people, and
distributed under licenses that comply with the Open Source
Definition.”
6. Imagine it is 2001….
(1) An encyclopedia that was commissioned by a company and
curated by a team of professionals that users had to pay for
(2) An encyclopedia curated by hundreds of volunteers that was
completely free to all users
Which do you think would be more successful?
7. ● Launched in 1993 for $395
● For sale on multiple CDs or a
DVD Then available online
with an annual subscription
● Discontinued in 2009
● 100 full-time editors and more
than 4,000 contributors
● Print copies from 1768-2010
● Switched to online only after
2010
8.
9. Wikipedia - Fast Facts
Forced
Encyclopedia
Britannica to
stop printing
books after 244
years in the
business
5,256,499
articles in
English
Wikipedia
Over 70 billion
site views this
year
87.5% of students
report having
used Wikipedia for
their academic
work
6th most
visited
site
Available in
280+
languages
Students have
created or
improved over
37,000
articles
10. The Cathedral
vs.
The Bazaar
The 2 schools of thought on Software
Development
“[...] the most important
software [...] needed to be
built like cathedrals,
carefully crafted by
individual wizards or small
bands of mages working in
splendid isolation, with no
beta to be released before
its time.”
11. The Cathedral
vs.
The Bazaar
The 2 schools of thought on Software
Development
“[...] release early and often,
delegate everything you can, be
open to the point of promiscuity
[...] No quiet, reverent
cathedral-building here—rather
[...] a great babbling bazaar of
differing agendas and approaches
[...] out of which a coherent and
stable system could seemingly
emerge only by a succession of
miracles.”
12. Why was Wikipedia successful?
According to Larry Sanger, one of the founders of Wikipedia:
1. The content will always be free for users
2. Contributors focus on the content, and spreading quality information
3. Anyone can contribute
4. Making edits is easy
5. Radical collaboration, continuous improvement and delivery; don't sign articles.
6. Offer unedited, unapproved content for further development
7. Neutrality
8. A core of good people
9. The Google Effect (SEO)
13. What is an Open Source
Community?
● A highly motivated community dedicated to building, maintaining
open-source projects with a variety of collaborative tools and
initiatives.
● An ecosystem of developers, strategists, evangelists and
customers focused on looking out for the best interests of the
software.
● The governing body behind all decisions related to the open
source project
● Benevolent Dictator for Life (BDFL)
14. Who Uses Open Source?
● Enterprise Companies
● Startups
● Government Agencies
● Small businesses
● Schools
● Librarians
● Students
Basically
everybody!
15. 1. Security - “Given enough eyeballs, all bugs are shallow”
2. Reliability - Continuous Development
3. Quality - Peer Reviews + Several contributors, can fix bugs as you see them
4. Customizability - Pick and choose features and change them to fit business needs
5. Support - Big community dedicated to producing an excellent product
6. Flexibility - Can opt in or opt out for upgrades, no set infrastructure requirements
7. “Try Before You Buy” - No cost to try it out first
What are some Benefits of Open
Source?
16. What types of Software
Communities are there?
Commercial
For-Profit Closed
Source Projects
Free (Non-Profit)
Open Source
Projects
Hybrid
17. What are challenges Open Source
Communities and Contributors Face?
Open Source
doesn’t necessarily
mean Free
Open Source use
and contribution
requires knowledge
Open Source is
rapidly changing
Open Source may
not fit your
business model
Open Source
doesn’t guarantee
intellectual control
Open Source can be
a wild west
environment
Open Source is
‘owned’ by
someone
Open Source
projects can have
several competing
agendas/parties
18. What would you like to do?
Write a book (or
blog) using
Open Source
tools
Contribute to
an existing
Open Source
Project
Create your
own Open
Source Project
How can I get started?
19. What skills do I need to contribute
to an Open Source Project?
1. Curiosity and an eagerness to learn
2. Courage to ask questions
3. Basic knowledge of version control (git, svn, mercurial)
20. What do I need to do to contribute
to an Open Source Project?
1. Identify a project you would like to contribute to
2. Determine the organizational structure of the project
○ Are there maintainers?
○ Who is the owner?
○ Is there a place to ask questions? (IRC, Google Groups, Email List, Facebook
Group, Twitter)
○ How do they track bugs and issues?
○ Do they have guidelines on how to contribute?
3. Basic knowledge of version control (git, svn, mercurial)
21. A Case Study
Description: a free and open cloud computing software platform
(IaaS). Consists of various components (compute, storage,
networking) that manage datacenter resources.
“Owners”: OpenStack Foundation (nonprofit)
License: Apache License 2.0
Founders: Rackspace & NASA
Development Cycle: 6 month (time-based) release cycle
Projects: 38 subprojects
Developers: 6,344 contributors
Review Model: Git + Gerrit
Language: Python (primarily)
Companies: 300+ Contributing Companies
Top 10 Contributing Companies: Red Hat, Mirantis, HP,
Rackspace, IBM, Cisco, Google, OpenStack Foundation, VMWare,
Intel)
22. Would you like to make your first
contribution to an open source
project today?