we16 - navigating the seas of open source projects

Download WE16 - Navigating the Seas of Open Source Projects

Post on 08-Jan-2017

48 views

Category:

Engineering

5 download

Embed Size (px)

TRANSCRIPT

  • Navigating the Seas of Open Source ProjectsTips and Tricks for Surviving

    the World of Open Source

  • 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

  • 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

  • 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!

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

  • 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?

  • 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

  • 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

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

  • 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 hererather [...] 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.

  • 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)

  • 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)

  • Who Uses Open Source?

    Enterprise Companies Startups Government Agencies Small businesses Schools Librarians Students

    Basically everybody!

  • 1. Security - Given enough eyeballs, all bugs are shallow2. 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?

  • What types of Software Communities are there?

    Commercial For-Profit Closed

    Source Projects

    Free (Non-Profit) Open Source Projects

    Hybrid

  • What are challenges Open Source Communities and Contributors Face?

    Open Source doesnt 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 doesnt 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

  • 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?

    https://medium.com/techspiration-ideas-making-it-happen/how-i-wrote-and-published-my-novel-using-only-open-source-tools-5cdfbd7c00ca#.uweyc2cbhhttps://guides.github.com/activities/contributing-to-open-source/https://guides.github.com/activities/contributing-to-open-source/

  • 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)

  • 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)

  • 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)

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

    project today?