Measuring Developer Contribution from Software Repository Data

Total Page:16

File Type:pdf, Size:1020Kb

Measuring Developer Contribution from Software Repository Data Measuring Developer Contribution from Software Repository Data Eirini Kalliamvakou, Georgios Gousios, Diomidis Spinellis, Nancy Pouloudi Department of Management Science and Technology Athens University of Economics and Business Athens, Greece ikaliam,gousiosg,dds,[email protected] Abstract coordinate with colleagues effectively and to use a variety of tools that produce and modify code with minimal input Our work is concerned with an enriched perspective from his or her side. This change has become more apparent of what constitutes developer contribution in software in- with the emergence of Open Source Software (OSS). frastructures supporting incremental development and dis- In this respect, a developer contributes to a wide range of tributed software projects. We use the term “contribution” activities both involving the process and the product. Such an to express the combination of all the actions a developer enriched perspective on a developer’s contribution requires has performed during the development process and propose all individual actions to be taken into account. In this paper a model for calculating this individually for developers par- we discuss and measure contribution in this respect; a com- ticipating in a software project. Our approach departs from bination of all the actions a person has performed during the the traditional practice of only measuring the contribution to software development process weighted for their significance the final outcome (the code) and puts emphasis additionally to the specific project. Our practice, then, encompasses the on other activities that do not directly affect the product contribution to the final outcome as well as to the process itself but are essential to the development process. We use that generated it. the Open Source Software (OSS) context to take advantage This paper introduces a new model for measuring de- of the public availability of data in software repositories. veloper contribution, assuming that a more comprehensive In this paper, we present our method of calculation and its image can be formed about a developer’s contribution by system implementation and we apply our measurements on combining actions directed towards the product itself and various projects from the GNOME ecosystem. the process that yields it. For implementing our contribution calculation algorithm we have combined our proposed model 1. Introduction of calculation with repository mining techniques. We provide a visual representation of the results, thus offering rich An important aspect of all engineering principles is the information regarding the total contribution per developer assessment of the contribution of individuals that work on a and how it is divided among different actions during the de- project. Contribution assessments are performed to monitor velopment process. Our initial observations set the basis for the rate of project development, identify implementation discussing contribution to multiagent, distributed software bottlenecks and isolate exceptional cases, while the results of projects based on this new kind of information. contribution assessments can help with project planning and future estimations. An open issue linked with contribution 2. Existing work assessment is the definition of what contribution is in a particular context and also the selection and application of We use the term “contribution” to express the combination the appropriate measurements. of all the actions a developer has performed during the In software engineering, contribution assessment entails development process. In today’s changing software devel- the measurement of the contribution of a person in terms opment environment a developer’s work items have been of lines of code (LOC) or function points towards the final enriched with the addition of further activities that benefit development of a software project [Kan, 2003]. This practice the whole project, and this reality needs to be reflected. clearly focuses on the contribution to the final outcome of Contribution, as a notion, encapsulates other notions that the project (i.e. the source code). To this end, only LOC have been frequently used in the literature to express activity, is regarded as measured contribution. In recent years, how- participation, effort or performance. In these cases, we see ever, the shift towards modern development practices and that although the name changes, the same concept is being the proliferation of software and project management tools described and the same measurement is used. challenge this perspective. A software developer today is not Productivity is a reoccurring discussion in all processes only required to write code, but also to communicate and that involve inputs and outputs. In economic terms, pro- ductivity is the ratio of output to input, the output of developers’ contribution that accounts not only for the LOC a process divided by the effort required to produce it. that they have produced but also their support via posting In [Walston and Felix, 1977], programmer productivity is to mailing lists, submitting bug reports and building wikis. defined as the ratio of the delivered source lines of code (DSL) to the total effort in man-months (MM) required to 3. Our approach produce the delivered program. Input and output in soft- ware engineering processes are frequently addressed with Our work is concerned with the measurement of de- output usually measured in LOC [Walston and Felix, 1977], veloper involvement and activity in the face of incremen- [Asundi, 2005], [Maxwell and Forselius, 2000]. As the LOC tal and distributed development practices. The model we metric cannot be determined safely before the end of the are building exploits the availability of publicly accessi- project, function point analysis usually complements it. ble software repositories to perform measurements and its Input, on the other hand, is not as a straightforward notion system implementation can run fully automatically with in software development and its calculation requires further no human intervention. The current paper extends previous explanation. work [Gousios et al., 2008], both theoretically as well as In a software project there are several assets that receive technically. Specifically, we present an updated method of input [Hertel et al., 2003], [Koch and Schneider, 2000], calculation and a more detailed table of actions. Also, we leaving trails of the actions of participating developers. have applied our methods and measurements to generate Participation and performance of developers, which can results. be calculated from their input, are frequently discussed Our model departs from the classic measurement practices in productivity contexts. Again, although it is noted as it does not consider the added lines of source code as that OSS developers provide many different kinds of the only contribution metric. This is a deliberate choice services to their projects, participation is measured in that we believe better reflects how software is developed terms of number of source code contributions, showing using modern development methodologies, in the context a complete focus on participation to the outcome, while of which, an important portion of development time is spent performance is mainly expressed in terms of rank on communication and manipulation of development support advancement [Roberts et al., 2006]. tools. Our model does not neglect the importance of source The shortcomings of just measuring LOC to account for code either; we still use the lines of code which we have a developer’s significance to a project have been discussed represented via three actions (CADD, CREM, CCGN), but we by researchers [Amor et al., 2006]. Aiming to estimate cost also combine them with the developers’ other actions on in the OSS context, Amor et al. propose that developer the project. We argue that this combination provides a more activity should be calculated. Although this is usually done complete image of how much a developer has contributed to by means of LOC, they stress that it is necessary to enhance the software development process, not accounting only for this by a more detailed description of activity that accounts writing code. for actions other than simply writing code. This is a first To identify which actions can be classified as contribu- attempt to move from focus on the outcome to examining tion, we follow a hierarchical, top-down approach: we first the whole process. Cost is considered a function of effort, identify the project assets that can potentially receive contri- which in turn is considered a function of activity and bution and then analyze the actions that can be performed on suggested sources of information include CVS repositories, each of the identified assets to see if they constitute a contri- mailing list archives and bug tracking systems. In this bution or not. The actions have been initially identified intu- regard, Amor et al. differentiate from previous literature that itively and through personal experience and based on related regards participation of developers simply as the addition literature [Hertel et al., 2003], [Koch and Schneider, 2000], of LOC [Koch and Schneider, 2002], [Mockus et al., 2002], [Amor et al., 2006]. After consulting with experts the table [Mockus and German, 2003]. is updated and refined. Today, with software development following more ag- In Table 1, we present a non-exhaustive breakdown of ile practices, developers in a project contribute to more actions that can be performed
Recommended publications
  • Desktop Migration and Administration Guide
    Red Hat Enterprise Linux 7 Desktop Migration and Administration Guide GNOME 3 desktop migration planning, deployment, configuration, and administration in RHEL 7 Last Updated: 2021-05-05 Red Hat Enterprise Linux 7 Desktop Migration and Administration Guide GNOME 3 desktop migration planning, deployment, configuration, and administration in RHEL 7 Marie Doleželová Red Hat Customer Content Services [email protected] Petr Kovář Red Hat Customer Content Services [email protected] Jana Heves Red Hat Customer Content Services Legal Notice Copyright © 2018 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
    [Show full text]
  • Ubuntu Kung Fu
    Prepared exclusively for Alison Tyler Download at Boykma.Com What readers are saying about Ubuntu Kung Fu Ubuntu Kung Fu is excellent. The tips are fun and the hope of discov- ering hidden gems makes it a worthwhile task. John Southern Former editor of Linux Magazine I enjoyed Ubuntu Kung Fu and learned some new things. I would rec- ommend this book—nice tips and a lot of fun to be had. Carthik Sharma Creator of the Ubuntu Blog (http://ubuntu.wordpress.com) Wow! There are some great tips here! I have used Ubuntu since April 2005, starting with version 5.04. I found much in this book to inspire me and to teach me, and it answered lingering questions I didn’t know I had. The book is a good resource that I will gladly recommend to both newcomers and veteran users. Matthew Helmke Administrator, Ubuntu Forums Ubuntu Kung Fu is a fantastic compendium of useful, uncommon Ubuntu knowledge. Eric Hewitt Consultant, LiveLogic, LLC Prepared exclusively for Alison Tyler Download at Boykma.Com Ubuntu Kung Fu Tips, Tricks, Hints, and Hacks Keir Thomas The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Alison Tyler Download at Boykma.Com Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
    [Show full text]
  • Communication Between Desktop and Web Applications
    Communication between desktop and web applications Author: Manuel Rego Casasnovas Contact: [email protected] Date: 20/11/2009 Copyright: Some rights reserved. This document is distributed under the Creative Commons Attribution-ShareAlike 3.0 licence, available in http://creativecommons.org/licenses/by-sa/3.0/. Abstract: Nowadays, everybody uses web applications. Despite of their advantages, like being available at any place with Internet, they have some usability problems with regard to common desktop applications. This article tries to analyze the possible solutions in order to interconnect desktop and web applications, centered in the GNOME platform and using RTM-GLib as example and study case. Table of Contents Introduction 2 State of the art in the GNOME platform . .2 Goals .......................................7 The library: RTM-GLib 7 Dependencies . .7 Development . .8 License ......................................8 Roadmap . .8 Usage example . .9 Future ideas 9 Mojito.......................................9 Trackerminer................................... 10 EDSbackend................................... 11 Conclusion 11 1 Introduction There are a large amount of web services in the Internet. A general definition of web service said that it is a system which provides an interface to allow interaction between machines over a network. As time passes more and more web applications provide some kind of API in order to access their services. This number is growing and it seems that will keep growing for some time. Some examples of these applications: Flickr, Facebook, Twitter, etc. Web applications has some advantages compared with desktop applications: All the data is shared and in a centralized place. They do not need any special configuration or installation, just a simple web browser is enough.
    [Show full text]
  • Work Package 2 Collection of Requirements for OS
    Consortium for studying, evaluating, and supporting the introduction of Open Source software and Open Data Standards in the Public Administration Project acronym: COSPA Wor k Package 2 Collection of requirements for OS applications and ODS in the PA and creation of a catalogue of appropriate OS/ODS Solutions D eliverable 2. 1 Catalogue of available Open Source tools for the PA Contract no.: IST-2002-2164 Project funded by the European Community under the “SIXTH FRAMEWORK PROGRAMME” Work Package 2, Deliverable 2.1 - Catalogue of available Open Source tools for the PA Project Acronym COSPA Project full title A Consortium for studying, evaluating, and supporting the introduction of Open Source software and Open Data Standards in the Public Administration Contract number IST-2002-2164 Deliverable 2.1 Due date 28/02/2004 Release date 15/10/2005 Short description WP2 focuses on understanding the OS tools currently used in PAs, and the ODS compatible with these tools. Deliverable D2.1 contains a Catalogue of available open source tools for the PA, including information about the OS currently in use inside PAs, the administrative and training requirements of the tools. Author(s) Free University of Bozen/Bolzano Contributor(s) Conecta, IBM, University of Sheffield Project Officer Tiziana Arcarese Trond Arne Undheim European Commission Directorate-General Information Society Directorate C - Unit C6- eGovernment, BU 31 7/87 rue de la Loi 200 - B-1049 Brussels - Belgium 26/10/04 Version 1.3a page 2/353 Work Package 2, Deliverable 2.1 - Catalogue of available Open Source tools for the PA Disclaimer The views expressed in this document are purely those of the writers and may not, in any circumstances, be interpreted as stating an official position of the European Commission.
    [Show full text]
  • The GNOME Census: Who Writes GNOME?
    The GNOME Census: Who writes GNOME? Dave Neary & Vanessa David, Neary Consulting © Neary Consulting 2010: Some rights reserved Table of Contents Introduction.........................................................................................3 What is GNOME?.............................................................................3 Project governance...........................................................................3 Why survey GNOME?.......................................................................4 Scope and methodology...................................................................5 Tools and Observations on Data Quality..........................................7 Results and analysis...........................................................................10 GNOME Project size.......................................................................10 The Long Tail..................................................................................11 Effects of commercialisation..........................................................14 Who does the work?.......................................................................15 Who maintains GNOME?................................................................17 Conclusions........................................................................................22 References.........................................................................................24 Appendix 1: Modules included in survey...........................................25 2 Introduction What
    [Show full text]
  • Customizing Debian Benjamin Mako Hill
    Customizing Debian “Fork Yours with Debian GNU/Linux” Benjamin Mako Hill [email protected] http://mako.yukidoke.org Ubuntu Debian Project Software in the Public Interest Benjamin Mako Hill LCA - Debian MiniConf4 http://mako.yukidoke.org The World of Debian Customizers There are 115 distributions derived from Debian. AbulÉdu • Adamantix • AGNULA GNU/Linux Audio Distribution • ANTEMIUM Linux • Arabbix • ARMA aka Omoikane GNU/Linux • ASLinux • Auditor Security Linux • Augustux • B2D Linux • BEERnix • Biadix • BIG LINUX • Bioknoppix • BlackRhino • Bluewall GNU/Linux • Bonzai Linux • BrlSpeak • Càtix • CensorNet • Clusterix • ClusterKNOPPIX • Condorux • Damn Small Linux • Danix • DebXPde • eduKnoppix • ERPOSS • ESware • Euronode • FAMELIX • Feather Linux • Flonix • Vital Data Forensic or Rescue Kit (FoRK) • Freeduc-cd • GEOLivre Linux • Gibraltar Firewall • GNIX-Vivo • Gnoppix Linux • gnuLinEx • GNU/Linux Kinneret • GNUstep Live CD • grml • Guadalinex • Helix • Hiweed Linux • Impi Linux • Julex • K-DEMar • Kaella • Knoppix Linux Azur • Kalango Linux • KANOTIX • KlusTriX • knopILS • Knoppel • Knoppix • Knoppix 64 • Knoppix STD • KnoppiXMAME • KnoppMyth • Kurumin Linux • LAMPPIX • Libranet GNU/Linux • LIIS Linux • LinEspa • Linspire • Linux Live Game Project • Linux Loco • LinuxDefender Live! CD • Linuxin • LiVux • Local Area Security Linux (L.A.S.) • Luinux • Luit Linux • MAX: Madrid_Linux • Mediainlinux • MEPIS Linux • Metadistro-Pequelin • MIKO GNYO/Linux • Morphix • Munjoy Linux • Nature's Linux • NordisKnoppix • OGo Knoppix • Oralux • Overclockix
    [Show full text]
  • SUSE® Linux Enterprise Desktop 12 and the Workstation Extension: What's New ?
    SUSE® Linux Enterprise Desktop 12 and the Workstation Extension: What's New ? Frédéric Crozat <[email protected]> Enterprise Desktop Release Manager Scott Reeves <[email protected]> Enterprise Desktop Development Manager Agenda • Design Criteria • Desktop Environment in SUSE Linux Enterprise 12 • GNOME Shell • Desktop Features and Applications 2 Design Criteria SUSE Linux Enterprise Desktop Interoperability Ease of Use Security Ease of Management Lower Costs 4 SUSE Linux Enterprise Desktop 12 • Focus on technical workstation ‒ Developers and System administrators • One tool for the job • Main desktop applications will be shipped: ‒ Mail client, Office Suite, Graphical Editors, ... • SUSE Linux Enterprise Workstation Extension ‒ Extend SUSE Linux Enterprise Server with packages only available on SUSE Linux Enterprise Desktop. (x86-64 only) 5 Desktop in SUSE Linux Enterprise 12 As Part of the Common Code Base SUSE Linux Enterprise 12 Desktop Environment • SUSE Linux Enterprise 12 contains one primary desktop environment • Additional light-weight environment for special use-cases: ‒ Integrated Systems • Desktop environment is shared between the server and desktop products 7 SUSE Linux Enterprise 12 Desktop Environment • GNOME 3 is the main desktop environment ‒ SLE Classic mode by default ‒ GNOME 3 Classic Mode and GNOME 3 Shell Mode also available • SUSE Linux Enterprise 12 ships also lightweight IceWM ‒ Targeted at Integrated Systems • QT fully supported: ‒ QT5 supported for entire SLE12 lifecycle ‒ QT4 supported, will be removed in future
    [Show full text]
  • Fedora 16 System Administrator's Guide
    Fedora 16 System Administrator's Guide Deployment, Configuration, and Administration of Fedora 16 Jaromír Hradílek Douglas Silas Martin Prpič Eva Kopalová Eliška Slobodová Tomáš Čapek Petr Kovář Miroslav Svoboda System Administrator's Guide John Ha David O'Brien Michael Hideo Don Domingo Fedora 16 System Administrator's Guide Deployment, Configuration, and Administration of Fedora 16 Edition 1 Author Jaromír Hradílek [email protected] Author Douglas Silas [email protected] Author Martin Prpič [email protected] Author Eva Kopalová [email protected] Author Eliška Slobodová [email protected] Author Tomáš Čapek [email protected] Author Petr Kovář [email protected] Author Miroslav Svoboda [email protected] Author John Ha Author David O'Brien Author Michael Hideo Author Don Domingo Copyright © 2011 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
    [Show full text]
  • Multi Software Product Lines in the Wild
    AperTO - Archivio Istituzionale Open Access dell'Università di Torino Multi software product lines in the wild This is the author's manuscript Original Citation: Availability: This version is available http://hdl.handle.net/2318/1667454 since 2020-07-06T10:51:50Z Publisher: Association for Computing Machinery Published version: DOI:10.1145/3168365.3170425 Terms of use: Open Access Anyone can freely access the full text of works made available as "Open Access". Works made available under a Creative Commons license can be used according to the terms and conditions of said license. Use of all other works requires consent of the right holder (author or publisher) if not exempted from copyright protection by the applicable law. (Article begins on next page) 27 September 2021 Multi Software Product Lines in the Wild Michael Lienhardt Ferruccio Damiani [email protected] [email protected] Università di Torino Università di Torino Italy Italy Simone Donetti Luca Paolini [email protected] [email protected] Università di Torino Università di Torino Italy Italy ABSTRACT 1 INTRODUCTION Modern software systems are often built from customizable and A Software Product Line (SPL) is a set of similar programs, called inter-dependent components. Such customizations usually define variants, with a common code base and well documented variabil- which features are offered by the components, and may depend ity [1, 6, 19]. Modern software systems are often built as complex on backend components being configured in a specific way. As assemblages of customizable components that out-grow the expres- such system become very large, with a huge number of possible siveness of SPLs.
    [Show full text]
  • ERDA User Guide
    User Guide 22. July 2021 1 / 116 Table of Contents Introduction..........................................................................................................................................3 Requirements and Terms of Use...........................................................................................................3 How to Access UCPH ERDA...............................................................................................................3 Sign-up.............................................................................................................................................4 Login................................................................................................................................................7 Overview..........................................................................................................................................7 Home................................................................................................................................................8 Files..................................................................................................................................................9 File Sharing and Data Exchange....................................................................................................15 Share Links...............................................................................................................................15 Workgroup Shared Folders.......................................................................................................19
    [Show full text]
  • System Analysis and Tuning Guide System Analysis and Tuning Guide SUSE Linux Enterprise Server 15 SP1
    SUSE Linux Enterprise Server 15 SP1 System Analysis and Tuning Guide System Analysis and Tuning Guide SUSE Linux Enterprise Server 15 SP1 An administrator's guide for problem detection, resolution and optimization. Find how to inspect and optimize your system by means of monitoring tools and how to eciently manage resources. Also contains an overview of common problems and solutions and of additional help and documentation resources. Publication Date: September 24, 2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Copyright © 2006– 2021 SUSE LLC and contributors. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”. For SUSE trademarks, see https://www.suse.com/company/legal/ . All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its aliates. Asterisks (*) denote third-party trademarks. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its aliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof. Contents About This Guide xii 1 Available Documentation xiii
    [Show full text]
  • Informe Tradución Ao Galego Do Contorno GNOME 3.0
    INFORME DE TRADUCIÓN AO GALEGO DO CONTORNO GNOME 3.0 ABRIL 2011 Oficina de Software Libre da USC www.usc.es/osl [email protected] LICENZA DO DOCUMENTO Este documento pode empregarse, modificarse e redistribuírse baixo dos termos de unha das seguintes licenzas, a escoller: GNU Free Documentation License 1.3 Copyright (C) 2009 Oficina de Software Libre da USC. Garántese o permiso para copiar, distribuír e/ou modificar este documento baixo dos termos da GNU Free Documentation License versión 1.3 ou, baixo o seu criterio, calquera versión posterior publicada pola Free Software Foundation; sen seccións invariantes, sen textos de portada e sen textos de contraportada. Pode achar o texto íntegro da licenza en: http://www.gnu.org/copyleft/fdl.html Creative Commons Atribución – CompartirIgual 3.0 Copyright (C) 2009 Oficina de Software Libre da USC. Vostede é libre de: • Copiar, distribuír e comunicar publicamente a obra • Facer obras derivadas Baixo das condicións seguintes: • Recoñecemento. Debe recoñecer os créditos da obra do xeito especificado polo autor ou polo licenciador (pero non de xeito que suxira que ten o seu apoio ou apoian o uso que fan da súa obra. • Compartir baixo a mesma licenza.. Se transforma ou modifica esta obra para crear unha obra derivada, só pode distribuír a obra resultante baixo a mesma licenza, unha similar ou unha compatíbel. Pode achar o texto íntegro da licenza en: http://creativecommons.org/licenses/by-sa/3.0/es/deed.gl TÁBOA DE CONTIDOS Licenza do documento............................................................................................................3
    [Show full text]