120 likes | 175 Views
Workshop on Sustainable Software for Science: Practice and Experiences. Communities Nancy Wilkins-Diehr wilkinsn@sdsc.edu. 6 projects in 9 minutes Key points, similarities, differences. Ready, set go!
E N D
Workshop on Sustainable Software for Science: Practice and Experiences Communities Nancy Wilkins-Diehr wilkinsn@sdsc.edu
6 projects in 9 minutesKey points, similarities, differences • Ready, set go! • L. Christopherson, R. Idaszak, S. Ahalt. Developing Scientific Software through the Open Community Engagement Process • Marlon Pierce, Suresh Marru, Mark A. Miller, Amit Majumdar, Borries Demeler. Science Gateway Operational Sustainability: Adopting a Platform-as-a-Service Approach • Lynn Zentner, Michael Zentner, Victoria Farnsworth, Michael McLennan, Krishna Madhavan, and Gerhard Klimeck, nanoHUB.org: Experiences and Challenges in Software Sustainability for a Large Scientific Community • Nancy Wilkins-Diehr, Katherine Lawrence, Linda Hayden, Marlon Pierce, Suresh Marru, Michael McLennan, Michael Zentner, Rion Dooley, Dan Stanzione. Science Gateways and the Importance of Sustainability • Andy Terrel. Sustaining the Python Scientific Software Community • Frank Löffler, Steven R. Brandt, Gabrielle Allen and Erik Schnetter. Cactus: Issues for Sustainable Simulation Software Workshop on Sustainable Software for Science: Practice and Experiences
Robust SoftwareThrough professional development practices • Computational science is a first class science • Need reproducible, error-free results • Open Community Engagement Process • Agile approach applied to water science software • Lessons learned • Start small, build gradually • Refactor before adding new functionality • Encourage experimentation • Develop consensus before coding • Co-locate hack-a-thon teams when possible 1. Design thorough discussion of research questions 2. Develop working code 3. Refine based on new requirements 4. Publish open source • L. Christopherson, R. Idaszak, S. Ahalt. • Developing Scientific Software through the Open Community Engagement Process Workshop on Sustainable Software for Science: Practice and Experiences
Gateway SustainabilityThrough shared infrastructure services Best done by a science community • SciGaP paper describes typical gateway tasks • Developing user interfaces that are useful for end user communities; • Managing domain-specific data and metadata; • Managing user identity, accounts, authorization and access for multiple, evolving available resources; • Getting community applications installed, running, and integrated with cyberinfrastructure middleware on a wide range of resources from campus, national, and international Grid and cloud efforts; • Reliably running jobs and returning results, supporting advanced execution scenarios, managing data; • Providing job status feedback and easily understandable error reports; • Operating gateway services at a high level of availability; • Operating trouble ticketing, support, and help desks Shared, open-source development, open governance Gateways can be developed and operated more efficiently Marlon Pierce, Suresh Marru, Mark A. Miller, AmitMajumdar, BorriesDemeler. Science Gateway Operational Sustainability: Adopting a Platform-as-a-Service Approach Workshop on Sustainable Software for Science: Practice and Experiences
Workshop on Sustainable Software for Science: Practice and Experiences
Gateway SustainabilityThrough shared expertise • Science Gateway Institute paper describes incubator offerings • Consultation and resources on topics such as business plan development, software engineering practices, software licensing options, usability, security and project management • Software repository and hosting service • Pool of developers available for project assignments lasting months to a year • Forum to connect members of the development community • Modular, layered framework that supports community contributions and allows developers to choose components. • Workforce development to train the next generation for careers in this cross- disciplinary area and build pools of institutional expertise that many projects can leverage Gateways can be developed more efficiently and run more effectively Nancy Wilkins-Diehr, Katherine Lawrence, Linda Hayden, Marlon Pierce, Suresh Marru, Michael McLennan, Michael Zentner, Rion Dooley, Dan Stanzione. Science Gateways and the Importance of Sustainability Workshop on Sustainable Software for Science: Practice and Experiences
SustainabilityThrough community contribution • nanoHUB • 10-year history, 260,000 users annually • Contributions are an important part of the offerings • 4000 resources contributed by 1,000 authors • 300 simulation tools contributed by 411 authors • Developer-friendly policies to encourage contributions • “open access”, but not “open source” requirement • Contributors may license codes as open source, but only 16/323 have pursued this so far • Allows contributors to participate, but meet the requirements of their funding agency, institution, address IP concerns • Framework allows developers to restrict access to codes when necessary • Restrictions to US users, to non-D1 nations, to licensed individuals for some commercial codes • Quality control • Crowd-sourced, tools can be sorted by most used, most highly ranked • Contributions also to the HUBzero framework itself • Open source, LGPLv3 license • Contributors can create unique components and license as they choose • Changes to source code and redistribution must retain original license Lynn Zentner, Michael Zentner, Victoria Farnsworth, Michael McLennan, Krishna Madhavan, and Gerhard Klimeck, nanoHUB.org: Experiences and Challenges in Software Sustainability for a Large Scientific Community Workshop on Sustainable Software for Science: Practice and Experiences
SustainabilityThrough community contribution • SciPy conference • Brings together academic, government and industry developers • One third of attendees are from industry • Just as HPC processors have been codesigned for science and gaming, scientific software is finding a joint codesign in partnerships with industry • But industry contributions to Python have been rare • Non-profit (NUMFocus) set up to support industry contributions Andy Terrel. Sustaining the Python Scientific Software Community Workshop on Sustainable Software for Science: Practice and Experiences
NUMFocuspriorities • Educational Programs • Promotion of high-level languages, reproducible scientific research, and opencode development • Collaborative research tools and documentation • Governance is a loose grantorgranteerelationship with projects • Monies can be placed in the groups’ accounts • NUMFocus activities • Hires developers for open code development • Maintains testing machines for projects • Organizes the PyData conference series • Sponsors community members to attend conferences Workshop on Sustainable Software for Science: Practice and Experiences
SustainabilityThrough community contribution and modular design • Cactus project began in 1996 • Revolutionary modular design • “flesh” provides interfaces between Cactus modules or “thorns” • Users can use modules written by others and can write their own • Far-reaching ramifications of this approach • I/O, time integration, mesh refinement, PAPI counters, boundary conditions can all be abstracted from science code • Community has grown and diversified, other science areas using the Cactus framework Frank Löffler, Steven R. Brandt, Gabrielle Allen and Erik Schnetter. Cactus: Issues for Sustainable Simulation Software Workshop on Sustainable Software for Science: Practice and Experiences
IncentivesA common problem mentioned by nearly all contributors • Software often developed by students, who move on • Cactus combats this by fostering an enjoyable programming environment that encourages involvement after graduation • Open source licensing, modular approach, ability to see one’s code reused all are attractive • Paper publication is the measuring stick in academic reward system • No rewards for documentation, testing, professional software engineering, porting to new platforms • Cactus partially combats this by closely coupling code developments to science so at least development work is publishable • Citation of software use can be difficult to enforce • Uncertain career paths • Software developers often multidisciplinary experts while tenure track positions are often domain-specific Workshop on Sustainable Software for Science: Practice and Experiences
Potential topic for discussionHow do we change the incentives? • Increasingly digital nature of data means that software mustbe recognized as a fundamental to research • How do we make sure it’s developed and supported responsibly? • Is change within academic institutions needed? • If so, what do we do? • Are there examples of successes? • Is there a career path in software development? • If so, how do we prepare students? • Are there other opportunities for improvement beyond changes to the academic system? Workshop on Sustainable Software for Science: Practice and Experiences