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

Software Sustainability? Lessons from IPython

Software Sustainability? Lessons from IPython

Short, discussion-oriented slides for the WSSPE 1.1 workshop held at the SciPy 2014 conference:


Fernando Perez

July 10, 2014

More Decks by Fernando Perez

Other Decks in Science


  1. First, briefly, who am I? • Physics PhD, 2002. –

    Lattice QCD (numerical particle physics) – IPython: Procrastinate on dissertation writing. • Applied Mathematics Postdoc – New class of Numerical algorithms for PDEs – targeting quantum chemistry – All Python outsides, Fortran/C/C++/Cython core. • Research Scientist “in neuroscience” • “Member” of the SciPy community since 2001.
  2. Second, some quick stats/history • IPython 0.0.1: https://gist.github.com/fperez/1579699 – 259

    lines (including whitespace/comments) • Truly an “afternoon hack”. • My very first Python program. – It will likely be my last... But it solved a problem I had
  3. In a Nutshell, IPython... • has had 16,569 commits made

    by 368 contributors – representing 87,837 lines of code • is mostly written in Python, – with a well-commented source code • has a well established, mature codebase, – maintained by a very large development team – with increasing Y-O-Y commits • took an estimated 22 years of effort (COCOMO model) Stats: http://www.ohloh.net/p/ipython
  4. Trust • Clarity vs Transparency. • Clarity of Governance. •

    Private things in IPython: – Security list. Anyone who wants is invited. – Fiscal oversight for Numfocus. Needed for IRS compliance. – Rare private discussions, like Jupyter renaming. – Deliberately no private list: make secrecy hard by design.
  5. Scope • Defining scope is a compass. • Helps you

    know what to do. Helps you know what NOT TO DO.
  6. Resources • People – Volunteers – Permanent – Not just

    coders! • Institutional – Universities/institutes/companies – Numfocus, PSF, etc • $$$ – Government – Private foundations – Industry