Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Sustainable Open Source, Open Scienc...

Building a Sustainable Open Source, Open Science Community with NumFOCUS

NumFOCUS envisions an inclusive scientific and research community that utilizes actively supported open source software to make impactful discoveries for a better world. To this end, we promote open practices in research, data, and scientific computing.

In this talk, we discuss roadblocks and opportunities building an open scientific software community. The NumFOCUS organization provides many services and organizational structure to grow and sustain.

Video of presentation at: https://www.youtube.com/watch?v=sn5QiEt9Oro

Andy R. Terrel

July 12, 2019
Tweet

More Decks by Andy R. Terrel

Other Decks in Science

Transcript

  1. The picture can't be displayed. numfocus.org / @NumFOCUS OPEN CODE

    = BETTER SCIENCE Building a Sustainable Open Source, Open Science Community with NumFOCUS Presented by ANDY R TERREL, PHD and GINA HELFRICH, PHD at SCIPY 2019 @NumFOCUS
  2. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE YOU want

    to save the world so you turn your code into a successful open community. 9
  3. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 3 VISION

    We envision an inclusive scientific and research community that utilizes actively supported open source software to make impactful discoveries for a better world.
  4. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE How You

    Build 2 Write code and post to github Write blogs Give tutorials Host open meetings Accept pull requests Answer questions on your mailing list and stack overflows
  5. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE FISCAL SPONSORSHIP

    Legal and Fiscal services EDUCATIONAL PROGRAMS Scholarships, Diversity, Sustainabiilty DATA SCIENCE AND SCIENTIFIC COMPUTING COMMUNITY Common challenges and communication EVENTS Conferences and Meetups NUMFOCUS We promote open practices in research, data, and scientific computing.
  6. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 7 Three

    rules of NumFOCUS 7 LEAD OPENLY THIRD BUILD TOOLS FOR SCIENCE Yes, science happens everywhere. Corporations, laboratories, backyards, in trenches. FIRST BE KIND TO EACH OTHER SECOND Write down a code of conduct, tell the world how you make decisions, share your decisions More than a license, but take comments in public, develop on an open platform, use best practices so all can see.
  7. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE This is

    a lot of work. I want someone to help. Those people have jobs. We now need funding. 9
  8. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE A corporation

    using your code says sure. Here’s $100K. Now you have a very long contract written by a team of corporate attorneys. They explain that your contract makes you liable for the software, all updates are owned by the corporation, and negotiating a new contract will cost $20K at minimum 11
  9. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE He’s smiling

    for us Van Lindberg in 2016, https://en.wikipedia.org/wiki/Van_Lindberg 2
  10. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE How do

    companies track governance of money 13 Number of Investors IRS Tax Structure Decision process 1 LLC / Sole Proporietership Management Plan 1 – 10 LLC or LLP + annual minutes 1 – 100 S Corp + Stock Plan and Executive structure 1 – 100 C Corp + Board and occasional SEC Filings 25 + Public C Corp + Lots more SEC filings + Large # of reports to investors
  11. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Governance of

    Resources (IRS and SEC Codes) • Decision process – BDFL, committee, bureaucracy • Community inclusivity – open or closed • Transparency (Sharing of information) – licenses, communication infrastructure 14
  12. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Your community

    is growing. Someone shows a sexist image in a tutorial about your software Community and corporate partners are not happy… 15
  13. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 16 NumFOCUS

    helps: Address the incident - Code of Conduct with reporting and response procedures - Advice and guidance on how to respond to incidents - Liability protection and access to legal advice as needed Support an Inclusive Community - How to attract and retain diverse community members - Best practices on inclusive events, shared openly with the community - DISC Steering Committee made up of knowledgeable volunteers from the community
  14. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE You have

    a new baby and want to take some time off supporting the community. The community wants to know how to work without you making decisions. 17
  15. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Understanding the

    roles and projects 2 Software Sustainability Fundamentals (Katz / Hinsen) Economic engine principles (Goldratt) Chopportunities
  16. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Software Sustainability

    Fundamentals 2 Lifecycles are circular, consumption is linear Roles and types of infrastructure vary causing confusion on what is most important elements of software The fear of collapse is proportional to the systems depending on it
  17. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE City Infrastructure

    Variations • Slums – Massive numbers of units – Arguably should be torn down frequently • Residential Home – Solid foundation for 25 years – Services single family • Residential Apartments – Large structure serving 50 – 100 years – Services dozens to hundreds of families • City infrastructure – Bedrock, must never fail – Services of many structures of all nature 100K – 1M families 21
  18. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Scientific Infrastructure

    Variations • Single research paper – Few results a year – Very few upstream dependencies • Group Code – Dozens of results a year – Services single group • Scientific Domain Libraries – Hundreds of results per year – Services interdisciplinary usage of results • Platform (os and hardware) – Bedrock, must never fail – Has eaten the entire world (so pretty safe bet) 22
  19. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Economic Engines

    (Goldratt) Organizations have a goal: – Maximize • Goods sold – Minimizing • Operational expenses • Inventory (work in progress) 23
  20. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Our Economic

    Engine What is our goal: – Maximize • Credit (really impact but that’s hard to measure) – Minimizing • Operational Techniques • Resource governance 24
  21. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Some types

    of motivation in our community 2 Intellectual motivation (Intellectuals) Professor at a university Technical motivation (Crafters) Principle engineer at company Community motivation (Stewards) Startup product manager Monetary motivation (Entrepreneurs) Business / financial leaders
  22. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Examples Role

    Credit Resources Techniques Intellectuals Citation Federal research grants Scholarly research Crafters User praise Highly paid positions Software development Stewards Community health Private donations + good will Community management (lots of love) Entrepreneurs Money Investors Business management 26
  23. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Chopportunity 3

    Which type of infrastructure are we supporting • NumFOCUS has chosen Scientific Domain Libraries • typical NSF domain is usually groups and researchers Difficult to be in different engines simultaneously • Goals not aligned between the engines • The engine will predetermine governance and techniques
  24. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Documented practices

    for contributing Jupyter 108 page book • Quickstart • Architecture • Use Cases • IPython • Installation, Configuration and Use • Community Guide • Contributor Guide • Reference Pandas 32 page single doc • Quickstart • Bug requests • Working with code • Contributing to Documentation • Contributing to Code base • Continuous Integration • Contributing changes Sympy 5 page github wiki • Get familiar using the software • Peruse the documentation • Join our mailing list and chat • Setup your development environment • Identify something to work on – SymPy Codebase – Project Ideas Page – SymPy Websites • Review pull requests 28
  25. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE The community

    shifts. They start using other software. New projects start with similar features. The community wants to collaborate together to solve new challenges. 29
  26. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE The Platform

    Strategy 30 Howison, James (2018): Challenges and Pathways to Sustainability in Scientific Software Ecosystems. figshare. Paper.
  27. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE You apply

    for a big grant. They tell you that your proposal doesn’t have “transformational potential” 33
  28. numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 38 1.

    Join the conversation - Conferences https://pydata.org - Mailing lists https://groups.google.com/forum/#!forum/numfocus - Spread the message! 2. Do the invisible work - Help find corporate sponsors https://numfocus.org/sponsors/become-a-sponsor - Contribute your time + skills 3. Become a NumFOCUS Sustainer - What are the tools worth to you? $10 a month? https://numfocus.org/sustainer Three ways you can help us: