---
title: On Processes for Developing Open Standards
tags: manuscripts
robots: noindex, nofollow
---
# 1 Introduction
Many aspects of human endeavour, notably including academic activities,
have become increasingly “open” through the use of openly published data
and openly available tools. Such open activity has been largely enabled
by computational technology, in particular increases in bandwidth
available to share and access online open resources. One notable example
have been activities conducted in accordance with the so-called “FAIR”
principles for scientific data of Findability, Accessibility,
Interoperability, and Reusablility (Wilkinson et al. 2016). The first
two of those four components (Findability and Accessibility) directly
require some degree of openness to achieve, while the latter two
(Interoperability and Reusablility) are greatly facilitated or enhanced
by openness. FAIR principles may accordingly be viewed as an elucidation
of the importance of openness within the context of scientific data.
These principles extend beyond the domain of scientific data, for
example through to the tools used to develop and guide scientific
process, and in particular to software (Hasselbring et al. 2020).
Openness of software, especially manifest through open-source software,
is particularly important in encouraging and enabling activities
conducted in accordance with all four of the FAIR principles. Using
open-source software in scientific research naturally leads to *sharing*
software, which in turn leads to software being inherently designed for
*interoperability* and *reusablility*. The result is software being
designed to be (more) modular (Zirkelbach, Krause, and Hasselbring
2019). While modularity is a very effective way to enhance
*interoperability* and *reusablility*, it also means that any given
piece of software will have a wider range of dependencies on other
pieces of software not directly under the control of any particular
group of researchers.
Such increasing ranges of dependencies mean that adherence to FAIR
principles both of scientific data and processes increases the need to
ensure that interoperated and reused components are of sufficient
quality or standard. Extending the FAIR principles to scientific process
thus unavoidably requires the development of standards which, in
accordance again with FAIR principles, must themselves be open. While
individual researchers and research organizations can engage with these
principles largely independent of other researchers or organizations,
the ongoing effectiveness of these principles in transforming research
to become more *FAIR* ultimately requires the development,
dissemination, and adoption of open standards, and that can only emerge
from collective rather than individual-level enterprise.
## 1.1 Open Standards
We consider open standards to be those which are and continue to be
guided by public discussions, and to which anybody may contribute
(referred to as open “concerted” standards by Cerri and Fuggetta 2007).
The development of adoption of open standards is in itself an enacting
of FAIR principles, because such standards must reflect, among other
aspects, an intention to enhance *interoperability* and *reusablility*.
Within software contexts, open standards have been most widely
considered in regard to formats for representing and/or exchanging data
(such as standards for “pdf” or “svg” file formats, respectively defined
and maintained by a closed private corporation, and the open Worldwide
Web Consortium). The development of such standards can often greatly
facilitate the development of standard tools (or the standardisation of
existing tools), which can in turn reduce costs, either or initial entry
into, or ongoing maintenance of, processes (Dedrick 2003).
Standards are generally developed by some form of organization[1] with a
vested interest in the perceived benefits of being associated with those
standards, commonly either through recognition, perceived benefit for
their own work, or both. Organizations interested in developing
standards are also generally embedded within broader communities which
may also be involved with, and benefit from, the development and
application of standards. Open standards in particular are by definition
embedded within open community participation. Open “concerted” standards
as defined by Cerri and Fuggetta (2007) are defined by the two primary
attributes of
1. Being defined and maintained *in concert* by groups of generally
open or public organizations; and
2. Being defined and managed by an open, participatory process that is
not necessarily confined to the organizations which issue the
standards (from here on, “issuing organizations”).
The present work focusses exclusively on open concerted standards in
this sense, for which community engagement both in processes of initial
conception and ongoing development is particularly important. Open
concerted standards are ones for which general community members beyond
issuing organizations may contribute both to initial definition and
ongoing development of standards. This is in contrast with other types
of standards, and particularly with closed standards which may be
entirely defined and maintained by a closed and select group of
individuals, each of whom may commonly be deemed some kind of domain
expert. While the consultation of such domain experts may also play a
role in the initial definition and ongoing maintenance of open concerted
standards, expert consultation alone will generally not be sufficiently
participatory or community-oriented for standards to adequately reflect
a community *in concert*. This work thus primarily focuses on tools and
techniques uniquely applicable to such open processes, and places
concomitantly relatively little focus on what might be considered more
traditional approaches to standards development such as expert
consultation.
The importance of open standards have been considered in numerous
specialised domains, such as health care (Reynolds and Wyatt 2011),
libraries (Corrado 2005), and governance (Simon 2005).
## 1.2 Restrictions of our Project
- Much of the empirical research was drawn from material ultimately
arising from academic activities which are inherently open, and so
provide sufficient material to define scope and usage of software.
- Adaptation to other areas with comparably less “raw data” available
in open form may not be so straightforward.
- That said, the empirical research ultimately aimed only to construct
a “network graph” of inter-relationships between concepts within our
chosen domain. Any information that could be used to define concepts
and their inter-relationships could be used to approach this task.
For example, an analogous network graph could be derived by
analysing dependency graphs of open-source software.
## 1.3 Motivation
We aim here to document a process by which we developed a suite of open
standards for open-source software, and in doing so to provide a
template able to be adopted and adapted for *reusablility* in other
domains. More generally, we aim to demonstrate an effective way to
approach and hopefully overcome the problem elucidated at the outset
that individually-adopted FAIR principles unavoidably require the
development of collectively-consensual open standards. This
demonstration is intended to serve as a template for how FAIR principles
in other domains can be extended towards the development of sets of
collective, open standards, which further enables and enhances the
ongoing development of FAIR research.
## 1.4 Context
Our area of application was statistical software written in the computer
language R, a language explicitly designed for “statistical computing.”
The present work describes a project to expand an existing system for
peer review of open source software developed by *rOpenSci* to
accommodate explicitly statistical software. The current review system
encompasses several categories of software developed in the R language,
yet excludes statistical software, because the organization felt they
had no members with sufficient expertise in that domain. One of the most
important components of project to expand the scope to include
statistical software was the development of a suite of standards. All
empirical descriptions of the present work thus pertain to the specific
domain of statistical software, yet we attempt throughout to extract
general or generalizable principles behind this specific application,
and to explore how our domain-specific processes might be adapted for
development in other domains.
## 1.5 Additional Stuff
- “Working in Public” by Nadia Eghbal
- Examples of FDA + EU standards for pharma workflows including
software; R Validation Hub
- Discuss relationship between standards and assessment
# 2 Developing Open Standards
Standards are most effectively developed within a concrete and
definitive structure. While it may be possible to develop standards to
apply to some generic domain without any notion of how that domain may
be internally structured, the task will likely be both easier and more
effective when the internal structure of an overall domain of
applicability is first defined. Arguably the easiest way to define such
internal structure is to divide a domain among a number of
domain-specific categories.
We ultimately consider a hierarchical sub-division of an entire domain
at a first level into categories, and at a second, subsidiary level,
into sub-categories within those categories, such that the standards for
each category are intelligibly separated among specified sub-categories.
The primary task of definition nevertheless remains that of defining
categories, as considered in the following sub-section. Following that
we consider the process of defining standards for each category, which
involves the clarification of sub-categories. The subsequent two
sub-sections then consider processes of revision, iteration, and ongoing
development of resultant standards.
## 2.1 Defining Scope
The first task in developing any standards is defining the scope of what
is to be considered under the standards. Any set of standards can only
be applied within some specific domain. Our domain of application, as
explored at length in the subsequent *Demonstration* section, was
statistical software, but the present section is intended to be as
generally applicable as possible, including to domains other than
software.
Defining specific categories within a domain of application for
standards enables sub-sets of standards to be devised for more
restricted application to those categories only. This will likely
generally be an easier task than devising standards which aim for
universal applicability across an entire domain. Therefore defining
scope is one of the most important steps in developing any set of
standards, with this section exploring general processes by which scope
may be defined in terms of categorical distinctions with a given domain.
As described at the outset, we largely eschew processes which may be
effectively used to define the scope of closed standards such as expert
consultation, and focus here on more open and ultimately more
reproducible and transferable processes.
### Empirical Derivation of Categories
We now describe general processes by which categories can be defined
using empirical input data of (i) a series of potential categorical
labels, and (ii) some measure of inter-relationship between those
labels, such as frequencies or counts of co-occurrence. This sub-section
describes how those kinds of data can be submitted to clustering
algorithms in order to empirically distinguish unique sub-domains with
the data.
These input data must be derived from some kind of corpus containing a
series of objects. These objects can be solely textual, as in our case
below which used conference abstracts, or they might be non-text objects
such as software repositories. Either way, each object must be assigned
one or more categorical labels. In our case, we performed an initial,
superficial perusal of our corpus to intuit what kinds of labels may be
useful in describing the abstracts. We then proceeded to label
individual abstracts, keeping a record of all unique labels developed as
we proceeded through the corpus. These labels were, and will likely
generally be, partly subjective, with a primary initial effect being
that items in the list of labels were modified and revised as we
proceeded through the corpus.
We thus performed the labelling exercise twice: A first time in order to
derive a representative and stable list of potential labels, and a
second time to apply items from the final list of labels to each entity
in our corpus. Our primary input data was then simply a list of items,
one for each abstract, each entry of which contained one or more labels
of sub-categories within our overall field of statistical software.
We then converted these lists into a network representation, with
weights between each pairs of unique labels formed by the aggregate
number of times those two labels co-occurred within any single corpus
entity. While it may be possible to submit such a network representation
to an empirical routine in order to discern clusters of related labels,
the results in our case did not appear particularly useful. We therefore
converted our network into an interactive `html` format which enables us
to examine the resultant network and apply subjective insights into
resultant patterns.
#### Sourcing and Collating Input Data
As primary input data we needed a corpus of texts representative of our
primary domain of statistical software. We initially tried using
published academic texts extracted from online open-access journals, but
found that language used within typical academic papers describing
statistical software was so highly specialised and accordingly stylised
that identifying words were unable to serve as categorical labels
because they were either overly unique (being used in only or or two
manuscripts), or overly generic and used ubiquitously throughout our
entire domain.
## 2.2 Defining Category-Specific Standards
## 2.3 Iterating Standards
## 2.4 Ongoing Development and Versioning
# 3 Demonstration
The following methods
## 3.1 Defining Scope
- Collect “raw data” by:
- Identifying online (or other) resources providing textual
descriptions of software development and usage within our area
of application.
- Manually filter to only those texts specifically relating to
software
- Analyse raw data by:
- Initial text analyses to extract key words and concepts
- Manually refine these to a working set of key words and concepts
- Manually ascribe key words/concepts to each text in the data set
- Convert texts to frequencies of association between all pairs of
key words/concepts
- Extraction of key words/concepts:
- Produce a visual representation of network of key
words/concepts, with connections visually weighted by relative
frequencies of association.
- Use those relative frequencies of association to statistically
identify clusters of similar key words/concepts.
- Provide each distinct cluster within the visualization with its
own colour
- Use that visualization to identify distinct clusters of key
words/concepts
- Mapping key words/concepts onto sub-categories:
- For each key word/concept, extract from the text corpus all
strongly associated words, divided into different parts of
speech (primarily adjectives, nouns, or verbs).
- Use the resultant lists of associated words to formulate an
initial description of that key word/concept as a potential
sub-category for which to develop standards.
## 3.2 Formulating Standards
- Process used / devised to derive actual standards for the
empirically derived set of candidate categories.
------------------------------------------------------------------------
# 4 References
<div id="refs" class="references csl-bib-body hanging-indent">
<div id="ref-cerri_open_2007" class="csl-entry">
Cerri, Davide, and Alfonso Fuggetta. 2007. “Open Standards, Open
Formats, and Open Source.” *Journal of Systems and Software* 80 (11):
1930–37. <https://doi.org/10.1016/j.jss.2007.01.048>.
</div>
<div id="ref-corrado_importance_2005" class="csl-entry">
Corrado, Edward M. 2005. “The Importance of Open Access, Open Source,
and Open Standards for Libraries.” <https://doi.org/10.5062/F42F7KD8>.
</div>
<div id="ref-dedrick_why_2003" class="csl-entry">
Dedrick, J. 2003. “Why Firms Adopt Open Source Platforms: A Grounded
Theory of Innovation and Standards Adoption.” In *Standard Making: A
Critical Research Frontier for Information Systems*, 145:236–57. MSIQ.
<https://www.semanticscholar.org/paper/WHY-FIRMS-ADOPT-OPEN-SOURCE-PLATFORMS>.
</div>
<div id="ref-hasselbring_fair_2020" class="csl-entry">
Hasselbring, Wilhelm, Leslie Carr, Simon Hettrick, Heather Packer, and
Thanassis Tiropanis. 2020. “From FAIR Research Data Toward FAIR and Open
Research Software.” *It - Information Technology* 62 (1): 39–47.
<https://doi.org/10.1515/itit-2019-0040>.
</div>
<div id="ref-reynolds_open_2011" class="csl-entry">
Reynolds, Carl J., and Jeremy C. Wyatt. 2011. “Open Source, Open
Standards, and Health Care Information Systems.” *Journal of Medical
Internet Research* 13 (1): e24. <https://doi.org/10.2196/jmir.1521>.
</div>
<div id="ref-simon_value_2005" class="csl-entry">
Simon, K. D. 2005. “The Value of Open Standards and Open-Source Software
in Government Environments.” *IBM Systems Journal* 44 (2): 227–38.
<https://doi.org/10.1147/sj.442.0227>.
</div>
<div id="ref-wilkinson_fair_2016" class="csl-entry">
Wilkinson, Mark D., Michel Dumontier, IJsbrand Jan Aalbersberg,
Gabrielle Appleton, Myles Axton, Arie Baak, Niklas Blomberg, et al.
2016. “The FAIR Guiding Principles for Scientific Data Management and
Stewardship.” *Scientific Data* 3 (1): 160018.
<https://doi.org/10.1038/sdata.2016.18>.
</div>
<div id="ref-zirkelbach_modularization_2019" class="csl-entry">
Zirkelbach, Christian, Alexander Krause, and Wilhelm Hasselbring. 2019.
“Modularization of Research Software for Collaborative Open Source
Development.” *arXiv:1907.05663 \[cs\]*, July.
<http://arxiv.org/abs/1907.05663>.
</div>
</div>
[1] Notwithstanding the possibility of standards being developed by one
or more individuals who do not necessarily affiliate themselves with any
“organization” as such.