How different groups think about software sustainability, what "equations" we might use to measure it, and how it really can't be measured looking forward but only predicted.
Socio-Technical Evolution of the Ruby Ecosystem in GitHubTom Mens
Presentation at SANER 2017 by Eleni Constantinou of joint research with Tom Mens (University of Mons) on a socio-technical analysis of the evolution of the Ruby software ecosystem in GitHub.
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...Daniel S. Katz
A presentation made to OECD's Committee for Scientific and Technological Policy (CSTP) at the Workshop on the Revision of the Recommendation of the Council concerning Access to Research Data from Public Funding, 15 October 2019
A talk presented to the US Networking and Information Technology Research and Development (NITRD) Program's High End Computing Interagency Working Group, 16 January 2020
Socio-Technical Evolution of the Ruby Ecosystem in GitHubTom Mens
Presentation at SANER 2017 by Eleni Constantinou of joint research with Tom Mens (University of Mons) on a socio-technical analysis of the evolution of the Ruby software ecosystem in GitHub.
Requiring Publicly-Funded Software, Algorithms, and Workflows to be Made Publ...Daniel S. Katz
A presentation made to OECD's Committee for Scientific and Technological Policy (CSTP) at the Workshop on the Revision of the Recommendation of the Council concerning Access to Research Data from Public Funding, 15 October 2019
A talk presented to the US Networking and Information Technology Research and Development (NITRD) Program's High End Computing Interagency Working Group, 16 January 2020
Big Data Analytics of Software Ecosystem Health: Presentation during INFORTECH Scientific Day (23 May 2018) by Professor Tom Mens. The talk reports on ongoing research of the Software Engineering Lab of the University of Mons (UMONS) on health aspects of evolving software ecosystems. This research was conducted in collaboration with postdoctoral researchers Alexandre Decan and Eleni Constantinou, as well as the external partners of two ongoing research projects: SECOHealth (https://secohealth.github.io) and the Excellence of Science research project SECO-ASSIST (https://secoassist.github.io).
A Method to Select e-Infrastructure Components to SustainDaniel S. Katz
This is a talk presented at International Symposium on Grids and Clouds (ISGC), Taipei, Taiwan, March 20, 2015.
Abstract:
Reusable infrastructure (systems created by one or more people and intended to be used by other people) has become essential for many types of research over the last century, from microscopes to telescopes, and from sequencers to colliders. Over the past few decades, much research infrastructure has become digital, and many new digital systems have been developed. Here we discuss e-Research infrastructure (also called cyberinfrastructure), which has been defined by Craig Stewart as consisting of “... computing systems, data storage systems, advanced instruments and data repositories, visualization environments, and people, all linked together by software and high performance networks to improve research productivity and enable breakthroughs not otherwise possible.” While the research infrastructure as a whole is important, it is useful to consider infrastructure elements as well, as they comprise the overall infrastructure. Each element has a technical context (which allows one to ask questions about its architecture, such as: How does it fit into the overall infrastructure? How does it interact with other infrastructure elements?), a social context (which allows one to ask questions about its developers, such as: Who has developed the element?, and it users, such as: Who uses the element?, and its purpose, such as: What is the intended use of the element?), and a political context (which allows one to ask questions about its funders, such as: Who funds the development and maintenance?, and about its political scope, such as: Is the element national? International?). Understanding how a particular infrastructure element can be created and sustained requires answering two pairs of questions: What resources are needed to create it, and how can those resources be assembled and applied? What resources are needed to sustain it, and how can those resources be assembled and applied? In this paper, we focus on the second half of the two questions, since the amount and type of needed resources vary with the specific element being discussed. We believe elements of e-Research infrastructure can be placed in a three-dimensional space, consisting of temporal duration, spatial extent, and purpose. Note that the number of users of a given element should be larger the farther the element is from the origin in any direction, as should the cost. These two elements (number of users and cost) can be generically called ‘scale’ in this context. Alternatively, we can attempt to map impact, rather than usage, as an element of scale. In either case, scale is thus a metric of the space, though it is not orthogonal to any of the three axes. This talk with discuss how placing potential elements in this space allows decisions to be made on which elements should be pursued.
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkMark Heckler
Discussion of DevOps concepts, enabling tools & platforms, and some candid observations. Small plug at end for Cloud Foundry. Slides only, sparkling commentary & conversation with attendees only available in person. :)
A talk about "Conceptualizing a US Research Software Sustainability Institute (URSSI)" presented at the Toward a New Computational Fluid Dynamics Software Infrastructure (CFDSI, https://www.colorado.edu/events/cfdsi/) workshop in Boulder, CO, 16 May 2018.
Scientific Software Challenges and Community ResponsesDaniel S. Katz
a talk given at RTI International on 7 December 2015, discussing 12 scientific software challenges and how the scientific software community is responding to them
User Interface Design: Definitions, Processes and PrinciplesMoodLabs
An introduction to User Interface Design, often called UX / UI. Presented by David Little, User Interface Designer, DDH from King's College London Digital Humanities program.
(a slightly updated version of this talk is at https://doi.org/10.6084/m9.figshare.10301741.v1)
A talk on the role of software in research and how NCSA is responding in terms of people and roles - given at the 2019 Data Science Leadership Summit (https://sites.google.com/msdse.org/datascienceleadership2019/).
This is partially based on a previous paper: Daniel S. Katz, Kenton McHenry, Caleb Reinking, Robert Haines, "Research Software Development & Management in Universities: Case Studies from Manchester's RSDS Group, Illinois' NCSA, and Notre Dame's CRC", 2019 IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science)
doi: https://doi.org/10.1109/SE4Science.2019.00009
preprint: https://arxiv.org/abs/1903.00732
Parsl: Pervasive Parallel Programming in PythonDaniel S. Katz
a seminar presented at the School of Computer Science at the University of St Andrews 18 October 2019 (see https://blogs.cs.st-andrews.ac.uk/csblog/2019/09/25/daniel-katz-parsl/)
More Related Content
Similar to Fundamentals of software sustainability
Big Data Analytics of Software Ecosystem Health: Presentation during INFORTECH Scientific Day (23 May 2018) by Professor Tom Mens. The talk reports on ongoing research of the Software Engineering Lab of the University of Mons (UMONS) on health aspects of evolving software ecosystems. This research was conducted in collaboration with postdoctoral researchers Alexandre Decan and Eleni Constantinou, as well as the external partners of two ongoing research projects: SECOHealth (https://secohealth.github.io) and the Excellence of Science research project SECO-ASSIST (https://secoassist.github.io).
A Method to Select e-Infrastructure Components to SustainDaniel S. Katz
This is a talk presented at International Symposium on Grids and Clouds (ISGC), Taipei, Taiwan, March 20, 2015.
Abstract:
Reusable infrastructure (systems created by one or more people and intended to be used by other people) has become essential for many types of research over the last century, from microscopes to telescopes, and from sequencers to colliders. Over the past few decades, much research infrastructure has become digital, and many new digital systems have been developed. Here we discuss e-Research infrastructure (also called cyberinfrastructure), which has been defined by Craig Stewart as consisting of “... computing systems, data storage systems, advanced instruments and data repositories, visualization environments, and people, all linked together by software and high performance networks to improve research productivity and enable breakthroughs not otherwise possible.” While the research infrastructure as a whole is important, it is useful to consider infrastructure elements as well, as they comprise the overall infrastructure. Each element has a technical context (which allows one to ask questions about its architecture, such as: How does it fit into the overall infrastructure? How does it interact with other infrastructure elements?), a social context (which allows one to ask questions about its developers, such as: Who has developed the element?, and it users, such as: Who uses the element?, and its purpose, such as: What is the intended use of the element?), and a political context (which allows one to ask questions about its funders, such as: Who funds the development and maintenance?, and about its political scope, such as: Is the element national? International?). Understanding how a particular infrastructure element can be created and sustained requires answering two pairs of questions: What resources are needed to create it, and how can those resources be assembled and applied? What resources are needed to sustain it, and how can those resources be assembled and applied? In this paper, we focus on the second half of the two questions, since the amount and type of needed resources vary with the specific element being discussed. We believe elements of e-Research infrastructure can be placed in a three-dimensional space, consisting of temporal duration, spatial extent, and purpose. Note that the number of users of a given element should be larger the farther the element is from the origin in any direction, as should the cost. These two elements (number of users and cost) can be generically called ‘scale’ in this context. Alternatively, we can attempt to map impact, rather than usage, as an element of scale. In either case, scale is thus a metric of the space, though it is not orthogonal to any of the three axes. This talk with discuss how placing potential elements in this space allows decisions to be made on which elements should be pursued.
DevOps Beyond the Buzzwords: Culture, Tools, & Straight TalkMark Heckler
Discussion of DevOps concepts, enabling tools & platforms, and some candid observations. Small plug at end for Cloud Foundry. Slides only, sparkling commentary & conversation with attendees only available in person. :)
A talk about "Conceptualizing a US Research Software Sustainability Institute (URSSI)" presented at the Toward a New Computational Fluid Dynamics Software Infrastructure (CFDSI, https://www.colorado.edu/events/cfdsi/) workshop in Boulder, CO, 16 May 2018.
Scientific Software Challenges and Community ResponsesDaniel S. Katz
a talk given at RTI International on 7 December 2015, discussing 12 scientific software challenges and how the scientific software community is responding to them
User Interface Design: Definitions, Processes and PrinciplesMoodLabs
An introduction to User Interface Design, often called UX / UI. Presented by David Little, User Interface Designer, DDH from King's College London Digital Humanities program.
(a slightly updated version of this talk is at https://doi.org/10.6084/m9.figshare.10301741.v1)
A talk on the role of software in research and how NCSA is responding in terms of people and roles - given at the 2019 Data Science Leadership Summit (https://sites.google.com/msdse.org/datascienceleadership2019/).
This is partially based on a previous paper: Daniel S. Katz, Kenton McHenry, Caleb Reinking, Robert Haines, "Research Software Development & Management in Universities: Case Studies from Manchester's RSDS Group, Illinois' NCSA, and Notre Dame's CRC", 2019 IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science)
doi: https://doi.org/10.1109/SE4Science.2019.00009
preprint: https://arxiv.org/abs/1903.00732
Parsl: Pervasive Parallel Programming in PythonDaniel S. Katz
a seminar presented at the School of Computer Science at the University of St Andrews 18 October 2019 (see https://blogs.cs.st-andrews.ac.uk/csblog/2019/09/25/daniel-katz-parsl/)
Slides for:
"Software Citation in Theory and Practice," by Daniel S. Katz and Neil P. Chue Hong (published paper - https://doi.org/10.1007/978-3-319-96418-8_34; preprint - https://arxiv.org/abs/1807.08149), presented at International Congress on Mathematical Software (ICMS 2018)
Abstract. In most fields, computational models and data analysis have become a significant part of how research is performed, in addition to the more traditional theory and experiment. Mathematics is no exception to this trend. While the system of publication and credit for theory and experiment (journals and books, often monographs) has developed and has become an expected part of the culture, how research is shared and how candidates for hiring, promotion are evaluated, software (and data) do not have the same history. A group working as part of the FORCE11 community developed a set of principles for software citation that fit software into the journal citation system, allow software to be published and then cited, and there are now over 50,000 DOIs that have been issued for software. However, some challenges remain, including: promoting the idea of software citation to developers and users; collaborating with publishers to ensure that systems collect and retain required metadata; ensuring that the rest of the scholarly infrastructure, particu- larly indexing sites, include software; working with communities so that software efforts count; and understanding how best to cite software that has not been published.
A brief status of software citation work presented at AAS splinter meeting on implementing the FORCE11 Software Citation Principles in Astronomy (2018-01-11)
A talk about citation and reproducibility in software, presented at the HSF (High Energy Physics Software Foundation) meeting at SDSC, San Diego, CA, USA, 23 January 2017
Based on citation work done by the FORCE11 Software Citation Working Group as well as recent reproducibility discussions, blogs, and papers
Software Citation: Principles, Implementation, and ImpactDaniel S. Katz
A talk about Software Citation Principles for the 3:am conference (Bucharest, Romania, 28 September 2016), as developed by Arfon M. Smith, Daniel S. Katz, Kyle E. Niemeyer, and the FORCE11 Software Citation Working Group
A talk about the "Working towards Sustainable Software for Science: Practice and Experience (WSSSPE)" community/theme/set of workshop, focused on WSSSPE3, the working groups that were formed there, how they have developed from activities in previous WSSSPE3 meetings, and their current status.
This talk was given as a Dagstuhl meeting on Engineering Academic Software (http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=16252) 20 June 2016.
Working towards Sustainable Software for Science: Practice and Experience (WS...Daniel S. Katz
This was a short talk about the WSSSPE events, given at the Dagstuhl workshop on Engineering Academic Software, 20 June 2016. It mostly discusses the working groups that have formed gradually over the WSSSPE meetings, and specifically those that worked through WSSSPE3, and what that have done since then.
Discussing Software Citation and related topics at Workshop on Data and Software Citation (June 6-7 at Harvard Medical School, http://www.software4data.com/#!nsf-workshop/jghgb)
Looking at Software Sustainability and Productivity Challenges from NSFDaniel S. Katz
A lightning talk by Daniel S. Katz and Rajiv Ramnath (NSF) at CSESSP workshop - https://www.nitrd.gov/csessp/
Based on a white paper, at http://arxiv.org/abs/1508.03348
Scientific research: What Anna Karenina teaches us about useful negative resultsDaniel S. Katz
a panel talk for the 1st Workshop on E-science ReseaRch leading tO negative Results (ERROR), held in conjunction with the 11th eScience conference on 3 September 2015 in Munich, Germany
Panel: Our Scholarly Recognition System Doesn’t Still WorkDaniel S. Katz
A panel at the 2015 Science of Team Science (SciTS) Conference
Organizers: Daniel S. Katz (U. of Chicago & Argonne National Laboratory), Amy Brand (Digital Science), Melissa Haendel (Oregon Health & Science University), Holly J. Falk-Krzesinski (Elsevier)
Panelists: Robin Champieux (Oregon Health & Science University) Holly Falk-Krzesinski (Elsevier)Daniel S. Katz (U. of Chicago & Argonne National Laboratory)Philippa Saunders (University of Edinburgh)
Abstract: http://bit.ly/scholarly-recognition
US University Research Funding, Peer Reviews, and MetricsDaniel S. Katz
My part of the "Digital Science Webinar: Articulating Research Impact – Strategies from Around the Globe" (http://www.digital-science.com/events/digital-science-webinar-articulating-research-impact-strategies-from-around-the-globe/)
Daniel S. Katz will discuss how reviewers at the National Science Foundation (USA) consider the “intellectual merit” and “broader impacts” criteria for funding and in particular how metrics might help applicants understand their impacts in these areas.Dan will also talk about how reviewers might use qualitative and quantitative altmetrics data to inform their peer reviews for grant applications. He will address many of the salient questions around this use of metrics, for example, do reviewers take metrics seriously and what types of metrics are of most value to them?
Swift Parallel Scripting for High-Performance WorkflowDaniel S. Katz
The Swift scripting language was created to provide a simple, compact way to write parallel scripts that run many copies of ordinary programs concurrently in various workflow patterns, reducing the need for complex parallel programming or arcane scripting to achieve this common high-level task. The result was a highly portable programming model based on implicitly parallel functional dataflow. The same Swift script runs on multi-core computers, clusters, grids, clouds, and supercomputers, and is thus a useful tool for moving workflow computations from laptop to distributed and/or high performance systems.
Swift has proven to be very general, and is in use in domains ranging from earth systems to bioinformatics to molecular modeling. It’s more recently been adapted to serve as a programming model for much finer-grain in-memory workflow on extreme scale systems, where it can perform task rates in the millions to billion-per-second.
In this talk, we describe the state of Swift’s implementation, present several Swift applications, and discuss ideas for of the future evolution of the programming model on which it’s based.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
5. What is sustainability?
• Most often used in the context of ecology, often specifically in the
relationship between humans and the planet
• Example: Karl-Henrik Robèrt (via Wikipedia & paraphrased)
• Natural processes are cyclical but we process resources linearly
• We use up resources, resulting in waste
• Waste doesn’t find its way back into natural cycles; not reused or
reassimilated
• Call for "life-styles and forms of societal organization based on cyclic
processes compatible with the Earth's natural cycles"
8. Software sustainability for users
• The capacity of the software to endure
• Will the software will continue to be available in the future, on
new platforms, meeting new needs?
• Really:
• Shopping
• With elements of
• Longevity
• Robustness
• Support
9. Software sustainability for funders
• My definition while an NSF program officer:
• “If I give you funds for this now, how will you keep this going after
these funds run out?”
• “… without coming back to me for more funds”
• Really
• Portfolio management
10. Software sustainability for managers
• Focused on people, not software
• How do I keep my team going?
• Really:
• Business
• Capitalism
• Entrepreneurship
11. Software sustainability for developers
• Often focused on resources, not software
• How do I get the resources needed to keep my software alive and up-to-
date?
• And keep myself supported / employed?
• Counterpart
• How do I make keeping my software alive and up-to-date use less
resources?
• Really
• Entrepreneurship
• Community building
• Software engineering
12. Software collapse1
• Software stops working eventually if is not actively maintained
• Structure of computational science software stacks:
1. Project-specific software (developed by researchers): software to do a computation using
building blocks from the lower levels: scripts, workflows, computational notebooks, small
special-purpose libraries & utilities
2. Discipline-specific software (developed by developers & researchers): tools & libraries that
implement disciplinary models & methods
3. Scientific infrastructure (developed by developers): libraries & utilities used for research in
many disciplines
4. Non-scientific infrastructure (developed by developers): operating systems, compilers, and
support code for I/O, user interfaces, etc.
• Software builds & depends on software in all layers below it; any change below
may cause collapse
1http://blog.khinsen.net/posts/2017/01/13/sustainable-software-and-reproducible-research-dealing-with-software-collapse/
13. Software collapse1
• Options similar for house owners facing the risk of earthquakes:
1. Accept that your house or software is short-lived; in case of collapse, start from
scratch
2. Whenever shaking foundations cause damage, do repair work before more serious
collapse happens
3. Make your house or software robust against perturbations from below
4. Choose stable foundations
• Very short term projects might do 1 (code and throw away)
• Most active projects choose 2 (sustainability work)
• We don’t know how to do 3 (CS research needed, maybe new thinking)
• 4 is expensive & limits innovation in top layers (banks, military, NASA)
1http://blog.khinsen.net/posts/2017/01/13/sustainable-software-and-reproducible-research-dealing-with-software-collapse/
14. Common elements
• Due to software collapse, bugs, new use cases, there are lots of
risks to all parties
• Users want to make good product choices that pay off in discoveries
• Funders want to make good investments that pay off in discoveries
• Managers want to keep staff employed, also create discoveries
• Developers want their software to be used in discoveries (and want a
career)
• (Almost) all want to know, will this software work in the future?
• What’s the risk?
• And how do developers get recognized?
15. Back to sustainability, in the context of software
• Elinor Ostrom’s (Governing the Commons) definition of sustainability for a common-pool
resource (CPR): “As long as the average rate of withdrawal does not exceed the average
rate of replenishment, a renewable resource is sustained over time.”
• Notion of a cyclic property, though cycle period not specified
• But rate of what?
• Titus Brown1: “the common pool resource in open online projects is effort”
• Sustainability of effort may be appropriate for the developer
• For effort to be available, need link to recognition, reward, position
• Sustainability of software may be appropriate for the user and funder
• Rate of what?
• Sustainability of funding may be appropriate for the manager
• Also helps developers
• Rate of funding?
1A framework for thinking about Open Source Sustainability? http://ivory.idyll.org/blog/2018-oss-framework-cpr.html
16. “Equations” of software sustainability
• Software sustainability ≡ sufficient ∆ software state
• Sufficient to deal with: software collapse, bugs, new features needed
• ∆ software state = (human effort in – human effort out - friction) * efficiency
• Software stops being sustained when
human effort out > human effort in
over some time
• Human effort ⇆ $
• All human effort works (community open source)
• All $ (salary) works (commercial software, grant funded projects)
• Combined is hard, equation is not completely true,
humans are not purely rational
• ∆ software state → users choose to volunteer effort or $
• Development choices might take this into account
Debt: The First 5,000 Years
by David Graeber
?
17. Software sustainability and time
• Software sustainability is a measure of a dynamic, (unpredictable), time domain system
• Back to risk…
• Software sustainability is a prediction – it can’t be known with certainty
• Software sustainability can only be measured looking backward
• How do we know that software is no longer sustainable / has stopped being sustained?
• It no longer works at all? (continuous integration fails)
• It’s not being actively maintained? (no commit in the last x months)
• It’s not being actively developed? (no non-bug fix commit in the last x months)
• What do we do for similar measures in other fields?
• Guess (aka estimate)
• Based on past performance
• E.g., Project cost
• Research is needed
18. Summary
• Software sustainability means different things to different groups of people
• Persistence of working software
• Persistence of people (or funding)
• Can define sustainability as
• Inflow of resources is sufficient to do the needed work
• Those resources can be turned into human effort
• In all cases, sustainability is not possible to measure in advance
• Can only measure looking backward
• Looking forward, can only predict
19. Acknowledgements
• Discussions with Neil Chue Hong and the UK SSI
• Discussions at various WSSSPE workshops
• Keynote by James Howison at RSE2018
• Discussions with Rob Haines and Caroline Jay at U. Manchester
• Feedback from Matt Turk, James Howison, Dan Sholler
• D. S. Katz, “Scientific Software Challenges and Community Responses,” 2015. https://www.slideshare.net/danielskatz/scientific-
software-challenges-and-community-responses
• C. C. Venters, C. Jay, L. Lau, M. K. Griffiths, V. Holmes, R. R. Ward, J. Austin, C. E. Dibsdale, J. Xu, “Software Sustainability: The
Modern Tower of Babel,” Proceedings of Third International Workshop on Requirements Engineering for Sustainable Systems
(RE4SuSy 2014), Karlskrona, Sweden. http://ceur-ws.org/Vol-1216/paper2.pdf
• C. Becker, R. Chitchyan, L. Duboc, S. Easterbrook, B. Penzenstadler, N. Seyff, C. C. Venters, “Sustainability design and software:
The Karlskrona manifesto,” 37th International Conference on Software Engineering (ICSE’15), 2015.
https://doi.org/10.1109/ICSE.2015.179
• P. Johnston, M. Everard, D. Santillo, and K.-H. Robèrt, “Reclaiming the Definition of Sustainability,” Environmental Science and
Pollution Research, v.14(1), pp. 60-66, 2007. https://doi.org/10.1065/espr2007.01.375