<!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>Mining Email Archives and Simulating the Dynamics of Open-Source Project Developer Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Liguo Yu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Srini Ramaswamy</string-name>
          <email>sxramaswamy@ualr.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chuanlei Zhang</string-name>
          <email>cxzhang@ualr.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Department, University of Arkansas at Little Rock</institution>
          ,
          <addr-line>Little Rock, AR</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Computer Science and Informatics, Indaian University South Bend</institution>
          ,
          <addr-line>South Bend, IN</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>17</fpage>
      <lpage>31</lpage>
      <abstract>
        <p>In distributed open-source software projects, participation of developers is largely by a voluntary basis. Programmers are not only free to join in or to leave the project, but they are also free to choose who they interact with, and how much they contribute to the project. In that sense, open-source project developers form a dynamic social network. This paper presents a measure to represent the interactions of distributed open-source software developers and utilizes data clustering techniques to mine their email archives to derive a representation of the associated social network. This method is applied on case studies of three social networks from two open-source projects, Linux and KDE. The dynamics of the three networks are then analyzed and simulated using agent-based modeling techniques. Our study shows that the three open-source developer networks evolved over time with some predictable patterns.</p>
      </abstract>
      <kwd-group>
        <kwd>Social network</kwd>
        <kwd>open-source project</kwd>
        <kwd>data mining</kwd>
        <kwd>email archive</kwd>
        <kwd>agentbased simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Software development process is not only the development work of developers, the
interactions between them is also very important. Theses interactions which form a
social network is critical for cooperation, issue resolution, and information sharing
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Therefore, studying the organization of the social network is important to
understanding and improving the software process [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Open-source software consists of programs whose licenses give its users the
freedom to run the program, to study and modify the source code, and to redistribute
copies of the program [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The open-source software development process does not
adhere to the traditional organizational structure and associated rationality found in
the closed-source software development process. Instead, open-source software
programs are built by an informal group of volunteers who work in a distributed
environment. Communication and coordination between the developers are through
emails and shared repositories, such as manuals, design documents, source code and
bug reports. Therefore, open-source software development can be thought of as a
complex web of socio-technical processes and development situations sustained
within a global interaction network [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Studying such an open-source software
development network can provide an interesting perspective into how open-source
software systems are constructed and evolve over time. It can also help us understand
how such networks should be constructed and structured to improve the resulting
development process.
      </p>
      <p>One important difference between closed-source software organization and
opensource software organization is the stability of the developer network. In
closedsource projects, the developers are relative stable with respect to the activities they
perform, other developers they interact with, and their respective roles; while in
opensource projects, participation is largely voluntarily, programmers are not only free to
join in or leave the project, but they are also free to choose who they interact with,
and how much they contribute to the participating project. Accordingly, the
opensource project developer network is highly dynamic and evolves continually over
time.</p>
      <p>
        Due to this loose management property, the information about open-source project
organization, alliance formation, and communication network is not very well
documented. However, open-source software projects contain email archives, which
constitute an extensive on-line record of user feedbacks, issue resolutions, and
problem-solving behaviors [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. This data is publicly available and amenable to
modern data mining techniques so that we can extract useful information on various
development organizations and associated development processes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. On the
other hand, simulation is a powerful technique to model the behavior of social
networks. Therefore, in this paper, we apply both data mining techniques and
simulation techniques to study the dynamics and the evolution of open-source social
networks.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Mailing List and Communication Network</title>
      <p>In this study, we use communications in mailing lists to construct and analyze the
social network. First, we introduce some terminologies and metrics to represent
mailing lists and the interactions between developers.</p>
      <p>A message is the smallest unit of information posted by one person at a time. A
message can be either an initiating message that starts a new topic or a replied
message that responds to other messages (either a new message or a replied message).</p>
      <p>A thread is defined as a collection of messages that discuss the same topic. A
thread contains one initiating message and zero or more replied messages.</p>
      <p>A poster is a person posting a message on the list, who is either an initiator or a
replier. An initiator is one who posts an initiating message on the mailing list. A
replier is one who posts a replied message on the mailing list.</p>
      <p>A mailing list is a forum for project managers, developers, bug-reporters, and users
to exchange ideas, report problems, and find solutions. Any posted messages will be
delivered to all the subscribers. Although messages are delivered to all the
subscribers, most of the topics are not of interest to regular subscribers. Instead, a
message thread might only be interesting to those subscribers who participate in the
discussion in this thread.</p>
      <p>Therefore, communications between two posters who posts the replied message
and who receives the replied message (more accurately, the target audience of the
replied message) form a channel. A channel could be either a one-way or a two-way
channel. A one-way channel exists between two posters P1 and P2, in which P1
replies to the message posted by P2. A two-way channel exists between two posters
P1 and P2, in which both P1 and P2 reply to the messages posted by each other.</p>
      <p>A one-way channel (say P1→P2) represents the service relationship between P1
and P2, i.e., P1 answers or comments on P2’s message. A two-way channel (say
P1↔P2), represents the collaboration/coordination relationship between P1 and P2,
i.e, P1 and P2 discuss some common interesting topics.</p>
      <p>The organization of the communication network can be represented by two
measures, bandwidth and interaction degree. The bandwidth of a channel is the
measure of the communication frequency between two members: The bandwidth of a
one-way channel P1→P2 is the number of messages posted by P1 that is a reply to the
message from P2; The bandwidth of a two-way channel P1↔ P2 is the number of
messages posted by P2 to reply a message from P1 plus the number of messages
posted by P1 to reply a message from P2.</p>
      <p>
        The interaction degree is the number of channels between one particular member
and all other members in the network. Generally speaking, a poster with a larger
interaction degree tends to play a more central role in the community, because s/he
interacts with more members [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 Research Procedures</title>
      <p>This study contains five steps. Each of these steps is identified and further elaborated
below.</p>
      <sec id="sec-3-1">
        <title>Step one: interaction representation</title>
        <p>
          To represent the degree of interactions between developers, we adopt a
terminology, interaction frequency (IF) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. For two developers i and j,
interaction frequency represents the degree of interactions between i and j based on
one or more measures between them. It is represented as IFi, j.
        </p>
        <p>The measurement of interaction frequency is a context-based concept, which
means different measures may result in different interaction frequency. In distributed
open-source development, candidate measures for interaction frequency are the
frequency of email correspondence, the frequency of co-editing, the frequency of task
sharing, and so on. In this study, email correspondence between developer i and
developer j is used as the measure of interaction frequency IFi, j.</p>
        <p>Interaction frequency gives the representation of the degree of interaction between
two developers. What we are interested is a large project that contains many
developers. Therefore, we define interaction matrix (IM). For a project that contains n
developers, the degree of interactions between these n developers is represented as an
n×n interaction matrix (IM), in which item at position (i, j) is the interaction
frequency between developer i and developer j.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Step two: clustering</title>
        <p>
          Clustering is a data mining technique to group items into clusters according to their
similarities, differences, or distances [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. In this research, we use single-linkage
hierarchical clustering method [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] to group distributed developers according to the
interaction frequencies between them.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Step three: network construction</title>
        <p>
          In a distributed open-source development environment, developers take different
roles. In our preliminary study [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], we found that developers that are in a cluster with
greater interaction frequency (CIF) are more active and take more responsibility than
those in a cluster with lower interaction frequency. Therefore, it is reasonable to claim
that developers clustered earlier take more important roles than those clustered later.
The entire developer network can be constructed according to the clustering result.
Since some open-source projects involve over thousands of developers, to simplify
the analysis and to illustrate our approach clearly, in this paper, we construct the
network using the first 100 developers that are clustered and ignore the rest of the
developers. We call this network central-100 network. The members in central-100
network are called central members. We assume that the behavior of the central-100
network represents the behavior of the entire network. Through analyzing the
organization and the evolution of the central-100 network, we intend to understand
the dynamics of the entire open-source developer network.
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Step four: network dynamics analysis</title>
        <p>To study the dynamics of the networks, we need to study the evolution of the
organization of the social network, which includes the evolution of average
bandwidth, the evolution of the average interaction degree, and the updating of the
central members. Two metrics are used to measure the updating of the central
members, annual updating rate and age distribution, which will be further explained
later.</p>
      </sec>
      <sec id="sec-3-5">
        <title>Step five: modeling and simulation</title>
        <p>
          Agent-based simulation is a special type of discrete simulation, in which the
individual entities (agents) are represented with an internal state and a set of rules
which determine how the agent’s state is updated from one time-step to the next [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
Agent-based simulation has been widely used in constructing models of software
organization and software process [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. In this step, we build
agent-based models for open-source project networks. The simulation results are used
to evaluate the developer network evolution model.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Case Studies</title>
      <p>In this research, three email archives of two open-source projects, Linux and KDE,
are mined and used to study the open-source developer network.</p>
      <p>
        The Linux-kernel mailing list (linux-kernel@vger.kernel.org) is maintained by
vger.kernel.org to provide email list services for the Linux kernel developers [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
Although there are several other mailing lists on specific subjects, such as
linuxnet@vger.kernel.org for networking users and netdev@vger.kernel.org for
networking developers, the Linux-kernel mailing list (LKML) is the official and most
heavily used communication platform for Linux kernel development. The earliest
archived LKML message we found is in June 1995. Until now (February 2007),
LKML has been used as the glue that holds the Linux kernel development community
together.
      </p>
      <p>
        In contrast to Linux, KDE has four development mailing lists [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
KDEdevelopment list is for application developers (both applications in central KDE
packages and contributed applications). KDE-core list is used for discussions of KDE
libraries development, SVN and other central development issues. KDE-quality list
focus improving the general quality level of KDE applications. KDE-commits list
carries automatic notifications for all changes made to KDE’s source code repository.
In these four lists, KDE-core list and KDE-development list contain the
communication history of KDE developers are most suitable to study the developer
network.
      </p>
      <p>Therefore, Linux-kernel, KDE-core, and KDE-development mailing lists are
chosen for studying the corresponding developer networks. In the remainder of this
paper, they are referred to as Linux, KDE-core, and KDE-development respectively.</p>
      <sec id="sec-4-1">
        <title>4.1 General results</title>
        <p>A total of over 611k, 14k, and 37k messages over seven years (2000-2006) of
communication were mined from the email archive of Linux, KDE-core, and
KDEdevelopment. Table 1 shows the total number of messages and total number of
threads posted to the three mailing lists in these different years. As we can see, the
number of messages and the number of threads of Linux have an increasing trend,
while the number of messages and the number of threads of KDE-core and
KDEdevelopment give a decreasing trend. We can also find that Linux mailing list carries
more messages than the KDE lists. For example, Linux mailing list had about 100
times of messages over KDE-core and KDE-development lists in year 2006.
Therefore, the Linux and KDE mailing lists represent different scales and different
evolutionary trends of developer social networks.</p>
        <p>Table 2 shows the number of posters and the number of initiators in the three
mailing lists during the time period of our investigations. A poster can post one or
many messages and an initiator can post one or many initiating messages. The
number of posters represents the number of developers in the social network. We can
see that the size of the three networks evolves differently: Linux and KDE-core
change a little bit while KDE-development decrease dramatically.</p>
        <p>Next, we need to determine which metric in the mailing list can be used to
represent the interaction frequency (IF) between two developers. Because in the
clustering process, two members, P1 and P2, are considered equally important
(active) regarding the channel bandwidth between P1 and P2, a two-way
communication channel is superior to one-way channel. Therefore, we use the
bandwidth of two-way communication channel to represent interaction frequency, to
cluster the developers, and to construct the social network.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Social network</title>
        <p>As stated in Section 3, in this paper, we study the evolution of central-100 network.
Figure 1 shows part of the Linux central-100 developer network of 2006, in which
different thickness of the link represents different bandwidth. The largest bandwidth
has value 318 and exists between Andrew and Adrian, while the smallest bandwidth
has value 73 and exists between Eric and Oleg.</p>
        <p>
          Figure 1 shows that a few members, such as Andrew and Andi, have larger channel
bandwidth and higher interaction degrees, while most others have smaller channel
bandwidth and lower interaction degrees. This observation agrees with what Bird el
al. found - that a few members account for the bulk activities of the network [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
This property is further illustrated in Figure 2 and Figure 3, which shows the
distribution of channel bandwidths and interaction degrees respectively.
        </p>
        <p>The age of a member in the central-100 network represents the relative experience
of the developer on this effort as well as the stability/evolution of the social network.
It can be seen from the figure that different ages exist in the three networks, which
means that the network developers are updating dynamically: every year, some
developers leave the central-100 network and some members join the central-100
network.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3 Dynamics of the social network</title>
        <p>The evolution of the dynamically changing open-source developer network can be
measured using three metrics: the change in bandwidth, the change in interaction
degree, and the change in membership of the central network.</p>
        <p>We studied the evolution of the average channel bandwidth and the average
interaction degree of the central-100 network, the results of which are shown in
Figure 5 and Figure 6, respectively. The average interaction degree and the average
bandwidth have other meanings in the social network: the former can represent the
network structure and the latter can be used to represent the amount of activities in the
network. As we can see in Figure 5, the activity of the Linux network have been
increasing from 2000 to 2006, while the activity of KDE-core and KDE-development
networks first decreased and then remained relative stable from 2000 to 2006. Figure
6 shows that the average interaction degree of three networks decreases from 2000 to
2006. Therefore, both the activity and the structure of the network evolve from year to
year.</p>
        <p>Figure 7 illustrates the annual updating rate of the cluster-100 network. The annual
updating rate is the percentage of developers in central-100 network that are changed
compared to the previous year. For example, it shows that compared with 2000, about
50% of the Linux central-100 network developers are updated in 2001. Or in other
words, it shows that in 2001, 50 developers in Linux central-100 network are new
compared with the same network of 2000. Compared with the evolution of average
bandwidth and average interaction degree shown in Figures 6 and 7, the annual
updating rate of central-100 developers is relatively stable. Therefore, the annual
updating rate of central-100 developers might be a stable parameter to represent the
property of the network.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4 Modeling and simulation</title>
        <p>As described before, channel bandwidth and interaction degrees changes from year to
year for each project. They are not feasible to represent the property of the network.
In contrast, updating rate of central-100 developers is relative stable for all networks.
Therefore, it represents a unique feature of the network and is used to model and
predict the behavior of the network.</p>
        <p>
          In order to predict the evolution of open-source developer network, we modeled
and simulated the entire developer networks. In the proposed simulation model, each
developer is represented as an agent. The agent’s activity is represented with a
number in the range of [
          <xref ref-type="bibr" rid="ref10">0, 10</xref>
          ] and called activity score (AS). The larger the activity
score an agent has, the agent is more active and plays a more important role in the
network. The most active 100 agents (those have the largest 100 activity scores) form
the central-100 network.
        </p>
        <p>First, we assume that the activity score of an agent for a given year, i is most
impacted by the activity score in year i-1. This assumption is represented
as ASi ∝ ASi+1 .</p>
        <p>
          A power decay function (base 2) is used to weight the most recent years’ activity
more than any of its predecessor years. This recency approach is adopted from our
previous study on predicting open-source bugs [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>In Equation 1, x is the simulation step (year) and is equal to or greater than 1. In the
proposed model, the activity score of each agent updates every year, and accordingly,
the central-100 members are updated every year. The formula to calculate the activity
score of a particular agent is shown below.</p>
        <p>⎪⎧ i−1 R i = 1 (2)</p>
        <p>ASi = ⎨⎪⎩(1 −α ) ∑x=1 f (x) ASi−x +αR i &gt; 1</p>
        <p>
          Where ASi is the activity score at year i (i≥1); R is a random number that is
uniformly distributed in range [
          <xref ref-type="bibr" rid="ref10">0, 10</xref>
          ]. Initially (i=1), the activity score of each agent
is randomly generated. In the following steps, the activity score is determined by two
parts, a recency factor based the agent’s activity history and a random value α R , in
which α is called the turbulence factor and is in the range of [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]. In the proposed
model, for each network, the value of turbulence factor α is same for all the agents.
However, turbulence factor α might be different for different networks. The
turbulence factor represents the stability of the network. The greater the turbulence
factor the more unstable is the network. If α is 0, it means that the activity score of
each agent is solely dependent on its activity history; if α is 1, it means that the
activity of each agent is completely unpredictable and has no relation with his activity
history.
        </p>
        <p>The simulation setup is shown in Table 3. The number of agents is chosen as the
total number of posters from 2000 to 2006 for each network. The number of cycles is
the number of steps (years) the data is collected. In the observation, we have 7 years
(2000 to 2006) data; therefore, the number of cycles is set to 7 for all three models.
The number of pre-cycles is the number of cycles the model is run before the data is
collected. Since the Linux project started in 1992, the number of pre-cycle is set as 8
(1992 to 1999); the KDE project started in 1996, the number of pre-cycle is set as 4
(1996 to 1999).</p>
        <p>Before the formal simulation, we run a series of pre-experiments with a range of
turbulence factor α for Linux, KDE-core, and KDE-development. The turbulence
factor is finally determined to use those that generate the best fit to the observed the
annual updating rate, which is 0.50, 0.51, and 0.75 for Linux, KDE-core, and
KDEdevelopment respectively, as shown in Figure 7. Accordingly, the turbulence factor
for the formal simulation is 0.08, 0.23, and 0.37 for Linux, KDE-core, and
KDEdevelopment respectively.</p>
        <p>It can be seen that KDE-core has a relative small turbulence factor than
KDEdevelopment, and Linux has a much smaller turbulence factor than both the KDEs.
According to Equation 2, it is therefore reasonable to infer that the developers in the
Linux project form a more stable group than those in KDE projects. Here, the stability
is referring to the activity performed by each agent: if the agent’s current activity is
more dependent on his activity history and predicable, it is more stable; if his current
activity is less dependent on his activity history and is unpredictable, it is unstable.</p>
        <p>For the given model setup shown in Table 3, each network is formally simulated
100 times to study the changing of central members. The average annual updating rate
of the central-100 active agents is shown in the boxplot of Figure 8, in which the
mean of average annual updating rate of the 100 simulations is 0.50, 0.51, and 0.75,
which match the observations shown in Figure 7. In the figure, the bold line within
the box indicates the median. The box spans the central 50 percent of the data. The
lines attached to the box denote the standard range. The circles indicate the data
points that are out of the standard range.</p>
        <p>To understand whether the proposed model can predict similar age distributions,
the average value of the number of central-100 active agents with different ages is
obtained in these 100 times of simulations. Figure 9 compares the age distribution of
central-100 developers observed from the mailing list with the age distribution of the
central-100 active agents obtained from the simulation in 2006. From the figure, it can
be seen that KDE-development has a better match of age distribution than Linux and
KDE-core.</p>
        <p>To quantitatively study the accuracy of the simulation, we calculate the average
age of central-100 members from both the measurement and the simulation. The
results are shown in Table 4. The difference is calculated using the formula
Difference = abs(simulation − measurement) / measurement . We can see that the
Linux model and the KDE-development model have higher accuracy in predicting the
average age of central members.</p>
        <p>In the proposed three agent-based simulation models, Linux has the smallest
turbulence factor, which means that the activity of agent in the Linux is more stable
than agents in KDE models. The stability of agents also represents the stability of the
network. Accordingly, we can say that the Linux social network is more stable than
KDE’s. This is also reflected in both the measurement and the simulation of the
average age of the central-100 members shown in Table 4.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusions</title>
      <p>In this paper, we presented the results of studying the evolution of open-source
developer networks using data mining and simulation techniques. Case studies were
performed on two open-source projects, Linux and KDE. Three developer networks
were constructed and analyzed. The simulation of agent-based models successfully
predicted the average age of the central-100 developers of three networks.</p>
    </sec>
    <sec id="sec-6">
      <title>6 Acknowledgements</title>
      <p>This work was based in part, upon research supported by the National Science
Foundation (CNS-0619069, EPS-0701890 and OISE 0650939), Acxiom Corporation
(# 281539) and NASA EPSCoR Arkansas Space Grant Consortium (# UALR 16804).
Any opinions, findings, and conclusions or recommendations expressed in this
material are those of the author(s) and do not necessarily reflect the views of the
funding agencies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Acuna</surname>
            ,
            <given-names>T.S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Juristo</surname>
          </string-name>
          , N.:
          <article-title>Software Process Modeling</article-title>
          .
          <source>International Series in Software Engineering</source>
          . Vol.
          <volume>10</volume>
          . Springer: New York, NY (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Joshi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , Zhang,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Ramaswamy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            , and
            <surname>Bayrak</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>Local and Global Recency Weighting Approach to Bug Prediction</article-title>
          .
          <source>In: Proceedings of the 4th International Workshop on Mining Software Repositories</source>
          , Minneapolis, IEEE Computer Society, Washington DC (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gourley</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Devanbu</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gertz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Swaminathan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Mining Email Social Networks</article-title>
          .
          <source>In: Proceedings of the 3rd International Workshop on Mining Software Repositories</source>
          , pp
          <fpage>137</fpage>
          -
          <lpage>143</lpage>
          , ACM Press, New York (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gourley</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Devanbu</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Swaminathan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Gertz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Mining Email Social Networks in Postgres</article-title>
          .
          <source>In: Proceedings of the 3rd International Workshop on Mining Software Repositories</source>
          , pp
          <fpage>185</fpage>
          -
          <lpage>186</lpage>
          , ACM Press, New York (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cook</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Wernick</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A Simulation Model of Self-Organising Evolvability in Software Systems</article-title>
          .
          <source>In: Proceedings of the 1st International Workshop on Software Evolvability</source>
          , pp
          <fpage>17</fpage>
          -
          <lpage>22</lpage>
          , IEEE Press (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ramaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Verifying Design Modularity, Hierarchy, and
          <article-title>Interaction Locality Using Data Clustering Techniques</article-title>
          .
          <source>In: Proceedings of the 45th ACM Southeast Conference</source>
          , ACM Press (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ramaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Mining CVS Repositories to Understand Open-Source Project Developer Roles</article-title>
          .
          <source>In: Proceedings of the 4th International Workshop on Mining Software Repositories</source>
          , IEEE Computer Society, Washington DC (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Yilmaz</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Phillips</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Impact of Turbulence on the Effectiveness and Efficiency of Software Development Teams in Small Organizations</article-title>
          .
          <source>Software Process: Improvement and Practice</source>
          <volume>12</volume>
          (
          <issue>3</issue>
          ):
          <fpage>247</fpage>
          -
          <lpage>265</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hars</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ou</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Working for free? Motivations for Participating in Open Source Projects</article-title>
          .
          <source>In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences</source>
          , Vol.
          <volume>7</volume>
          . pp
          <fpage>7014</fpage>
          -
          <lpage>7023</lpage>
          , Maui, Hawaii,
          <year>January 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murty</surname>
          </string-name>
          , M,N., and
          <string-name>
            <surname>Flynn</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          :
          <source>Data Clustering: A Review. ACM Computing Surveys</source>
          <volume>31</volume>
          (
          <issue>3</issue>
          ):
          <fpage>264</fpage>
          -
          <lpage>323</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Wagstrom</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herbsleb</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Carley</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>A Social Network Approach to Free/Open Source Software Simulation</article-title>
          .
          <source>In: Proceedings First International Conference on Open Source Systems</source>
          , pp
          <fpage>16</fpage>
          -
          <lpage>23</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , S.C.: Hierarchical Clustering Schemes,
          <source>Psychometrika</source>
          <volume>2</volume>
          :
          <fpage>241</fpage>
          -
          <lpage>254</lpage>
          (
          <year>1967</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>13. KDE Mailing List, http://www.kde.org/mailinglists/</mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>14. Linux Kernel Mailing List, http://www.uwsg.iu.edu/hypermail/linux/kernel/index.html.</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Capiluppi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Fernández-Ramil</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <source>Agent-Based Simulation of Open Source Evolution. Software Process: Improvement and Practice</source>
          <volume>11</volume>
          (
          <issue>4</issue>
          ):
          <fpage>423</fpage>
          -
          <lpage>434</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Macal</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , North,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>Tutorial on Agent-Based Modeling and Simulation</article-title>
          .
          <source>In: Proceedings of the 2005 Winter Simulation Conference</source>
          , pp
          <fpage>2</fpage>
          -
          <lpage>15</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Madey</surname>
            ,
            <given-names>G.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freeh</surname>
            ,
            <given-names>V.W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Tynan</surname>
            ,
            <given-names>R.O.</given-names>
          </string-name>
          :
          <article-title>Agent-Based Modeling of Open Source Using Swarm</article-title>
          .
          <source>In: Proceedings of the 8th Americas Conference on Information Systems</source>
          , pp
          <fpage>1472</fpage>
          -
          <lpage>1475</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Madey</surname>
            ,
            <given-names>G. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freeh</surname>
            ,
            <given-names>V.W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Tynan</surname>
            ,
            <given-names>R.O.</given-names>
          </string-name>
          :
          <article-title>Modeling the F/OSS Community: A Quantative Investigation</article-title>
          . Free/Open Source Software Development, Koch S (ed.), pp.
          <fpage>203</fpage>
          -
          <lpage>221</lpage>
          . Idea Group Publishing: Hershey, PA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Scacchi</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fitzgerald</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hissam</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lakhani</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <source>Understanding Free/Open Source Software Development Processes. Software Process: Improvement and Practice</source>
          <volume>11</volume>
          (
          <issue>2</issue>
          ):
          <fpage>95</fpage>
          -
          <lpage>105</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>20. Open Source Initiative, http://www.opensource.org/</mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Reis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Fortes</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>An Overview of the Software Engineering Process and Tools in the Mozilla Project</article-title>
          .
          <source>In: Proceedings of Workshop on Open Source Software Development</source>
          , pp
          <fpage>155</fpage>
          -
          <lpage>175</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Robles</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merelo</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Gonzalez-Barahona</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          :
          <article-title>Self-Organized Development in Libre Software Projects: A Model Based on the Stigmergy Concept</article-title>
          .
          <source>In: Proceedings of the 6th International Workshop on Software Process Simulation and Modeling</source>
          , ACM Press, New York (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>