Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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.

Slide 6

Slide 6 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 6

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 8 Three rules of NumFOCUS 8

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE The Pitch 10

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE He’s smiling for us Van Lindberg in 2016, https://en.wikipedia.org/wiki/Van_Lindberg 2

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Enter Governance 4

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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.

Slide 31

Slide 31 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE NUMFOCUS PROJECTS 31

Slide 32

Slide 32 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE NUMFOCUS PROJECTS 32

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE What is innovation 34

Slide 35

Slide 35 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE The environment of innovation 35

Slide 36

Slide 36 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE Innovation comes from everywhere 3 6

Slide 37

Slide 37 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 37 IMPACTS

Slide 38

Slide 38 text

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:

Slide 39

Slide 39 text

numfocus.org / @NumFOCUS OPEN CODE = BETTER SCIENCE 39 THANK YOU QUESTIONS? @aterrel @NumFOCUS [email protected]