Open Source and Science at the National Science Foundation (NSF)


Published on

An introduction to Open Source and Science at NSF, given at Open Source Summit v3 -

Published in: Technology
1 Comment
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Research (in OCI, CISE, directorates) feeds capabilities into CIScience drives these capabilities, and is the output of using themPolicy changes are needed to make the CI most effectiveEducation is connected in using the CI, and also in training the workforce that will develop future versions of itThis is a snapshot – things change over time, new science drivers, new capabilities, etc.
  • Mapping in SI2, ABI, other...
  • Open Source and Science at the National Science Foundation (NSF)

    1. 1. Open Source and Scienceat NSFDaniel S. KatzProgram Director,Division of AdvancedCyberinfrastructure (ACI)
    2. 2. Big Science and Infrastructure• Hurricanes affect humans• Multi-physics: atmosphere, ocean, coast, vegetation, soil– Sensors and data as inputs• Humans: what have they built, where are they, what will they do– Data and models as inputs• Infrastructure:– Urgent/scheduled processing, workflows– Software applications, workflows– Networks– Decision-support systems,visualization– Data storage,interoperability
    3. 3. • CIPRES Science Gateway for Phylogenetics– Study of diversification of life and relationships amongliving things through time• Highly used– Cited in at least 400 publications, e.g., Nature, PNAS, Cell– More than 5000 unique users in 3 years– Used routinely in at least 68 undergraduate classes– 45% US (including most states), 55% 70 other countries• Infrastructure– Flexible web application• A science gateway, uses software and lessons from XSEDEgateways team, e.g., identify management, HPC job control– Science software: tree inference and sequence alignment• Parallel versions of MrBayes, RAxML, GARLI, BEAST, MAFFT• PAUP*, Poy, ClustalW, Contralign, FSA, MUSCLE, ...– Data• Personal user space for storingresults• Tools to transfer and view dataCredit: Mark Miller, SDSCLong-tail Science and Infrastructure
    4. 4. Cyberinfrastructure (e-Research)• “Cyberinfrastructure consists of computing systems,data storage systems, advanced instruments anddata repositories, visualization environments, andpeople, all linked together by software and highperformance networks to improve researchproductivity and enable breakthroughs not otherwisepossible.”-- Craig Stewart• Infrastructure elements:– parts of an infrastructure,– developed by individuals and groups,– international,– developed for a purpose,– used by a community
    5. 5. NSF Software VisionNSF will take a leadership role in providingsoftware as enabling infrastructure forscience and engineering research andeducation, and in promoting software as aprincipal component of its comprehensiveCIF21 vision• ...• Reducing the complexity of software will be aunifying theme across the CIF21 vision,advancing both the use and development ofnew software and promoting the ubiquitousintegration of scientific software across alldisciplines, in education, and in industry– A Vision and Strategy for Software for Science,Engineering, and Education – NSF 12-113
    6. 6. Create and maintain asoftware ecosystemproviding newcapabilities thatadvance and acceleratescientific inquiry atunprecedentedcomplexity and scaleSupport thefoundationalresearch necessaryto continue toefficiently advancescientific softwareEnable transformative,interdisciplinary,collaborative, scienceand engineeringresearch andeducation through theuse of advancedsoftware and servicesTransform practice through newpolicies for software addressingchallenges of academic culture, opendissemination and use, reproducibilityand trust, curation, sustainability,governance, citation, stewardship, andattribution of software authorshipDevelop a next generation diverseworkforce of scientists andengineers equipped with essentialskills to use and develop software,with software and services used inboth the research and educationprocessInfrastructure Role & Lifecycle
    7. 7. Software Infrastructure Projects• In SI2, currently ~50 Elements & Frameworks projects& 13 potential Institutes planning projects• See for current SI2 projects• NSF directorates have additional sw projects
    8. 8. SI2 Solicitation and Decision Process• Cross-NSF software working group with members from alldirectorates• Determined how SI2 fits with other NSF programs thatsupport software– See: Implementation of NSF Software Vision -• Discusses solicitations, determines who will participate ineach• Discusses and participates in review process• Work together to fund worthy proposals (matchmaking)– Unidisciplinary projects (e.g. bioinformatics app)– Multidisciplinary projects (e.g., molecular dynamics)– Onmidisciplinary projects (e.g. http, math library)• In all cases, need to forecast impact– Past performance does predict future results
    9. 9. Measuring Impact – Scenarios1. Developer of open source physics simulation– Possible metrics• How many downloads? (easiest to measure, least value)• How many contributors?• How many uses?• How many papers cite it?• How many papers that cite it are cited? (hardest to measure,most value)2. Developer of open source math library– Possible metrics are similar, but citations are lesslikely– What if users don’t download it?• It’s part of a distro• It’s pre-installed (and optimized) on an HPC system• It’s part of a cloud image• It’s a service
    10. 10. Vision for Metrics & Citation• Products (software, paper, data set) are registered– Input: credit map (weighted list of contributors—people, products, etc.)– Output: DOI– Leads to transitive credit• E.g., paper 1 provides 25% credit to software A, and software A provides 10%credit to library X -> library X gets 2.5% credit for paper 1• Helps developer – ―my tools are widely used, give me tenure‖ or ―NSF shouldfund my tool maintenance‖– Social issue: need to trust person who registers product• Works for papers today (w/out weights) for both author lists and for citations– Technological issue: Registration system (where, interface, multiple)• Product usage is recorded– Where? Both the developer and user want to track usage– Privacy issues? (legal, competitive, ...)– What does ―using‖ a data set mean? How to trigger usage record?– Develop general code for this, add to multiple software?• Ties to provenance• With user input, tie usage to new research and development
    11. 11. Vision for Metrics & Citation, thoughts• Can this be done incrementally?• Lack of credit is a larger problem than oftenperceived– Lack of credit is a disincentive for sharing softwareand data– Providing credit would both remove disincentive aswell as adding incentive– See Lewin’s principal of force field analysis (1943)• For commercial tools, credit is tracked by $– But this doesn’t help understand what tools were usedfor what outcomes– Does this encourage collaboration?• Could a more economic model be used?– NSF gives tokens are part of science grants, usersdistribute tokens while/after using tools
    12. 12. Software Questions for Projects• Sustainability to a program officer:– How will you support your software without mecontinuing to pay for it?• What does support mean?– Can I build and run it on my current/future system?– Do I understand what it does?– Does it do what it does correctly?– Does it do what I want?– Does it include newest science?• Governance model?– Tells users and contributors how the project makesdecisions, how they can be involved– Community: Users? Developers? Both?– Models: dictatorship (Linux kernel), meritocracy(Apache), other?– Tie to development models: cathedral, bazaar
    13. 13. General Software Questions• Does the open source model work for all science?– For some science? For underlying tools?• How many users/developers are needed for success?• Open Source for understanding (available) vs OpenSource for reuse/development (changeable)?• Software that is intended to be infrastructure haschallenges– Unlike in business, more users means more work– The last 20% takes 80% of the effort• What fraction of funds should be spent of support ofexisting infrastructure vs. development of newinfrastructure?• How do we decide when to stop supporting a softwareelement?• How do we encourage reuse and discourage duplication?• How do we more effectively support career paths forsoftware developers (with universities, labs, etc.)