Typical Development Processes of Free and Open

Total Page:16

File Type:pdf, Size:1020Kb

Typical Development Processes of Free and Open FAKULTÄTFÜRINFORMATIK Technische Universität München Master’s Thesis in Informatics TYPICALDEVELOPMENTPROCESSESOFFREE ANDOPENSOURCESOFTWAREPROJECTS daniel g. siegel FAKULTÄTFÜRINFORMATIK Technische Universität München Master’s Thesis in Informatics TYPICALDEVELOPMENTPROCESSESOFFREE ANDOPENSOURCESOFTWAREPROJECTS author: daniel g. siegel supervisor: univ.-prof. dr. peter hubwieser advisor: marcus bitzl date: may 15th , 2012 DECLARATION I assure the single handed composition of this master’s thesis only supported by declared resources. Munich, May 15th, 2012 Daniel G. Siegel iii ABSTRACT Free and Open Source Software is a research subject which has con- stantly been gaining importance for modern digital life over the past 20 years. The World Wide Web as we know it today would have been impossible without the free availability of source code, vivid develop- ment communities and consequent support for open standards. De- spite these facts, there has been little research about the particular similarities or differences in the development processes and struc- tures of Free and Open Source Software projects. This thesis aims to provide an introduction into the development processes and project management strategies of Free and Open Source Software projects. To accomplish this, a project analysis catalogue is established with which Free and Open Source Software can be ana- lyzed systematically and satisfactorily for the goals of this thesis. Fol- lowing this catalogue several Free and Open Source Software projects are analyzed in order to identify concertedly models and processes. The results corroborate suggestions that especially large and ma- ture Free and Open Source Software projects have established similar structures and processes. This includes very hierarchical structures with akin roles, similar release cycles and analogical development processes which cannot be resembled with traditional or agile soft- ware engineering methods. iv CONTENTS 1 introduction1 1.1 Problem and Motivation . 1 1.2 Outline of the Thesis . 2 2 theoretical background3 2.1 Grounded Theory . 3 2.2 Qualitative Content Analysis . 4 2.3 Application in Computer Science . 5 2.4 Software Engineering Comparison Models . 6 2.4.1 Traditional Software Engineering Models . 6 2.4.2 Agile Software Engineering Models . 8 3 related work 10 3.1 Project Structure . 10 3.2 Motivation . 11 3.3 Software Engineering . 11 3.4 Case Studies . 12 4 methodology 13 4.1 Project Selection . 13 4.1.1 Category . 13 4.1.2 Popularity . 13 4.1.3 Project Age . 13 4.1.4 Activity . 14 4.1.5 Community . 14 4.2 Final Selection . 15 4.3 Visualization of Project Data . 15 4.3.1 Commits by Author . 16 4.3.2 Commits by Year . 17 4.3.3 Time Based View . 17 4.3.4 Commits by Month . 18 4.3.5 Authors by Month . 19 5 development process analysis 21 5.1 Drupal Project Analysis . 21 5.1.1 History . 21 5.1.2 Community . 21 5.1.3 Release Process . 24 5.1.4 Development . 26 5.2 Plone Project Analysis . 27 5.2.1 History . 28 5.2.2 Community . 28 5.2.3 Release Process . 30 v contents vi 5.2.4 Development . 31 5.3 Python Project Analysis . 34 5.3.1 History . 34 5.3.2 Community . 34 5.3.3 Release Process . 37 5.3.4 Development . 38 5.4 PHP Project Analysis . 41 5.4.1 History . 41 5.4.2 Community . 42 5.4.3 Release Process . 44 5.4.4 Development . 45 5.5 GNOME Project Analysis . 47 5.5.1 History . 48 5.5.2 Community . 49 5.5.3 Release Process . 51 5.5.4 Development . 54 5.6 KDE Project Analysis . 54 5.6.1 History . 55 5.6.2 Community . 55 5.6.3 Release Process . 57 5.6.4 Development . 61 5.7 Proposition for a Project Analysis Catalogue . 62 5.7.1 Description of the Project . 62 5.7.2 Project Category . 62 5.7.3 Scope of Analysis . 62 5.7.4 License . 62 5.7.5 History . 62 5.7.6 Community . 63 5.7.7 Release Process . 63 5.7.8 Development . 64 5.8 PostgreSQL Project Analysis . 65 5.8.1 Project Category . 65 5.8.2 Scope of Analysis . 65 5.8.3 License . 65 5.8.4 History . 65 5.8.5 Community . 65 5.8.6 Release Process . 66 5.8.7 Development . 67 5.9 MySQL/MariaDB Project Analysis . 68 5.9.1 Project Category . 68 5.9.2 Scope of Analysis . 68 5.9.3 License . 69 5.9.4 History . 69 5.9.5 Community . 69 5.9.6 Release Process . 70 5.9.7 Development . 71 contents vii 5.10 Fedora Project Analysis . 72 5.10.1 Project Category . 72 5.10.2 Scope of Analysis . 72 5.10.3 License . 72 5.10.4 History . 72 5.10.5 Community . 73 5.10.6 Release Process . 74 5.10.7 Development . 74 5.11 Debian Project Analysis . 75 5.11.1 Project Category . 75 5.11.2 Scope of Analysis . 75 5.11.3 License . 75 5.11.4 History . 76 5.11.5 Community . 76 5.11.6 Release Process . 77 5.11.7 Development . 77 6 comparison of development processes 79 6.1 Project Origin . 79 6.2 Community . 80 6.2.1 Community Size . 80 6.2.2 Communication . 81 6.2.3 Conferences . 82 6.2.4 Roles . 82 6.2.5 Project Founders . 84 6.3 Release Process . 85 6.3.1 Versioning Scheme . 85 6.3.2 Release Schedule . 86 6.4 Development . 89 6.4.1 Development Lead . 89 6.4.2 Development Workflow . 90 6.4.3 Feature Inclusion Process . 90 7 discussion 93 7.1 Project Origin . 93 7.2 Community . 93 7.3 Release Process . 95 7.4 Development . 95 8 conclusion 97 bibliography 100 Appendix 105 a comparison of project graphs 106 b project resources 111 b.1 Drupal . 111 b.2 Plone . 111 contents viii b.3 Python . 112 b.4 PHP.............................. 113 b.5 GNOME . 114 b.6 KDE.............................. 115 b.7 PostgreSQL . 115 b.8 MySQL/MariaDB . 116 b.9 Fedora . 117 b.10 Debian . 118 LISTOFFIGURES Figure 2.1 Grounded Theory Process . 3 Figure 2.2 Inductive Qualitative Content Analysis Process 4 Figure 2.3 Original Waterfall Model . 6 Figure 2.4 Spiral Model . 7 Figure 2.5 Extreme Programming Model . 8 Figure 2.6 Scrum Model . 8 Figure 4.1 The Commits by Author Graph . 16 Figure 4.2 The Commits by Year Graph . 17 Figure 4.3 The Time Based View Graph . 17 Figure 4.4 The Commits by Month Graph . 18 Figure 4.5 The Authors by Month Graph . 19 Figure 5.1 Commits by Most Active Authors, Drupal . 22 Figure 5.2 Commits by Year, Drupal . 24 Figure 5.3 Major Releases of Drupal . 24 Figure 5.4 Time Based View on Commits, Drupal . 25 Figure 5.5 Drupal Release Process Phases . 25 Figure 5.6 Commits by Month, Drupal . 26 Figure 5.7 Authors by Month, Drupal . 27 Figure 5.8 Commits by Most Active Authors, Plone . ..
Recommended publications
  • C/C++ Programming with Qt 5.12.6 and Opencv 4.2.0
    C/C++ programming with Qt 5.12.6 and OpenCV 4.2.0 Preparation of the computer • Download http://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-windows- x86-5.12.6.exe and http://www.ensta-bretagne.fr/lebars/Share/OpenCV4.2.0.zip (contains OpenCV with extra modules built for Visual Studio 2015, 2017, 2019, MinGW Qt 5.12.6 x86, MinGW 8 x64), run Qt installer and select Qt\Qt 5.12.6\MinGW 7.3.0 32 bit and Qt\Tools\MinGW 7.3.0 32 bit options and extract OpenCV4.2.0.zip in C:\ (check that the extraction did not create an additional parent folder (we need to get only C:\OpenCV4.2.0\ instead of C:\OpenCV4.2.0\OpenCV4.2.0\), right-click and choose Run as administrator if needed). For Linux or macOS, additional/different steps might be necessary depending on the specific versions (and the provided .pro might need to be tweaked), see https://www.ensta-bretagne.fr/lebars/Share/setup_opencv_Ubuntu.pdf ; corresponding OpenCV sources : https://github.com/opencv/opencv/archive/4.2.0.zip and https://github.com/opencv/opencv_contrib/archive/4.2.0.zip ; Qt Linux 64 bit : https://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-linux-x64-5.12.6.run (for Ubuntu you can try sudo apt install qtcreator qt5-default build-essential but the version will probably not be the same); Qt macOS : https://download.qt.io/archive/qt/5.12/5.12.6/qt-opensource-mac-x64-5.12.6.dmg .
    [Show full text]
  • Qt Long Term Support
    Qt Long Term Support Jeramie disapprove chorally as moreish Biff jostling her canneries co-author impassably. Rudolfo never anatomise any redemptioner sauces appetizingly, is Torre lexical and overripe enough? Post-free Adolph usually stetted some basidiospores or flutes effeminately. Kde qt versions to the tests should be long qt term support for backing up qt company What will i, long qt term support for sale in the long. It is hard not even wonder what our cost whereas the Qt community or be. Please enter your support available to long term support available to notify others of the terms. What tests are needed? You should i restarted the terms were examined further development and will be supported for arrhythmia, or the condition? Define ad slots and config. Also, have a look at the comments below for new findings. You later need to compile your own Qt against a WEC SDK which is typically shipped by the BSP vendor. If system only involve half open the features of Qt Commercial, vision will not warrant the full price. Are you javer for long term support life cycles that supports the latter occurs earlier that opens up. Cmake will be happy to dry secretions, mutation will i could be seen at. QObjects can also send signals to themselves. Q_DECL_CONSTEXPR fix memory problem. Enables qt syndrome have long term in terms and linux. There has been lots of hype around the increasing role that machine learning, and artificial intelligence more broadly, will play in how we automate the management of IT systems. Vf noninducible at qt and long term in terms were performed at.
    [Show full text]
  • Why Be a KDE Project? Martin Klapetek David Edmundson
    Why be a KDE Project? Martin Klapetek David Edmundson What is KDE? KDE is not a desktop, it's a community „Community of technologists, designers, writers and advocates who work to ensure freedom for all people through our software“ --The KDE Manifesto What is a KDE Project? Project needs more than just good code What will you get as a KDE Project? Git repository Git repository plus „scratch repos“ (your personal playground) Creating a scratch repo git push –all kde:scratch/username/reponame Git repository plus web interface (using GitPHP) Git repository plus migration from Gitorious.org Bugzilla (the slightly prettier version) Review Board Integration of git with Bugzilla and Review Board Integration of git with Bugzilla and Review Board Using server-side commit hooks ● BUG: 24578 ● CCBUG: 29456 ● REVIEW: 100345 ● CCMAIL: [email protected] Communication tools Mailing lists Wiki pages Forums Single sign-on to all services Official IRC channels #kde-xxxxx (on Freenode) IRC cloak me@kde/developer/mklapetek [email protected] email address Support from sysadmin team Community support Development support Translations (71 translation teams) Testing support (Active Jenkins and EBN servers, plus Quality Team) Project continuation (when you stop developing it) KDE e.V. support Financial and organizational help Trademark security Project's licence defense via FLA Promo support Stories in official KDE News site (Got the Dot?) Your blog aggregated at Planet KDE Promo through social channels Web hosting under kde.org domain Association with one of the best
    [Show full text]
  • 1 Australian Synchrotron
    EPICS Qt Update Paul Martin 1 Australian Synchrotron • 3GeV, 216m circumference synchrotron • 8 Beamlines • 12 Software Engineers • IMBL – Worlds Widest Beam - MRT Clinical Program – Safety Critical • Melbourne, Australia • Nearest other facilities: Taiwan, Thailand, Japan • 16th Most Urbanized Country • World’s most livable cities • Hosting ICALEPCS in 2015 2 Qt • Qt is a cross-platform application and UI framework for developers using C++ – Windows,OS X, Linux, Embedded Linux, Android, iOS, vxWorks, Win CE, Amiga OS • Open Source (LPGL v2.1) Qt Designer • Trolltech -> Nokia -> Digia, • Development tools: Qt Creator, Qt Designer, Qmake, Qt Linguist, Qt Assistant, Integration into Visual Studio • Rich set of Widgets and other classes (1000+), Qwt (125+) • Very Good Documentation, help, examples • All Qt Objects contain powerful object communication Qt Creator mechanism (Signal+Slots) • GUI Layout widgets • Qt Project: www.qt-project.org 3 EPICS Qt – Team • Started 2009 – Anthony Owen, Andrew Rhyder, Glenn Jackson • Joined 2011 – Andy Starritt • Joined 2012 – Ricardo Fernandez • Joined 2013 – Zai Wang (1 year contract) 4 EPICS Qt – Rapid GUI Development • Adds Channel Access to standard Qt Widgets and Data Classes • Rapid GUI Dev – Drag and Drop EPICS aware components in Qt Designer • Macro Substitutions for PV names and other GUI functions Qt Designer Channel Access running at design time .ui file – presented using QEGui on any platform (windows / linux) 5 EPICS Qt – Other App Types QCaString Qt Creator QCaInteger QCaFloating QCaByteArray
    [Show full text]
  • Kdesrc-Build Script Manual
    kdesrc-build Script Manual Michael Pyne Carlos Woelz kdesrc-build Script Manual 2 Contents 1 Introduction 8 1.1 A brief introduction to kdesrc-build . .8 1.1.1 What is kdesrc-build? . .8 1.1.2 kdesrc-build operation ‘in a nutshell’ . .8 1.2 Documentation Overview . .9 2 Getting Started 10 2.1 Preparing the System to Build KDE . 10 2.1.1 Setup a new user account . 10 2.1.2 Ensure your system is ready to build KDE software . 10 2.1.3 Setup kdesrc-build . 12 2.1.3.1 Install kdesrc-build . 12 2.1.3.2 Prepare the configuration file . 12 2.1.3.2.1 Manual setup of configuration file . 12 2.2 Setting the Configuration Data . 13 2.3 Using the kdesrc-build script . 14 2.3.1 Loading project metadata . 14 2.3.2 Previewing what will happen when kdesrc-build runs . 14 2.3.3 Resolving build failures . 15 2.4 Building specific modules . 16 2.5 Setting the Environment to Run Your KDEPlasma Desktop . 17 2.5.1 Automatically installing a login driver . 18 2.5.1.1 Adding xsession support for distributions . 18 2.5.1.2 Manually adding support for xsession . 18 2.5.2 Setting up the environment manually . 19 2.6 Module Organization and selection . 19 2.6.1 KDE Software Organization . 19 2.6.2 Selecting modules to build . 19 2.6.3 Module Sets . 20 2.6.3.1 The basic module set concept . 20 2.6.3.2 Special Support for KDE module sets .
    [Show full text]
  • Multiplatformní GUI Toolkity GTK+ a Qt
    Multiplatformní GUI toolkity GTK+ a Qt Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI GUI toolkit (widget toolkit) (1) = programová knihovna (nebo kolekce knihoven) implementující prvky GUI = widgety (tlačítka, seznamy, menu, posuvník, bary, dialog, okno atd.) a umožňující tvorbu GUI (grafického uživatelského rozhraní) aplikace vlastní jednotný nebo nativní (pro platformu/systém) vzhled widgetů, možnost stylování nízkoúrovňové (Xt a Xlib v X Windows System a libwayland ve Waylandu na unixových systémech, GDI Windows API, Quartz a Carbon v Apple Mac OS) a vysokoúrovňové (MFC, WTL, WPF a Windows Forms v MS Windows, Cocoa v Apple Mac OS X, Motif/Lesstif, Xaw a XForms na unixových systémech) multiplatformní = pro více platforem (MS Windows, GNU/Linux, Apple Mac OS X, mobilní) nebo platformově nezávislé (Java) – aplikace může být také (většinou) událostmi řízené programování (event-driven programming) – toolkit v hlavní smyčce zachytává události (uživatelské od myši nebo klávesnice, od časovače, systému, aplikace samotné atd.) a umožňuje implementaci vlastních obsluh (even handler, callback function), objektově orientované programování (objekty = widgety aj.) – nevyžaduje OO programovací jazyk! Jan Outrata (Univerzita Palackého v Olomouci) Multiplatformní GUI toolkity duben 2015 1 / 10 GUI toolkit (widget toolkit) (2) language binding = API (aplikační programové rozhraní) toolkitu v jiném prog. jazyce než původní API a toolkit samotný GUI designer/builder = WYSIWYG nástroj pro tvorbu GUI s využitím toolkitu, hierarchicky skládáním prvků, z uloženého XML pak generuje kód nebo GUI vytvoří za běhu aplikace nekomerční (GNU (L)GPL, MIT, open source) i komerční licence např. GTK+ (C), Qt (C++), wxWidgets (C++), FLTK (C++), CEGUI (C++), Swing/JFC (Java), SWT (Java), JavaFX (Java), Tcl/Tk (Tcl), XUL (XML) aj.
    [Show full text]
  • Community Report 2Nd Quarter 2012 | Issue 22
    COMMUNITY REPORT 2ND QUARTER 2012 | ISSUE 22 WELCOME MESSAGE Dear KDE members, contributors, night only to return after few hours of raised. A Pledgie campaign users, supporters, patrons, sponsors sleep to continue working from where (http://pledgie.com/campaigns/18045) and friends, they left off. Since then, a lot has is available to help achieve this goal. changed. We now have regular sprints Please spread the word about this We are coming back from a successful pretty much all year around. campaign and donate if you can. Akademy 2012 in Tallinn, Estonia. The event commenced with a befitting talk One such sprint is the Randa meeting. Speaking of changing times, a very “Freedom of Expression” by Mathias In fact, it has become the most important one is the upcoming new Klang; “freedom of expression” is a intense and largest KDE sprint. In 2011, ownership of Qt. Recently Nokia trait that has embodied KDE since its the event saw participation by 40 KDE announced that it is selling its Qt beginning. It was followed by an contributors from around the world business to Digia. Congratulations to excellent two day line-up of talks. The coming together to plan, design, KDE e.V. supporting member Digia on main conference was followed by a create and work on their favorite KDE acquiring Qt Software. We wish them diverse and interesting array of BoF projects. The Randa sprint is being all the best in taking Qt to even sessions and workshops. The KDE e.V. organized by our own KDE hero higher levels of success and adoption.
    [Show full text]
  • Linux Shell Scripting Cookbook Second Edition
    Linux Shell Scripting Cookbook Second Edition Over 110 practical recipes to solve real-world shell problems, guaranteed to make you wonder how you ever lived without them Shantanu Tushar Sarath Lakshman BIRMINGHAM - MUMBAI Linux Shell Scripting Cookbook Second Edition Copyright © 2013 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: January 2011 Second edition: May 2013 Production Reference: 1140513 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78216-274-2 www.packtpub.com Cover Image by Parag Kadam ([email protected]) Credits Authors Project Coordinator Shantanu Tushar Shiksha Chaturvedi Sarath Lakshman Proofreader Reviewers Linda Morris Rajeshwari K. John C. Kennedy Indexer Hemangini Bari Anil Kumar Sudhendu Kumar Production Coordinator Aravind SV Shantanu Zagade Acquisition Editor Cover Work Kartikey Pandey Shantanu Zagade Lead Technical Editor Ankita Shashi Technical Editors Jalasha D'costa Amit Ramadas Lubna Shaikh About the Authors Shantanu Tushar is an advanced GNU/Linux user since his college days.
    [Show full text]
  • AN QP™/QM™ and the Qt™ GUI Framework
    QP state machine frameworks for Arduino Application Note QP/C++™ and the Qt™ GUI Framework Document Revision K May 2014 Copyright © Quantum Leaps, LLC [email protected] www.state-machine.com Table of Contents 1 Introduction ..................................................................................................................................................... 1 1.1 About Qt .................................................................................................................................................. 1 1.2 About QP/C++™ ...................................................................................................................................... 1 1.3 About QM™ ............................................................................................................................................. 2 1.4 Licensing QP™ ........................................................................................................................................ 3 1.5 Licensing QM™ ....................................................................................................................................... 3 2 Getting Started ................................................................................................................................................ 4 2.1 Installing Qt .............................................................................................................................................. 4 2.2 Installing QP/C++ Baseline Code ...........................................................................................................
    [Show full text]
  • Sponsors Brochure
    Humboldt University Berlin, Germany 6-12 August 2011 Sponsors Brochure Welcome to the second Desktop Summit The Desktop Summit is a co-located event which features the yearly contributor conferences of the GNOME and KDE communities, GUADEC and Akademy. The conference will take place from 6-12 August 2011 in Berlin, Germany. The event will feature joint keynotes, talks and social events as well workshops and coding sessions. The Desktop Summit is organised by the GNOME Foundation and KDE e.V. GNOME and KDE have been cooperating in order to make choices and application development easier for end users, distributors and ISVs. An increased amount of technology is shared between the desktop, making cross-desktop application integration easier. By holding their annual developer flagship events in the same location, KDE and GNOME foster collaboration and discussion between their developer communities. The first Desktop Summit in 2009 was a huge success: 852 free software advocates from 46 countries gathered together to discuss and enhance the free desktop experience at the Gran Canaria Desktop Summit. The event accomplished its goal of increasing cooperation between GNOME and KDE to improve the Free Desktop experience. The aim of the Desktop Summit 2011 is to intensify this momentum and further advance collaboration between the KDE, GNOME and the rest of the Free Desktop and mobile open source community. It presents a unique opportunity for main actors to work together and improve the free and open source desktop for all. Join us to make this event a success! The Venue Humboldt-Universität zu Berlin is one of the leading research institutions enjoying an excellent international reputation.
    [Show full text]
  • Akademy 2020 Online, Sept
    Akademy 2020 Online, Sept. 4 to Sept. 11 Sponsors' Brochure akademy.kde.org Akademy is the annual gathering of the KDE community, a meeting point for more than 1800 contributors from around the world. kademy clebrates the collabora��ve As a result, Akademy is the prime hub for Aefforts of KDE developers, translators, cross‐project collaboraon. arsts, writers, maintainers and users. It provides a pla orm where KDE The Akademy program highlights the Community members can discuss the importance of Qt for KDE projects, and we've outcomes of their yearlong efforts through hosted other Qt‐related projects (like VLC) in talks, lightning presentaons, Bird of a the past. Akademy 2016, for example, was Feather sessions (BoFs), workshops and organised as a part of QtCon in collaboraon coding sessions. with the VideoLAN Community, Qt Company, KDAB, and the FSFE. Talks give an insight into the current state of different KDE projects, while BoFs and coding With more than 50 talks and BoFs on a wide sessions allow teams to reflect on current range of topics ‐ from latest developments in issues, set development goals for the coming FOSS and KDE technologies to community year, and collaborate on them in real me. management, design, promoon and outreach ‐ the eight days of Akademy are instrumental A endees come from various backgrounds in growing and sustaining a community as and include key technical and non‐technical diverse and widespread as KDE. contributors, Free and Open Source industry leaders, educators, legal experts and students. Visit akademy.kde.org/2020 to learn more. 1 Akademy 2020 - From Sept.
    [Show full text]
  • Engaging Developers in Open Source Software Projects: Harnessing Social
    Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2015 Engaging developers in open source software projects: harnessing social and technical data mining to improve software development Patrick Eric Carlson Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Computer Engineering Commons, Computer Sciences Commons, and the Library and Information Science Commons Recommended Citation Carlson, Patrick Eric, "Engaging developers in open source software projects: harnessing social and technical data mining to improve software development" (2015). Graduate Theses and Dissertations. 14663. https://lib.dr.iastate.edu/etd/14663 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Engaging developers in open source software projects: Harnessing social and technical data mining to improve software development by Patrick Eric Carlson A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Human-Computer Interaction Program of Study Committee: Judy M. Vance, Major Professor Tien Nguyen James Oliver Jon Kelly Stephen Gilbert Iowa State University Ames, Iowa 2015 Copyright c Patrick Eric Carlson, 2015. All rights reserved. ii DEDICATION This is dedicated to my parents who have always supported me. iii TABLE OF CONTENTS Page LIST OF TABLES . vi LIST OF FIGURES . vii ACKNOWLEDGEMENTS . ix ABSTRACT . x CHAPTER 1.
    [Show full text]