<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Secret Life of Software Communities: What we know and What we Don't know</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gemma Catolino</string-name>
          <email>g.catolino@tudelft.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Palomba</string-name>
          <email>fpalomba@unisa.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Damian A. Tamburri</string-name>
          <email>d.a.tamburri@tue.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Delft University of Technology</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Eindhoven University of Technology and Jheronimus Academy of Data Science</institution>
          ,
          <addr-line>JADS</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Salerno</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Communities of software practice are increasingly playing a central role in the development, operation, maintenance, and evolution of good-quality software, as well as DevOps pipelines, lean Organizations and Global Software Development. However, the structures and characteristics behind such communities are still unknown. For this reason, in this paper, we tried to explore the organizational secret of communities, trying to o er a few practical extracts of (1) what we know and is known, (2) what we know to be unknown, and (3) what we know to be tentatively discoverable in the near future from an empirical research point of view. Moreover, the paper provides a number of recommendations for practitioners to help and be helped in their community endeavors.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Index terms| Community Types; DevOps; Road
Map
Communities are the foundation and backbone of
organized societies and just as much as our
softwaredriven civil societies are dense with communities, the
software makers are also organized into communities of
practice (e.g., in open-source), of intent (e.g., in
standardization groups), of purpose (e.g., as part of agile
movements). Recent studies showed how the
community's health can re ect the quality of the software
produced [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ], for this reason the research community has
tried to deeper analyze and characterize the structure
of software communities (i.e., de ned as social units
of size, dense strongly-typed and diverse interactions
across diverse roles and uid characteristics) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>In this paper, we discuss about a few basic facts and
observations about the secret life of software
communities which we were able to empirically establish over
previous research studies as well as our own practice
as part of software communities themselves.</p>
      <p>We outline the roundup to encourage further
research into understanding and harnessing the (still)
very much secret life of open-source communities, as
well as their structural, socio-technical, and health
characteristics. Furthermore, we aim to call for help
from the practitioners themselves in supporting their
own software community activity and therefore, we
provide practitioners with practical recommendations
or calls for help de ned with the intent of engaging
their interest around the matter and/or allowing
further understanding their needs from a research
perspective, such that we as a research community can
aid them in a better fashion. Moreover, we provide a
brief road map for further research along this
intriguing emerging topic.
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Practical Recommendation</title>
      <sec id="sec-2-1">
        <title>Software Communities Have</title>
        <p>
          Several community types have been studied in
organizational structures and social networks research -
Figure 1 o ers an overview of these types extracted from
a systematic studies on the matter [
          <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
          ]. In Layman's
terms, a community type is a series of characteristics, a
pattern, which remain constantly true across the social
network underlying that community. What is still
understood fairly little in the state of the art of software
engineering research is that, on the one hand, software
communities not surprisingly exhibit the same types
already known in literature, but, on the other hand,
the role of community types and characteristics for the
bene t (or fallacy) of software code qualities as well as
software processes remains mostly unknown.
        </p>
        <p>What we don't know: (a) the in uence of
community types over software qualities as well as the
qualities of software processes; (b) algorithms and
measurements to precisely pinpoint type shifts across
the community's life-cycle; (c) design patterns for
community structures which are contiguous with design
patterns in underlying software architectures.</p>
        <p>
          What should practitioners do: (1) follow
community tracking and measurement initiatives such
as OpenHub1 or Bitergia2 to gather insights over
their own community and act upon it - this ensures
that progress in community management,
measurement, and steering practices are harnessed; (2) engage
in community quality and health initiatives such as
CHAOSS3 - this ensures that initiatives struggling to
crack the code of sustainable software communities are
well fed with engaged practitioners; (3) manifest their
own organizational and socio-technical issues as much
as the code-quality issues - this ensures that social
software engineering [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] researchers have both quantities
and qualities of the right data and evidence to study.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>FACT 2. Types In uence Software Qualities</title>
        <p>We conducted several observations/analyses to
exploratively gure out the boundaries around the in uence
that software community types may be playing over
the qualities for software production and its
maintenance. Figure 2, for example, shows the in uence
of several types over the rate of re-opened issues
investigated over 25 open-source communities sampled
according to community participants age, size,
gender diversity, community programming language, type
of product, geographical dispersion, and activity, the
last one measured as the mean activity stemming from
1 http://openhub.net/
3 http://chaoss.community/
2 https://bitergia.com/</p>
        <p>Bitergia and OpenHub. The Box-plot in Figure
2 was generated by operationalizing a series of
metrics to measure essential characteristics from Figure 1
and match them with corresponding types as well as
their mean proneness to re-opening issues, that is, the
mean ratio of re-opened issues over 6 months worth
of releases in the projects lifetime. The plot shows
that something is in fact going on - in this case, the
data shows that Formal-Networks (second bar from
the left) may be exhibiting an organizational
behavior which tends to re-open issues more often than
other types. Conversely, the opposite seems true for
Informal-Communities (third bar from the left).</p>
        <p>What we don't know: (a) a general quality
model of what software qualities are in uenced by
which community structure qualities; (b) which
community structure characteristics play a role for
software communities; (c) how to quantify what is the
additional cost or socio-technical debt connected to
sub-optimal characteristics; (d) how to measure a type
and use those measurements as devices for improved
governance or organizational structure agility.</p>
        <p>What should practitioners do: (1) open issues
on issue-trackers not only for software code but also
for perceived community structure issues - they are as
much impactful as they are dangerous and can even
lead to breaking the internet (see the NPM incident4);
(2) report software community accidents on your
version control system as much as you do on
StackOverflow - researchers need to study both to come up with
proper empirically established ground truths as well as
practical outputs to support your work.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>FACT 3. Types narrow with Practitioners' Experience</title>
        <p>Similarly to results in Figure 2, we report that the
number of types intermixed in the same community
types, that is, the number of attributes diversity across
a community reduces as the practitioners' age (or their
experience, skills, community participation). In the
same study that led us to prepare the plot in
Figure 2, we reported an inverse correlation of 0:40
(p-value &lt;&lt; 0:05) between the mean developers
experience with the community (i.e., the total time they
spent working in the community) across our projects
sample and the amount of community types and
characteristics that manifest explicitly across the
community.</p>
        <p>What we don't know: (a) how to quantify
mentorship and experience as assets across software
communities and how to reward both in a proper fashion;
(b) how to infer community evangelists and use them
as thought leaders for their software communities; (c)
4 https://tinyurl.com/yaferj3b
what skills and characteristics matter more than
others in software communities and which skills grow with
age and which others do not, as well as how to foster
the growth and nourishment of skills that cannot grow
with time (e.g., knowledge communication)</p>
        <p>
          What should practitioners do: (1) prepare
codes of conducts [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] which re ect also the mentorship,
governance structure, experience and reward
management as well as the code contribution policies or
goodbehavior across the community; (2) make the software
code re ect the code of conduct, namely, use comments
in software code to reprimand or exercise social
sanctioning [
          <xref ref-type="bibr" rid="ref4 ref7">4, 7</xref>
          ] wherefore codes of conducts are violated.
We observed that 82% of the abandonware
communities in our sample exhibited a formal type in the last
6 months of their life. This is in line with previous
research and observations from Crowston et al. [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] where
informality is signaled as an essential software
community health parameter.
        </p>
        <p>What we don't know: (1) whether it is in
fact true if formal characteristics and types lead to
abandon-ware | empirical software engineering needs
to be instrumented to actually assess and establish this
link; (2) what `formal' means, in the software
engineering world and in terms of socio-technical and
organizational relations | typically in software engineering a
formal formulation involves proofs, foundational
theories, but from the realm of social-networks analysis
and organizations research, the word and concept of
\formality" assumes a sensibly di erent meaning; (3)
the measured role of \informal" as opposed to formal
| how can one foster informal? Is Informal bene cial?
These and similar research questions are still out there
for the taking;</p>
      </sec>
      <sec id="sec-2-4">
        <title>What should practitioners do: we don't know,</title>
      </sec>
      <sec id="sec-2-5">
        <title>FACT 5. Communities can be healthy and sustainable</title>
        <p>
          Many studies in the literature identify healthy
values for several community characteristics, e.g.,
sociotechnical congruence [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] or community structure veri
cation [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. These indicators, stemming from top
studies, lead to argue that software communities, like other
thriving communities in our societal structures, can be
turned healthy and made sustainable with
appropriate and dedicated e orts | sites such as Bitergia,
OpenHub, as well as initiatives and research projects
such as OSSMeter 5 are fundamental assets to drive
the societal challenge of making software communities
aware and sensible to their health, as sustainable
communities should be. In this respect, the state of the
art in organizations research, social networks
analysis as well as emerging disciplines such as sustainable
community development [
          <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
          ] can aid but even
typical, structured approaches used in software
engineering such as formalization [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], e.g., to better
understand and measure the socio-organizational dynamics
playing a role across software communities. Although
some scholars may see this endeavor with some healthy
skepticism and assign less value to it in comparison to
other areas of software engineering, such as software
testing or maintenance, it is important to note that
these aspects have shown to be of major importance as
it can be seen from the research literature [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] or [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>What we don't know: (a) a
systematicallygenerated, general quality model for software
communities with supporting evaluation and analytic tools
and automatons; (b) a practical implementation of
sustainability in software communities which are
currently managed in a rather trial-and-error fashion,
with due exceptions (e.g., the Apache Software
Foundation); (c) the dimensions, qualities, and metrics of
software community sustainability, to be used jointly
with a quality model for performing, long-lived,
highquality software communities.</p>
      </sec>
      <sec id="sec-2-6">
        <title>What should practitioners do: we don't know,</title>
        <p>yet.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>
        As it turns out, the impact of communities in software
development needs to be further investigated. As a
matter of fact, our non-exhaustive list cannot convey
enough that there is much more we don't know with
respect to how much we do know; most especially, we
don't know a lot about what should practitioners do to
cater for their communities, striving for healthy types
matching their organizational requirements over time
and in a sustainable fashion. Our conclusion is not
only that more work is needed to explore the aspects
we non-exhaustively pointed at | rather, the most
dire observation is that, in order to better support the
(secret) life of software practitioners in their
communities, practitioners themselves may be well encouraged
to treat the community as a software-in uencing
artifact itself, thus, for example, opening issues if a
community issue or smell does in fact manifest. An
in5 http://ossmeter.org/
creased practitioner community consciousness will
increase awareness over the problem, making it more
explicit, measurable, and hence improvable by
practitioners as well as for researchers. In the future it
is our ultimate intention to further pursue the road
map that emerges from the previous identi ed
shortcomings, and, at the same time, work to improve
software forges, collaborative coding environments, IDEs
or other software equipment that practitioners may use
to build, maintain, or work upon their code as part of a
lively and healthy community and with more
appropriate software engineering `ergonomics', intended as the
disciplines of software engineering which engage into
designing or arranging software commons,
communities, workplaces, work-products, and working systems
so that they t the people and goals around them [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Fabio</given-names>
            <surname>Palomba</surname>
          </string-name>
          , Damian A.
          <string-name>
            <surname>Tamburri</surname>
            , Alexander Serebrenik, Andy Zaidman, Francesca Arcelli Fontana, and
            <given-names>Rocco</given-names>
          </string-name>
          <string-name>
            <surname>Oliveto</surname>
          </string-name>
          .
          <article-title>How do community smells in uence code smells? In ICSE (Companion Volume)</article-title>
          , pages
          <fpage>240</fpage>
          {
          <fpage>241</fpage>
          . ACM,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Fabio</given-names>
            <surname>Palomba</surname>
          </string-name>
          , Damian Andrew Andrew Tamburri, Francesca Arcelli Fontana, Rocco Oliveto, Andy Zaidman, and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          .
          <article-title>Beyond technical aspects: How do community smells in uence the intensity of code smells? IEEE transactions on software engineering</article-title>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Damian</surname>
            <given-names>A Tamburri</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Patricia</given-names>
            <surname>Lago</surname>
          </string-name>
          , and Hans van Vliet.
          <article-title>Organizational social structures for software engineering</article-title>
          .
          <source>ACM Computing Surveys (CSUR)</source>
          ,
          <volume>46</volume>
          (
          <issue>1</issue>
          ):
          <fpage>3</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Damian</surname>
            <given-names>A Tamburri</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Patricia</given-names>
            <surname>Lago</surname>
          </string-name>
          , and Hans Van Vliet.
          <article-title>Uncovering latent social communities in software development</article-title>
          .
          <source>IEEE software</source>
          ,
          <volume>30</volume>
          (
          <issue>1</issue>
          ):
          <volume>29</volume>
          {
          <fpage>36</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Will</given-names>
            <surname>Tracz</surname>
          </string-name>
          .
          <article-title>Lord of the les: essays on the social aspects of software engineering by russel ovans</article-title>
          .
          <source>ACM SIGSOFT Software Engineering Notes</source>
          ,
          <volume>36</volume>
          (
          <issue>6</issue>
          ):
          <volume>31</volume>
          {
          <fpage>31</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Computing</given-names>
            <surname>Machinery ACM.</surname>
          </string-name>
          <article-title>Acm code of ethics and professional conduct</article-title>
          .
          <source>Code of Ethics</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Karl</given-names>
            <surname>Sigmund</surname>
          </string-name>
          , Christoph Hauert, Arne Traulsen, and Hannelore De Silva.
          <article-title>Social control and the social contract: the emergence of sanctioning systems for collective action</article-title>
          .
          <source>Dynamic Games and Applications</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <volume>149</volume>
          {
          <fpage>171</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Richard</surname>
            <given-names>T Watson</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marie-Claude Boudreau</surname>
          </string-name>
          , and
          <string-name>
            <surname>Adela</surname>
          </string-name>
          J Chen.
          <article-title>Information systems and environmentally sustainable development: Energy informatics and new directions for the is community</article-title>
          .
          <source>MIS quarterly</source>
          ,
          <volume>34</volume>
          (
          <issue>1</issue>
          ),
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Marcelo</given-names>
            <surname>Cataldo</surname>
          </string-name>
          ,
          <string-name>
            <surname>James D Herbsleb</surname>
          </string-name>
          , and
          <string-name>
            <surname>Kathleen</surname>
            <given-names>M Carley.</given-names>
          </string-name>
          <article-title>Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity</article-title>
          .
          <source>In Proceedings of the Second ACMIEEE international symposium on Empirical software engineering and measurement</source>
          , pages
          <volume>2</volume>
          {
          <fpage>11</fpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Mitchell</given-names>
            <surname>Joblin</surname>
          </string-name>
          , Wolfgang Mauerer, Sven Apel, Janet Siegmund, and
          <string-name>
            <given-names>Dirk</given-names>
            <surname>Riehle</surname>
          </string-name>
          .
          <article-title>From developer networks to veri ed communities: a negrained approach</article-title>
          .
          <source>In Proceedings of the 37th International Conference on Software EngineeringVolume 1</source>
          , pages
          <fpage>563</fpage>
          {
          <fpage>573</fpage>
          . IEEE Press,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Juan</surname>
            <given-names>Lucena</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Jen</given-names>
            <surname>Schneider</surname>
          </string-name>
          , and
          <article-title>Jon A Leydens. Engineering and sustainable community development</article-title>
          .
          <source>Synthesis Lectures on Engineers, Technology, and Society</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          ):1{
          <fpage>230</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Dieter</given-names>
            <surname>Rombach</surname>
          </string-name>
          and
          <string-name>
            <given-names>Frank</given-names>
            <surname>Seelisch</surname>
          </string-name>
          .
          <article-title>Formalisms in software engineering: Myths versus empirical facts</article-title>
          .
          <source>In IFIP Central and East European Conference on Software Engineering Techniques</source>
          , pages
          <volume>13</volume>
          {
          <fpage>25</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Darja</given-names>
            <surname>Smite</surname>
          </string-name>
          and
          <string-name>
            <given-names>Zane</given-names>
            <surname>Galvina</surname>
          </string-name>
          .
          <article-title>Socio-technical congruence sabotaged by a hidden onshore outsourcing relationship: lessons learned from an empirical study</article-title>
          .
          <source>In International Conference on Product Focused Software Process Improvement</source>
          , pages
          <volume>190</volume>
          {
          <fpage>202</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Johann</given-names>
            <surname>Rost and Robert L Glass</surname>
          </string-name>
          .
          <article-title>The dark side of software engineering: evil on computing projects</article-title>
          . John Wiley &amp; Sons,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>