13.07.2015 Views

A Stigmergy Collaboration Approach in the Open Source Software ...

A Stigmergy Collaboration Approach in the Open Source Software ...

A Stigmergy Collaboration Approach in the Open Source Software ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A <strong>Stigmergy</strong> <strong>Collaboration</strong> <strong>Approach</strong> <strong>in</strong> <strong>the</strong> <strong>Open</strong> <strong>Source</strong> <strong>Software</strong>Developer CommunityXiaohui Cui, Laura L. Pullum, Jim Treadwell and Thomas E. PotokAbstract— The communication model of some self-organizedonl<strong>in</strong>e communities is significantly different from <strong>the</strong>traditional social network based community. It is problematicto use social network analysis to analyze <strong>the</strong> collaborationstructure and emergent behaviors <strong>in</strong> <strong>the</strong>se communitiesbecause <strong>the</strong>se communities lack peer-to-peer connections.<strong>Stigmergy</strong> <strong>the</strong>ory provides an explanation of <strong>the</strong> collaborationmodel of <strong>the</strong>se communities. In this research, we present astigmergy approach for build<strong>in</strong>g an agent-based simulation tosimulate <strong>the</strong> collaboration model <strong>in</strong> <strong>the</strong> open source software(OSS) developer community. We used a group of actors whocollaborate on OSS projects through forums as our frame ofreference and <strong>in</strong>vestigated how <strong>the</strong> choices actors make <strong>in</strong>contribut<strong>in</strong>g <strong>the</strong>ir work on <strong>the</strong> projects determ<strong>in</strong>es <strong>the</strong> globalstatus of <strong>the</strong> whole OSS project. In our simulation, <strong>the</strong> forumposts serve as <strong>the</strong> digital pheromone and <strong>the</strong> modified Pierre-Paul Grasse pheromone model is used for comput<strong>in</strong>g <strong>the</strong>developer agents’ behavior selection probability.HI. INTRODUCTIONierarchical structure and top-down decision-mak<strong>in</strong>ghave dom<strong>in</strong>ated human society’s structure andfunction. In a hierarchically structured society, collaborationbehaviors are governed by policies and laws, and people areexpected to do what <strong>the</strong>y are assigned and wait for<strong>in</strong>structions. However, some communities are known todisplay a large amount of distributed and bottom-upstructure. In <strong>the</strong>se communities, <strong>the</strong> social patterns thatpeople form are often organized without explicit leaders,cha<strong>in</strong>s of command, or fixed communication networks.Examples of such spontaneously emerg<strong>in</strong>g social groups<strong>in</strong>clude fans at a sport stadium, grassroots politicalmovements, terrorist networks, Wikipedia authors, and opensource software (OSS) developer communities. Tounderstand how <strong>the</strong> collaboration or work gets done <strong>in</strong> <strong>the</strong>segroups, a new approach called social network analysis orSNA, has been used as an effective method for reveal<strong>in</strong>g <strong>the</strong>connections and patterns. SNA is based on an assumption of<strong>the</strong> importance of relationships among <strong>in</strong>teract<strong>in</strong>g units. ItManuscript received May 1, 2009. This work was partially funded byLockheed ShareVision research funds, Oak Ridge National Laboratory SeedMoney funds and <strong>in</strong>ternal Lockheed research funds.Xiaohui Cui is with <strong>the</strong> Computational Sciences and Eng<strong>in</strong>eer<strong>in</strong>gDivision, Oak Ridge National Laboratory, Oak Ridge, TN 37831, USA(phone: 865-576-9654; fax: 865-214-0337; e-mail: cuix@ornl.gov).Laura L. Pullum is with Lockheed Mart<strong>in</strong> Corporation, St. Paul, MN55164-0525, USA (e-mail: laura.l.pullum@lmco.com).Jim Treadwell and Thomas E. Potok is with <strong>the</strong> Computational Sciencesand Eng<strong>in</strong>eer<strong>in</strong>g Division, Oak Ridge National Laboratory, Oak Ridge, TN37831, USA.exam<strong>in</strong>es <strong>the</strong> structure of social relationships <strong>in</strong> a group touncover <strong>the</strong> <strong>in</strong>formal connections between people andprovide both a visual and a ma<strong>the</strong>matical analysis ofcomplex human systems.However, <strong>the</strong> communication model of some onl<strong>in</strong>ecollaborative groups is significantly different from <strong>the</strong>traditional social network-based collaboration community.In <strong>the</strong> traditional community, a message (e.g., a spokencommunication) is directed to a particular <strong>in</strong>dividual or<strong>in</strong>dividuals at a particular time. But such peer-to-peercommunications are very rare <strong>in</strong> those onl<strong>in</strong>e collaborationgroups. For <strong>in</strong>stance, Wikipedia is an onl<strong>in</strong>e collaborativeencyclopedia created and edited by volunteers from around<strong>the</strong> world. Anyone can add or change an entry <strong>in</strong> Wikipedia.However, <strong>the</strong>re are no direct communications between thosecontributors. Audris et al. [1] po<strong>in</strong>t out that OSS developersrarely if ever meet face-to-face or even via telephone.Post<strong>in</strong>g messages on forums or via email lists are <strong>the</strong> major<strong>in</strong>formation exchange methods for OSS developers andmany o<strong>the</strong>r onl<strong>in</strong>e collaborative groups. These messagesserve as a shared medium for stor<strong>in</strong>g <strong>in</strong>formation so that itcan be <strong>in</strong>terpreted by o<strong>the</strong>r <strong>in</strong>dividuals later. Most of <strong>the</strong>time, <strong>the</strong> message sender does not know by whom and atwhat time <strong>the</strong>se messages will be viewed and <strong>the</strong> messageconsumers typically do not care who sent <strong>the</strong> message.Without clearly def<strong>in</strong>ed <strong>in</strong>formal connections and messageflows between <strong>in</strong>dividuals, SNA will have difficultyunderstand<strong>in</strong>g <strong>the</strong> emergent behaviors represented <strong>in</strong> <strong>the</strong>seonl<strong>in</strong>e communities.In this research, we propose a stigmergy approach foranalyz<strong>in</strong>g <strong>the</strong> collaboration architecture <strong>in</strong> <strong>the</strong>se onl<strong>in</strong>egroups. Given <strong>the</strong> significant amount of detailed <strong>in</strong>formationavailable on OSS communities’ <strong>in</strong>ternal structure, OSSdevelopment communities offer a unique opportunity tounderstand <strong>the</strong> large self-organized onl<strong>in</strong>e entity. In thispaper, we present a stigmergy agent based model forexam<strong>in</strong><strong>in</strong>g how <strong>the</strong> behavior of <strong>in</strong>dividuals affects <strong>the</strong>emergence of an OSS project’s global status.II. STIGMERGY COLLABORATION IN OSS COMMUNITYThe term stigmergy was first proposed by Pierre-PaulGrasse <strong>in</strong> <strong>the</strong> 1950s <strong>in</strong> his research on termites [2]. Grasseshowed that a particular configuration of a termite colony’senvironment triggered a termite to modify its environment(i.e., drop mud <strong>in</strong> a particular place for build<strong>in</strong>g orma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g <strong>the</strong> nest). The modification <strong>in</strong> turn stimulates


<strong>the</strong> orig<strong>in</strong>al or o<strong>the</strong>r termites <strong>in</strong> <strong>the</strong> colony to fur<strong>the</strong>rtransform <strong>the</strong>ir environment. Grasse def<strong>in</strong>ed stigmergy as:“<strong>the</strong> stimulation of <strong>the</strong> workers by <strong>the</strong> very performances<strong>the</strong>y have achieved” [2]. The stigmergy process has beenobserved <strong>in</strong> termites, ants, bees, and wasps <strong>in</strong> a wide rangeof activities. In a termite colony, a highly complex termitenest is not caused by <strong>the</strong> net build<strong>in</strong>g knowledge of<strong>in</strong>dividual termites. It is <strong>the</strong> result of <strong>the</strong> collective behaviorof large numbers of <strong>in</strong>dividual termites perform<strong>in</strong>gextraord<strong>in</strong>arily simple actions <strong>in</strong> response to <strong>the</strong>ir localenvironment. There are no direct communications betweentermite workers for coord<strong>in</strong>at<strong>in</strong>g <strong>the</strong>ir nest build<strong>in</strong>g actions.The modified environment caused by an <strong>in</strong>dividual termite’ssimple actions serves as <strong>the</strong> coord<strong>in</strong>at<strong>in</strong>g signals. The stateof <strong>the</strong> nest structure triggers some behaviors, which <strong>the</strong>nmodify <strong>the</strong> nest structure and trigger new behaviors until <strong>the</strong>construction is complete.The OSS developer community is a new k<strong>in</strong>d of onl<strong>in</strong>esoftware development group where participants can read,modify, and redistribute software source code without cost.In <strong>the</strong> software development field, a long-held belief is thatlarge scale software development should be regarded as acollaborative activity to be conducted <strong>in</strong> a hierarchicallystructured organization such as a company. However, manyOSS development systems do not evolve <strong>the</strong> same as <strong>the</strong>seproprietary systems. The distributed and unplanned OSSdevelopment model has been shown to be very effective as asoftware development paradigm and outperforms <strong>the</strong>proprietary software development schemes. In an OSSdeveloper group, while people are much more <strong>in</strong>telligentthan social <strong>in</strong>sects, open software development usesessentially <strong>the</strong> same stigmergic mechanism for collaborat<strong>in</strong>g.Participants <strong>in</strong> OSS projects ma<strong>in</strong>ly engage <strong>in</strong> onl<strong>in</strong>ediscussion forums or threaded email messages as a centralway to observe, participate <strong>in</strong>, and contribute to publicdiscussions of topics of <strong>in</strong>terest to ongo<strong>in</strong>g projectparticipants [3]. The newly developed software source codesare uploaded to <strong>the</strong> community website for <strong>the</strong> purpose ofbe<strong>in</strong>g scrut<strong>in</strong>ized by <strong>the</strong> members of <strong>the</strong> community. Anybug, error or lack<strong>in</strong>g functionality will be po<strong>in</strong>ted out andthus entice community members to take up <strong>the</strong> shortcom<strong>in</strong>g.The concept of stigmergy provides a <strong>the</strong>ory for expla<strong>in</strong><strong>in</strong>ghow disparate, distributed, ad hoc contributions from<strong>in</strong>dividuals could lead to <strong>the</strong> emergence of <strong>the</strong> largestcollaborative enterprises <strong>the</strong> world has seen.III. RELATED WORKIn most onl<strong>in</strong>e host<strong>in</strong>g environments, project relatedactions are logged and <strong>the</strong> log <strong>in</strong>formation can later bem<strong>in</strong>ed to understand <strong>the</strong> community structure and <strong>in</strong>teractionpatterns. This log data provides enormously detailed<strong>in</strong>formation for analysis [4, 5]. Crowston, et al. [6] proposeda model for effective work practices <strong>in</strong> OSS development.The model was based largely on an exist<strong>in</strong>g model of groupeffectiveness <strong>in</strong>itially proposed by Hackman [7] <strong>in</strong> 1986.Smith, et al. [8] presented an agent-based OSS simulationmodel that <strong>in</strong>cludes <strong>the</strong> software modules’ complexity, <strong>the</strong>software’s fitness for purpose, <strong>the</strong> motivation of developers,and <strong>the</strong> role of users <strong>in</strong> design<strong>in</strong>g requirements. In researchon how OSS developers collaborate, research considers <strong>the</strong>OSS movement as a self-organiz<strong>in</strong>g system and acollaborative social network [9]. SNA was used foranalyz<strong>in</strong>g OSS community structure. Actor relationships arerepresented as nodes and l<strong>in</strong>ks. The actor can be a user ordeveloper. Every node i represents an actor with<strong>in</strong> <strong>the</strong>network; l<strong>in</strong>k(i,j) denotes a social tie between actors i and j.However, as we mentioned <strong>in</strong> <strong>the</strong> <strong>in</strong>troduction, <strong>in</strong> <strong>the</strong> OSScommunity, direct connections between actors as unusual.They exchange <strong>in</strong>formation through <strong>the</strong> forum or email-list<strong>in</strong>directly. Most of time, <strong>the</strong> actor does not even know who<strong>the</strong> recipient of his/her message is prior to send<strong>in</strong>g <strong>the</strong>message. Hence, SNA may not be able to expla<strong>in</strong> <strong>the</strong> forumbased collaboration concept characteriz<strong>in</strong>g <strong>the</strong> OSScommunity.Elliott [10] argued that collaboration <strong>in</strong> small groups(roughly 2-25) relies upon social negotiation to evolve andguide its process and creative output. <strong>Collaboration</strong> <strong>in</strong> largegroups (roughly more than 25) is enabled by stigmergy.Heylighen [11] proposed to dist<strong>in</strong>guish stigmergy <strong>in</strong> <strong>the</strong>OSS community as direct and <strong>in</strong>direct. In OSS development,<strong>the</strong> unf<strong>in</strong>ished jobs serve as <strong>the</strong> direct stigmergy, whichstimulates o<strong>the</strong>r actors to participate <strong>in</strong> f<strong>in</strong>ish<strong>in</strong>g <strong>the</strong> jobs.Indirect stigmergy can be recognized <strong>in</strong> forums where bugsor function requests are posted. These forums are regularlyconsulted by <strong>the</strong> developers, thus attract<strong>in</strong>g <strong>the</strong>ir attention totasks that seem worth perform<strong>in</strong>g. However, <strong>the</strong> numericalresearch and <strong>the</strong> ma<strong>the</strong>matical stigmergy model are notdiscussed <strong>in</strong> Elliott’s and Heylighen’s publications. In thisresearch, we propose a stigmergy collaboration OSS modelto produce a simulation that accurately represents <strong>the</strong>collaboration <strong>in</strong> an OSS community. The simulation outputsare compared with <strong>the</strong> empirical data retrieved from actualOSS project log <strong>in</strong>formation.IV. AGENT BASED SIMULATION MODELOur approach to reproduc<strong>in</strong>g <strong>the</strong> complex environment of<strong>the</strong> OSS software development community was to developan agent-based simulation framework us<strong>in</strong>g <strong>the</strong> stigmergyapproach. We assume that OSS members already haveenough motivation to jo<strong>in</strong> <strong>the</strong> community and makecontributions. The model will represent how <strong>the</strong> OSScommunity collaborates and how each <strong>in</strong>dividual developerchooses which forum to jo<strong>in</strong>. Our hypo<strong>the</strong>sis is that <strong>the</strong>collaborations of <strong>in</strong>dividual OSS developers and users arestigmergy collaborations. The forum posts and email listmessages serve as <strong>the</strong> digital stigmergy. Peer-to-peercommunications between <strong>in</strong>dividual OSS members do notoccur very often.To simplify <strong>the</strong> simulation, we assume <strong>the</strong>re are two k<strong>in</strong>dsof agents <strong>in</strong> <strong>the</strong> simulation - <strong>the</strong> developer and <strong>the</strong> user. The


developer agents voluntarily contribute <strong>the</strong>ir effort and time<strong>in</strong> answer<strong>in</strong>g questions from users, develop<strong>in</strong>g code andfix<strong>in</strong>g bugs. The agents do not <strong>in</strong>teract with each o<strong>the</strong>rdirectly. Instead, <strong>the</strong>y go through <strong>the</strong> forums for <strong>in</strong>formationexchange. The user agents post messages on <strong>the</strong> forum. Auser agent can change to a developer agent if <strong>the</strong>y want to.There are two k<strong>in</strong>ds of forums, <strong>the</strong> public forum and <strong>the</strong>developer forum. The public forum can be accessed andmessages can be posted by any agents <strong>in</strong>terested <strong>in</strong> <strong>the</strong>software project. Most of <strong>the</strong> time, it serves as <strong>the</strong> <strong>in</strong>directmessage exchange board between users and developers.Users can post questions about how to use <strong>the</strong> software,bugs <strong>the</strong>y found dur<strong>in</strong>g software use and functions <strong>the</strong>y wishto be <strong>in</strong>cluded <strong>in</strong> <strong>the</strong> software. Each problem will berepresented by one forum thread. The o<strong>the</strong>r users and <strong>the</strong>developers occasionally go through <strong>the</strong> forums, answer <strong>the</strong>questions and get first hand <strong>in</strong>formation about bug problemsand wish list functionality.In this simulation, developers use <strong>the</strong> Ant ColonyAlgorithm to choose which forum thread problem tocontribute to solv<strong>in</strong>g. In this algorithm, each forum threadserves as one potential digital trail to different softwaredevelopment directions and <strong>the</strong> posted messages <strong>in</strong> thisthread represent <strong>the</strong> digital pheromones laid down on <strong>the</strong>trail. Every time a user or developer posts a new message <strong>in</strong>this forum thread, a new pheromone is deposited on <strong>the</strong> trail.The pheromone content of a forum thread can be updatedand decayed by us<strong>in</strong>g <strong>the</strong> follow<strong>in</strong>g models.Pheromone update: when a message is posted <strong>in</strong> a forumthread, <strong>the</strong> pheromone for this thread is <strong>in</strong>cremented by aconstant, γ. The nom<strong>in</strong>al value of γ is one. Equation (1)describes <strong>the</strong> pheromone update procedure when a messageis posed by actor a <strong>in</strong> a post thread d at time t.ttP 1 d Pd (1)Pheromone decay: to account for pheromone decay, eachthread’s pheromone values are periodically multiplied by <strong>the</strong>decay factor, ε -τ . The decay rate is τ0. A high decay ratewill quickly reduce <strong>the</strong> amount of rema<strong>in</strong><strong>in</strong>g pheromone,while a low pheromone decay rate will degrade <strong>the</strong>pheromone value slowly. The nom<strong>in</strong>al pheromone decay<strong>in</strong>terval (or decay period) is one day. Equation (2) describespheromone decay.t 1 tP * dPdIf no message has been posted <strong>in</strong> a thread <strong>in</strong> quite sometime, <strong>the</strong> pheromone for this thread will be decayed to anear-zero value. The thread will be removed from <strong>the</strong>developer’s potential thread selection direction.ACO algorithm: The developers and users follow <strong>the</strong> ACO(Ant Colony Optimization) algorithm [12] <strong>in</strong> swarm<strong>in</strong>telligence for choos<strong>in</strong>g <strong>the</strong> thread <strong>the</strong>y jo<strong>in</strong> and post(2)messages. Accord<strong>in</strong>g to <strong>the</strong> pheromone <strong>the</strong>ory, <strong>the</strong>y willmost likely jo<strong>in</strong> and post messages <strong>in</strong> <strong>the</strong> thread that hashighest pheromone content.Thread selection: Actors will randomly chose a threadbased on <strong>the</strong> amount of pheromone present on each forumthread. Equation (3) describes thread d ’s probability dof be<strong>in</strong>g chosen.d N( Pi1td( P K)tiF K)N is <strong>the</strong> total number of forum threads. The constants Fand K are used to tune <strong>the</strong> forum-choos<strong>in</strong>g behavior of anactor. The value of K determ<strong>in</strong>es <strong>the</strong> sensitivity of <strong>the</strong>probability calculations to small amounts of pheromone. If Kis large, <strong>the</strong>n large amounts of pheromone will have to bepresent before an appreciable effect will be seen <strong>in</strong> <strong>the</strong>message post<strong>in</strong>g probability. The nom<strong>in</strong>al value of K is zero.Similarly, F may be used to modulate <strong>the</strong> differencesbetween pheromone amounts. For example, F > 1 willaccentuate differences between l<strong>in</strong>ks, while F < 1 willdeemphasize <strong>the</strong>m. F = 1 yields a simple normalization. Thenom<strong>in</strong>al value of F is two.Ano<strong>the</strong>r forum <strong>in</strong> <strong>the</strong> simulation is <strong>the</strong> developer forum. Itserves as <strong>the</strong> <strong>in</strong>ternal forum and is used by developers topost <strong>the</strong>ir ongo<strong>in</strong>g work. It represents <strong>the</strong> email-list andSVN repository <strong>in</strong> an actual OSS project. Each developer’scontribution is stimulated by o<strong>the</strong>r developers’ ongo<strong>in</strong>gwork posted <strong>in</strong> <strong>the</strong> developer forum. The probability c fordeveloper i to cont<strong>in</strong>ually contribute to a software elementdevelopment is modeled as <strong>the</strong> termite mud drop probability<strong>in</strong> Grasse stigmergy model and is given by:cif ( i) ni*(k f ( i)jLF2)1 ( i,j)f ( i) max(0.0, (1 )2 Here, ( i,j)[0,1]is <strong>the</strong> dissimilarity value betweenideveloper i contributed post and <strong>the</strong> developerj contributed post message <strong>in</strong> email-list and SVNrepository, n is <strong>the</strong> message length. [0,1]is a data-2dependent scal<strong>in</strong>g parameter, and is <strong>the</strong> total number ofposted messages <strong>in</strong> <strong>the</strong> developer forum dur<strong>in</strong>g a predef<strong>in</strong>edtime period L [1,15].(3)(4)(5)


V. EXPERIMENTAL RESULTSWe used detailed OSS community log data on<strong>Source</strong>Forge to illustrate <strong>the</strong> model’s <strong>the</strong>oreticalmechanisms. <strong>Source</strong>Forge, an onl<strong>in</strong>e center for OSSdevelopment communities, provides collaborative resourcesfor approximately 200,000 projects. This data consists of all<strong>the</strong> activity <strong>in</strong>formation of OSS software developers andusers registered on <strong>Source</strong>Forge from 2003 to 2008. Wedeveloped scripts that query <strong>the</strong> <strong>Source</strong>Forge Research DataArchive hosted by <strong>the</strong> University of Notre Dame [5] forproject empirical data that meet our criteria. We were<strong>in</strong>terested <strong>in</strong> OSS projects that reached a m<strong>in</strong>imum team sizeof 20 developers at some po<strong>in</strong>t <strong>in</strong> <strong>the</strong> project lifetime <strong>in</strong>order to <strong>in</strong>sure that <strong>the</strong> social and technical factors were wellrepresented. In addition, we elim<strong>in</strong>ated data on projects thatappeared to use <strong>Source</strong>Forge only as a means to download<strong>the</strong> software, not as a development environment. In all, weidentified 67 projects as viable for use as data for our OSSmodel.Our first experiment simulates <strong>the</strong> forum post<strong>in</strong>gbehaviours of users and developers <strong>in</strong> <strong>the</strong> OSS community.We use <strong>the</strong> values observed <strong>in</strong> empirical data derived fromreal log data <strong>in</strong> OSS repositories to calibrate and evaluateour stigmergy collaboration model. In our simulation, <strong>the</strong>reare 20 developers and 1000 users. The users randomly postnew message threads or leave messages on exist<strong>in</strong>g threadson <strong>the</strong> message board and leave pheromones on <strong>the</strong> messageboard. The developers respond to answer <strong>the</strong> questionsposted by users and choos<strong>in</strong>g work that is posted on <strong>the</strong>message board, such as bug fixes and new function modules.Both user and developer agents follow <strong>the</strong> stigmergy rulesdiscussed <strong>in</strong> <strong>the</strong> previous section. The simulation output isshown <strong>in</strong> figure 1. In figure 1, <strong>the</strong> x axis represents <strong>the</strong> logvalue of <strong>the</strong> number of total posted messages of each threadcreated by agents. The y axis represents <strong>the</strong> log value of <strong>the</strong>thread number <strong>in</strong> <strong>the</strong> message board. It <strong>in</strong>dicates that a largenumber of threads have only a very small amount of postedmessages. But some threads have large numbers of postedmessages. The large amount of messages <strong>in</strong> some threadsnormally <strong>in</strong>dicates <strong>the</strong>re are some bugs or new softwarefunctions that need to be fixed or implemented. Thedeveloper agents who post messages <strong>in</strong> <strong>the</strong> thread will bemotivated to contribute to solv<strong>in</strong>g <strong>the</strong> problems discussed <strong>in</strong><strong>the</strong> thread. Developer agents will turn to <strong>the</strong> developerforum to start a new thread or to contribute work to anexist<strong>in</strong>g thread <strong>in</strong> <strong>the</strong> developer forum. Because of spacelimitations, <strong>the</strong> developer forum simulation will be discussed<strong>in</strong> ano<strong>the</strong>r publication.We compared <strong>the</strong> simulated outputs to empiricallyobserved behavior. Figure 2 represents <strong>the</strong> real averagedistribution of <strong>the</strong> thread and <strong>the</strong> message numbers for eachthread. The distribution patterns <strong>in</strong> figure 1 and figure 2<strong>in</strong>dicate that <strong>the</strong> simulation is able to partially reproduce <strong>the</strong>forum evolution trend <strong>in</strong> many OSS projects. The closenessof <strong>the</strong> simulated results to <strong>the</strong> empirical data <strong>in</strong>dicates thatour model may reflect <strong>the</strong> processes that occur <strong>in</strong> OSSevolution.Figure 1: Posted message number and thread number distribution –simulationFigure 2: Posted message number and thread number average distribution -OSS community dataVI. CONCLUSIONIn this research, we presented a stigmergy approach tosimulate <strong>the</strong> collaboration model <strong>in</strong> <strong>the</strong> OSS developercommunity. In this research, we exam<strong>in</strong>ed how <strong>the</strong> selforganiz<strong>in</strong>gbehavior of <strong>in</strong>dividuals affects <strong>the</strong> emergence ofdifferent types of organizational characteristics. Thestigmergy concept provides a <strong>the</strong>ory for expla<strong>in</strong><strong>in</strong>g <strong>the</strong>collaboration model <strong>in</strong> <strong>the</strong> OSS community and o<strong>the</strong>r onl<strong>in</strong>ecommunities. Our hypo<strong>the</strong>sis is that <strong>the</strong> collaborations of<strong>in</strong>dividual OSS developers and users are stigmergycollaborations. We compared <strong>the</strong> simulated output toempirically observed behaviors <strong>in</strong> different OSS projectforums. Our prelim<strong>in</strong>ary experiment simulation is able topartially reproduce <strong>the</strong> forum evolution trend and forumpost<strong>in</strong>g behaviors of OSS users and developers <strong>in</strong> manyOSS projects. The closeness of <strong>the</strong> simulated results to <strong>the</strong>empirical data <strong>in</strong>dicates that our model may reflect <strong>the</strong> realprocesses that occur <strong>in</strong> OSS evolution. A thoroughvalidation needs to be conducted to prove <strong>the</strong> model’saccuracy. Our next research step will be to build asimulation to simulate <strong>the</strong> work choos<strong>in</strong>g behaviors ofdevelopers and cont<strong>in</strong>ue to <strong>in</strong>vestigate how <strong>the</strong> choicesagents make <strong>in</strong> contribut<strong>in</strong>g <strong>the</strong>ir work on projectsdeterm<strong>in</strong>es <strong>the</strong> global status of <strong>the</strong> whole OSS project.Fur<strong>the</strong>r research will be to extend <strong>the</strong> research model too<strong>the</strong>r self-organized communities. Our hypo<strong>the</strong>sis is if <strong>the</strong>same ma<strong>the</strong>matical model captures <strong>the</strong> behavior of different


systems, <strong>the</strong>n we can talk about similarities between systemsbeyond simple analogies. We can use our ma<strong>the</strong>maticalmodels to make predictions that apply to many differentsystems. Fur<strong>the</strong>rmore, if two systems obey <strong>the</strong> samema<strong>the</strong>matical laws, we can perform experiments on onesystem and <strong>in</strong>fer how ano<strong>the</strong>r system might behave undersimilar conditions.ACKNOWLEDGMENTPrepared by Oak Ridge National Laboratory, P.O. Box2008, Oak Ridge, Tennessee 37831-6285, managed by UT-Battelle, LLC, for <strong>the</strong> U.S. Department of Energy undercontract DE-AC05-00OR22725; and by Lockheed Mart<strong>in</strong>Company. The views and conclusions conta<strong>in</strong>ed <strong>in</strong> thisdocument are those of <strong>the</strong> authors and should not be<strong>in</strong>terpreted as represent<strong>in</strong>g <strong>the</strong> official policies, ei<strong>the</strong>rexpressed or implied, of <strong>the</strong> Oak Ridge National Laboratory,Lockheed Mart<strong>in</strong> Company, <strong>the</strong> Department of Energy or<strong>the</strong> U.S. government.REFERENCES[1] Audris, M., T.F. Roy, and D.H. James, Two case studies of opensource software development: Apache and Mozilla. ACM Trans.Softw. Eng. Methodol., 2002. 11(3): p. 309-346.[2] Dorigo, M., E. Bonabeau, and G. Theraulaz, Ant algorithms andstigmergy. Future Generation Computer Systems, 2000. 16(8): p. 851-871.[3] Yutaka, Y., et al., <strong>Collaboration</strong> with Lean Media: how open-sourcesoftware succeeds, <strong>in</strong> Proceed<strong>in</strong>gs of <strong>the</strong> 2000 ACM Conference onComputer Supported Cooperative Work. 2000, ACM: Philadelphia,Pennsylvania, United States.[4] Xu, J., Y. Gao, and G. Madey. A Dock<strong>in</strong>g Experiment: Swarm andRepast for Social Network Model<strong>in</strong>g. <strong>in</strong> Seventh Annual SwarmResearchers Meet<strong>in</strong>g (Swarm2003). 2003. Notre Dame, IN.[5] Christley, S. and G. Madey, Collection of Activity Data for<strong>Source</strong>Forge Projects. 2005, Dept. of Computer Science andEng<strong>in</strong>eer<strong>in</strong>g, University of Notre Dame: Notre Dame, IN.[6] Crowston, K., et al. Towards a Portfolio of FLOSS Project SuccessMeasures. <strong>in</strong> <strong>Open</strong> <strong>Source</strong> Workshop of <strong>the</strong> International Conferenceon <strong>Software</strong> Eng<strong>in</strong>eer<strong>in</strong>g (ICSE 2004). 2004.[7] Hackman, J.R., The Handbook of Organizational Behavior, <strong>in</strong> Thedesign of work teams, J.W. Lorsch, Editor. 1986, Prentice-Hall:Englewood Cliffs, NJ.[8] Neil Smith, A.C., Juan Fernández-Ramil, Users and Developers: AnAgent-Based Simulation of <strong>Open</strong> <strong>Source</strong> <strong>Software</strong> Evolution, <strong>in</strong>SPW/ProSim 2006. 2006.[9] J<strong>in</strong> Xu, Y.G., Scott Christley, Gregory R. Madey, A TopologicalAnalysis of <strong>the</strong> <strong>Open</strong> Souce <strong>Software</strong> Development Community <strong>in</strong>HICSS 2005. 2005.[10] Elliott, M., Stigmergic <strong>Collaboration</strong>: The Evolution of Group Work.M/C Journal, 2006. 9(2).[11] Heylighen, F., ed. Why is <strong>Open</strong> Access Development so Successful?<strong>Open</strong> <strong>Source</strong> Jahrbuch, ed. M.B.R.A.G. B. Lutterbeck. 2007,Lehmanns Media.[12] Dorigo, M., Ant colony optimization and swarm <strong>in</strong>telligence <strong>in</strong> 4thInternational Workshop, ANTS 2004, Brussels, Belgium, September 5-8, 2004 : proceed<strong>in</strong>gs. Lecture notes <strong>in</strong> computer science. 2004,Berl<strong>in</strong>: Spr<strong>in</strong>ger.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!