we16 - navigating the seas of open source projects

22
Navigating the Seas of Open Source Projects Tips and Tricks for Surviving the World of Open Source

Upload: society-of-women-engineers

Post on 08-Jan-2017

56 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: WE16 - Navigating the Seas of Open Source Projects

Navigating the Seas of Open Source ProjectsTips and Tricks for Surviving

the World of Open Source

Page 2: WE16 - Navigating the Seas of Open Source Projects

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 MichiganClass of 2014○ BSE Computer Engineering○ Entrepreneurship○ SWE

Page 3: WE16 - Navigating the Seas of Open Source Projects

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

Page 4: WE16 - Navigating the Seas of Open Source Projects

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!

Page 5: WE16 - Navigating the Seas of Open Source Projects

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.”

Page 6: WE16 - Navigating the Seas of Open Source Projects

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?

Page 7: WE16 - Navigating the Seas of Open Source Projects

● 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

Page 8: WE16 - Navigating the Seas of Open Source Projects
Page 9: WE16 - Navigating the Seas of Open Source Projects

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

Page 10: WE16 - Navigating the Seas of Open Source Projects

The Cathedral vs.

The BazaarThe 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.”

Page 11: WE16 - Navigating the Seas of Open Source Projects

The Cathedral vs.

The BazaarThe 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.”

Page 12: WE16 - Navigating the Seas of Open Source Projects

Why was Wikipedia successful?

According to Larry Sanger, one of the founders of Wikipedia:

1. The content will always be free for users2. Contributors focus on the content, and spreading quality information3. Anyone can contribute4. Making edits is easy5. Radical collaboration, continuous improvement and delivery; don't sign articles.6. Offer unedited, unapproved content for further development7. Neutrality8. A core of good people9. The Google Effect (SEO)

Page 13: WE16 - Navigating the Seas of Open Source Projects

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)

Page 14: WE16 - Navigating the Seas of Open Source Projects

Who Uses Open Source?

● Enterprise Companies● Startups● Government Agencies● Small businesses● Schools● Librarians● Students

Basically everybody!

Page 15: WE16 - Navigating the Seas of Open Source Projects

1. Security - “Given enough eyeballs, all bugs are shallow”2. Reliability - Continuous Development3. Quality - Peer Reviews + Several contributors, can fix bugs as you see them4. Customizability - Pick and choose features and change them to fit business needs 5. Support - Big community dedicated to producing an excellent product6. Flexibility - Can opt in or opt out for upgrades, no set infrastructure requirements7. “Try Before You Buy” - No cost to try it out first

What are some Benefits of Open Source?

Page 16: WE16 - Navigating the Seas of Open Source Projects

What types of Software Communities are there?

Commercial For-Profit Closed

Source Projects

Free (Non-Profit) Open Source Projects

Hybrid

Page 17: WE16 - Navigating the Seas of Open Source Projects

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

Page 18: WE16 - Navigating the Seas of Open Source Projects

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?

Page 19: WE16 - Navigating the Seas of Open Source Projects

What skills do I need to contribute to an Open Source Project?

1. Curiosity and an eagerness to learn2. Courage to ask questions3. Basic knowledge of version control (git, svn, mercurial)

Page 20: WE16 - Navigating the Seas of Open Source Projects

What do I need to do to contribute to an Open Source Project?

1. Identify a project you would like to contribute to2. 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)

Page 21: WE16 - Navigating the Seas of Open Source Projects

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)

Page 22: WE16 - Navigating the Seas of Open Source Projects

Would you like to make your first contribution to an open source

project today?