Presentation on theme: "Does it make sense to apply the FAIR Data Principles to Software?"— Presentation transcript:
1 Does it make sense to apply the FAIR Data Principles to Software? Peter Doorn, Director DANSSustainable Software Sustainability WorkshopThe Hague, March 7-9, 2017
2 Sustainable Software Sustainability Workshop The Hague, 7-9 March 2017 Four Topics:1. FAIR Software?2. Software as Heritage3. Towards an International Software Sustainability Infrastructure4. A Software Seal of Approval?
3 Sustaining software _ + Preserving the code Keep the software running Costs & Complexity_Preserving the codeKeep the software runningSustain the serviceSoftware ArchiveKeep or emulate a platform for the software to run onKeep the knowledge and support for users+
4 DANS is about keeping data FAIR We are not funded to care about software… yet!Mission: promote and provide permanent access to digital research resourcesFirst predecessor dates back to 1964 (Steinmetz Foundation), Historical Data Archive 1989Institute of Dutch Academy and Research Funding Organisation (KNAW & NWO) since 2005
5 Why do we care about software? Our customers ask usResearch Infrastructures demand it (eg. CLARIN)Replication of results requires both data and the tools that process themInformation about data is often encapsulated in softwareLinking data and other research resources (publications, project information - NARCIS)Software as a special form of data (that is executable)SoSu as required element in Research Data ManagementCLARIN: “Centres take care for the sustainability of data and tools and the permanent access to them”
6 Work on SoSu to which DANS contributed TDS Curator project ( ): use case to “curate” the software and data of the “Typological Database System”:Workshops on Software Sustainability (eHumanities/KNAW, Amsterdam, 2013; Knowledge Exchange, Berlin, 2015; NCDD, Amsterdam, 2016)Reports on SoSu:Software sustainability at the Heart of Discovery (with Netherlands eScience Center)A Conceptual Approach to Data Stewardship and Software SustainabilitySoftware Sustainability - final report (commissioned by NCDD and NDE)Guidelines for Software Quality (with Radboud University Nijmegen, Huygens Institute, CLARIAH):Research Software Sustainability: Report on Knowledge Exchange workshop by Simon Hettrick, SSI (Berlin, October 2015):Webinar on SoSu:Memorandum of Understanding, INRIA, Software Heritage Archive
7 Can we use DSA and FAIR for software? Neil Chue Hong spoke about a “Software Seal of Approval” in another sessionI will focus on FAIR principles for SoftwareWhy use the FAIR data principles and not use existing criteria dedicated to software quality?Do the FAIR principles cover the right aspects?Do they cover enough ground?How to operationalize and implement them?How to proceed?
8 Why use the FAIR data principles and not use existing criteria dedicated for software quality? Simplicity: the FAIR principles are simplePopularity: everybody seems to like themSoftware as a special kind of dataExtend Data Management Planning with requirements about softwarePolitical: research funders are embracing the FAIR principlesOperationalization and Implementation are not fixed“Specify what methods or software tools are needed to access the data? Is documentation about the software needed to access the data included? Is it possible to include the relevant software (e.g. in open source code)?”
9 In the FAIR Data approach, data should be: Findable – Easy to find by both humans and computer systems and based on mandatory description of the metadata that allow the discovery of interesting datasets;Accessible – Stored for long term such that they can be easily accessed and/or downloaded with well-defined license and access conditions (Open Access when possible), whether at the level of metadata, or at the level of the actual data content;Interoperable – Ready to be combined with other datasets by humans as well as computer systems;Reusable – Ready to be used for future research and to be processed further using computational methods.Do these principles make sense when we are dealing with software?
10 Approaches to software quality in the context of sustainability Software Quality Management: derived or extracted from ISO and ISO 25000:2005 quality model (SQuaRE).Consortium for IT Software Quality (CISQ) has defined five major desirable structural characteristics needed for a piece of software to provide business value: Reliability, Efficiency, Security, Maintainability and (adequate) Size.Maintainability of software is only one of the quality dimensions. It includes concepts of modularity, understandability, changeability, testability, reusability, and transferability from one development team to another.structure, classification and terminology of attributes and metrics applicable to software quality management have been derived or extracted from the ISO and the subsequent ISO 25000:2005 quality model, also known as SQuaRE. Based on these models, the Consortium for IT Software Quality (CISQ) has defined five major desirable structural characteristics needed for a piece of software to provide business value: Reliability, Efficiency, Security, Maintainability and (adequate) Size.
11 SSI “maintainability checklist” Can I find the code that is related to a specific problem or change?Can I understand the code? Can I explain the rationale behind it to someone else?Is it easy to change the code? Is it easy for me to determine what I need to change as a consequence? Are the number and magnitude of such knock-on changes small?Can I quickly verify a change (preferably in isolation)?Can I make a change with only a low risk of breaking existing features?If I do break something, is it quick and easy to detect and diagnose the problem?
12 Criteria for evaluating Software Sustainability
13 From SSI and CLARIAH Criteria to FAIR: Usability CLARIAH NumberCLARIAH CriterionSSI CriterionExplanationFAIR letterSSI CriteriaCLARIAH CriteriaMoSCoWRepository / Software5Usability73425.1UnderstandabilityIs the software easily understood?F1116MS5.2DocumentationComprehensive well-structured documentation?F225125.4BuildabilityStraightforward to build from source on a supported system??4W5.5InstallabilityStraightforward to install and deploy on a supported system?19105.3LearnabilityEasy/intuitive to learn how to use its functions?R17C5.6Performance-Does the software perform well?R2
14 From SSI and CLARIAH Criteria to FAIR: Sustainability 1 CLARIAH NumberCLARIAH CriterionSSI CriterionExplanationFAIR letterSSI CriteriaCLARIAH CriteriaMoSCoWRepository / Software6Sustainability & Manageability130456.1IdentityProject/software identity is clear and unique?F383MR / S6.2Copyright & LicensingCopyrightEasy to see who owns the project/software?A17-LicencingAdoption of appropriate licence?A25(M)6.14GovernanceEasy to understand how the project is run and the development of the software managed?R?2?W6.4CommunityEvidence of current/future community?R3116.3AccessibilityEvidence of current/future ability to download?A3126.5TestabilityEasy to test correctness of source code?R4194S6.6PortabilityUsable on multiple platforms?I117*C
15 From SSI and CLARIAH Criteria to FAIR: Sustainability 2 CLARIAH NumberCLARIAH CriterionSSI CriterionExplanationFAIR letterSSI CriteriaCLARIAH CriteriaMoSCoWRepository / Software6.7SupportabilityEvidence of current/future developer support?R5212WR / S6.8Analysability**Easy to understand at the source level?F4208M**S6.9ChangeabilityEasy to modify and contribute changes to developers?I21466.12InteroperabilityEvolvabilityEvidence of current/future development?R651-Interoperable with other required/related software?I36.13Interoperability for community (CLARIAH)Does the software comply to requirements for integration into the community (CLARIAH) infrastructureI4?C6.10ReusabilityTo what extend is the software reusable?R73W***6.11Security & PrivacyAre security and privacy dealt with adequately?R?* Several PC/Mac platforms are mentioned, no platforms for mobile devices** Combine with understandability/documentation*** Is defined by all the other criteria
16 CLARIAH’s Minimal Requirements for 4 Configurations NoMinimal Community Requirement (CLARIAH)1: Actively Supported End User Software2: Unsupported End User Software3: Actively Supported Experimental Software4: Unsupported Experimental Software1version control system32one command that installs all dependenciesbuilt with one command4one command that will perform the installation-5run in the foreground6runtime dependencies7one uninstall script8installation exceptions9README file20191310documentation must be stored alongside the code11documentation must be also stored in an archivable format12websiteuser interface of the application should point to the website14user interface should point to the contact information15API must be discoverable16configuration containing all available options17distributed under an OSI approved licence18CONTRIBUTING filenot store usernames and passwordsexperimental nature must be clear21requirements must be distributed alongside the code50473028
17 Scoring the criteria: binary? 5.2Documentation (Y=1; N=0)NoYesD1Is the software documented?1D2Is the documentation accessible?D3Is the documentation clear?D4Is the documentation complete?D5Is the documentation accurate?D6Does the documentation provide a high level overview of the software?D7Are all the necessary audiences addressed, at their appropriate levels?D8Does the documentation make use of adequate examples?D9Is there troubleshooting information?D10Is the documentation available from the project website?D11Is the documentation under version control?D12Does the documentation describe the latest version?CLARIAHSSI
18 Or score on a 5-point scale? 5.2Documentation (Low/Bad/No = 1; High/Very/Yes = 5)Low/Bad/NoModerateHigh/Very/YesD1How well is the software documented?1234D2How well is the documentation accessible?D3How clear is the documentation?D4How complete Is the documentation?D5How accurate the documentation?D6Does the documentation provide a high level overview of the software?D7How well are all the necessary audiences addressed, at their appropriate levels?D8How adequately does the documentation make use of examples?D9Is there troubleshooting information?-D10Is the documentation available from the project website?D11Is the documentation under version control?D12Does the documentation describe the latest version?
19 FAIR criteria x MoSCoW M S C W ? Total F 4 A 2 I 1 R 9 6 3 7 21 Remember KISS!Required?Additional?
20 Thank you for listening! iwww.dans.knaw.nl Webinar Doorn & Dillo on FAIR & DSA: