$30 off During Our Annual Pro Sale. View Details »

Building the PyData Community

Building the PyData Community

Introduction to Numfocus and thoughts about building and contributing to the PyData community.

Travis E. Oliphant

July 27, 2014

More Decks by Travis E. Oliphant

Other Decks in Science


  1. PyData
    Building a strong and vibrant community

    View Slide

  2. Numfocus
    Num… Foundation for Open Code for Usable Science

    View Slide

  3. Numfocus (http://numfocus.org)
    NumFOCUS is a 501(c)(3) public charity in the USA.

    It supports and promotes world-class, innovative, open source
    scientific software to enable open science and reproducible

    It supports the PyData and SciPy communities.

    View Slide

  4. Numfocus (http://numfocus.org)
    • Women in Science and Technology events

    • John Hunter Technical Fellowship

    • Grant programs to loosely organized communities

    • Fiscal sponsorship

    • Legal protection and ownership of community websites

    View Slide

  5. Women in Science and Technology
    Thanks to

    View Slide

  6. John Hunter Technical Fellowship
    John Hunter (1968-2012)

    author of matplotlib

    initial board member of Numfocus
    Honorable mention:

    Damien Irving (University of Melbourne)

    Connie Gao (MIT)
    Olga Botvinnik

    UC San Diego
    to create open source analysis software for the single-cell and biology
    communities, and to pioneer data, code sharing, and computational
    reproducibility within the single-cell and RNA biology communities.

    View Slide

  7. Numfocus
    Money donated to NumFOCUS goes to sponsor things like:

    • Coding sprints (food and travel)

    • Technical fellowships (sponsored students and mentors to work on
    code needed by the community)

    • Equipment grants (to developers and projects)

    • Conference attendance for students (to PyData, SciPy, and other

    • Fees for continuous integration and other software engineering tools

    • Documentation development

    • Web-page hosting and bandwidth fees for projects

    View Slide

  8. Numfocus
    Supports the PSF code of conduct.

    Governed by a board of 9 directors:

    Jarrod Millman
    Ralf Gommers

    Andy Terrel

    Perry Greenfield

    Cindee Madison

    Lorena Barba

    Didrik Pinte

    Anthony Scopatz

    Brian Granger

    Open membership model — just need a name, contact
    information, and which country you live in.

    All proceeds from PyData

    go to fund Numfocus

    View Slide

  9. Why Numfocus?
    When we founded Continuum, we also wanted to create a place
    where community members (including companies that compete
    with each other) could work together to fund open source projects
    that benefit science, engineering, math, and data-science.

    Through both significant personal and company donations of money
    and time, several people at Continuum have continued to work to
    get Numfocus organized, funded, and operational as well as the
    create, organize, and promote the PyData conference series.

    View Slide

  10. A little context
    Edd Dumbill
    Julie Steele
    The first PyData

    Spring 2012 at

    Google HQ
    Peter Wang
    Travis Oliphant
    Wes McKinney

    View Slide

  11. — Peter Wang, PyData SV 2014

    View Slide

  12. — Peter Wang, PyData SV 2014
    Birthplace of Conda and Anaconda
    “Guido, please help us
    convince core dev to
    work with us to solve the
    packaging problem!”
    “Meh. Feel free
    to solve it

    View Slide

  13. — Peter Wang, PyData SV 2014

    View Slide

  14. PyData: the First 20 Years
    • Numarray: 2001
    • Numeric: 1995
    • Matrix Obj: 1994
    • IPython Notebook: 2005-2011
    • pandas: 2008-2009
    • scikit-learn: 2007
    • NumPy: 2006
    • SymPy: 2006
    • IPython: 2001
    • matplotlib: 2002
    • SciPy 2001 (1999 Multipack)

    View Slide

  15. — Peter Wang, PyData SV 2014

    View Slide

  16. Tools matter

    View Slide

  17. “For there is but one veritable problem -
    the problem of human relations…”
    — Antoine de Saint-Exupéry

    View Slide

  18. Code of Conduct
    Members of the community are open to collaboration, whether it's on PEPs, patches, problems, or otherwise. We're receptive
    to constructive comment and criticism, as the experiences and skill sets of other members contribute to the whole of our
    efforts. We're accepting of all who wish to take part in our activities, fostering an environment where anyone can participate
    and everyone can make a difference.
    Members of the community are considerate of their peers -- other Python users. We're thoughtful when addressing the
    efforts of others, keeping in mind that often times the labor was completed simply for the good of the community. We're
    attentive in our communications, whether in person or online, and we're tactful when approaching differing views.
    Members of the community are respectful. We're respectful of others, their positions, their skills, their commitments, and their
    efforts. We're respectful of the volunteer efforts that permeate the Python community. We're respectful of the processes set
    forth in the community, and we work within them. When we disagree, we are courteous in raising our issues.

    Overall, we're good to each other. We contribute to this community not because we have
    to, but because we want to. If we remember that, these guidelines will come naturally.

    View Slide

  19. Principles
    “brotherly love” — the fellowship that should exist
    between members of the same community.
    “the central idea of φιλíα is that of doing well by someone for
    his own sake, out of concern for him (and not, or not merely,
    out of concern for oneself). [... Thus] the different forms of
    φιλíα [as listed above] could be viewed just as different
    contexts and circumstances in which this kind of mutual well-
    doing can arise"
    — John M. Cooper

    View Slide

  20. Principles
    A Sanskrit word meaning selfless sacrifice, volunteering
    for the community
    “Helping out is not some special skill. It is not the domain of rare
    individuals. It is not confined to a single part of our lives. We simply
    heed the call of that natural impulse within and follow it where it
    leads us.”
    — Ram Dass

    View Slide

  21. Principles
    Tithe The concept of giving 10% of increase back to the
    If every company that uses NumPy stack gave 10% of profits (or
    even those profits connected to use of the NumPy stack) back to
    Numfocus — we would have no problem of sustainability.

    View Slide

  22. Issues
    The Free Rider Problem
    The community has enormous contributions from
    certain people and companies while others just take
    what the community creates for their own benefit —
    without contributing back real value.

    View Slide

  23. Solutions
    • Supporting with your money organizations and companies that
    are driving PyData solutions

    • Buy a product

    • Buy support

    • Donate to Numfocus

    • Be a company that is contributing to PyData (with
    sponsorships and code contributions from your developers)

    • Work for a company that is driving and contributing to
    PyData efforts

    View Slide

  24. Issues
    Lack of Diversity
    For whatever reason, we tend towards a fairly
    homogeneous group. This can make some feel alone
    and make it difficult for them to contribute.

    Yet, it’s the contributions of diverse members that
    will make the community robust and able to reach its
    full potential.

    View Slide

  25. Solutions
    • Particular events encouraging less represented members to

    • Diversity scholarships and invited speakers

    • Particular sub communities (PyLadies, etc.)

    • Using our frontal lobe to overcome the natural, biological
    tendency to stereotype and exclude as we form community

    • Diverse individuals becoming a role-model for others:

    • Build something useful

    • Be accessible to talk about it and promote it

    • The community must be formed based on ideas in our minds
    and not on the incidental details of our DNA.

    View Slide

  26. Issues
    “Bad Actors”
    People that are do not follow the PSF Code of Conduct,
    make it difficult to attract diversity, or who tend towards
    leeching from the community without giving back

    View Slide

  27. Solutions
    • Patience (recognize that your perspective on someone or
    something may not be accurate)

    • Speak up and defend when necessary (but listen as well and
    get other points of view)

    • Routing around the “troublemakers”

    • Supporting positive activities rather than give voice to a “bad
    actor” (“this too shall pass”)

    View Slide

  28. Summary
    •Python has had a long and fruitful history in Data
    •It will have a long and bright future with your help!
    •Contribute to the PyData community and make the
    world a better place!

    View Slide

  29. Donate to Numfocus and

    Become a member

    Become a PSF Member


    Sponsor, Present, Attend
    PyData events: http://pydata.org
    Community Commercials

    View Slide