Modeling and Simulating Free/Open Source Software Development Processes
|
|
|
- Lee Welch
- 10 years ago
- Views:
Transcription
1 Modeling and Simulating Free/Open Source Software Development Processes Walt Scacchi Institute for Software Research School of Information and Computer Science University of California, Irvine Irvine, CA
2 Overview Background Results from recent studies of F/OSS F/OSS processes Implications for Software Process Modeling and Simulation Conclusions
3 What is free/open source software development? Free (as in freedom ) vs. open source Freedom to access, browse/view, study, modify and redistribute the source code Free is always open, but open is not always free F/OSSD is not software engineering Different: F/OSSD can be faster, better, and cheaper than SE F/OSSD involves more software development tools, Web resources, and personal computing resources
4 Who is investing in OSSD? Large corporations: (IT and Financial) IBM-Eclipse, Sun-NetBeans and OpenOffice, HP-Gelato, Apple-Darwin, Microsoft Research-Rotor, SAP-DB, etc. Barclays Global Investors, DKW, Merrill Lynch, UBS Mid-size corporations: RedHat, Novell, Borland, BEA Systems Small (start-up) companies: ActiveState (now part of Sophos), Collab.Net, Jabber, Ximian (now part of Novell), JBoss, Compiere, etc. Government agencies: U.S.: DoD, Energy, NSF
5 Findings from F/OSS Studies CIO : OSS primarily for new system deployments OSS benefits enable lower TCO lower capital investment greater reliability OSS weaknesses: lack of in-house skills or skills in labor market, lack of vendor support or vendor viability switching costs
6 Findings from F/OSSD Studies Hars and Ou 2002: >60% of F/OSS developers work on 2-10 F/OSS projects Madey, et al. 2003: <5% of OSS projects on SourceForge.net sustained; >90% have only one contributor (i.e., Power Law) Nichols and Twidale 2003: Usability of F/OSS systems generally neglected Scacchi : Largest F/OSSD projects sustain exponential growth; most F/OSSD projects fail to grow to any sustainable effort
7 Sample processes for F/OSSD Requirements and design Configuration management and work coordination Maintenance/Evolution Project management/career development Software technology transfer and licensing
8 F/OSS Processes for Requirements or Design F/OSS Requirements/Designs Not explicit, not formal Downstream output, not upstream input F/OSS Requirements/Designs are embedded within informalisms Example OSS informalisms to follow (as screenshot displays) F/OSS Requirements/Design processes are different from their SE counterparts.
9 SE vs. F/OSS processes for Requirements Elicitation Analysis Specification and modeling Validation Communicating and managing Post-hoc assertion Reading, sense-making, accountability Continually emerging webs of discourse Condensing and hardening discourse Global access to discourse
10 Retrospective requirements specification example
11 Configuration management and work coordination Use CM to coordinate and control who gets to update what part of the system Many F/OSSD projects use CVS (single centralized code repository with update locks) and frequent releases (daily releases on active projects) Linux Kernel: BitKeeper (multiple parallel builds and release repositories) Collab.Net and Tigris.org: Subversion (CVS++) Apache: Single major release, with frequent patch releases (e.g., A patchy server ) GNU arch: Bitkeeper + Subversion + (more)
12 Concurrent version system (CVS) for coordinating source code updates
13 Evolution: Reinvention, redistribution, and revitalization Overall evolutionary dynamic of F/OSSD is reinvention Reinvention enables continuous improvement F/OSS evolve through minor mutations Expressed, recombined, redistributed via incremental releases F/OSS systems co-evolve with their development community Success of one depends on the success of the other Closed legacy systems may be revitalized via opening and redistribution of their source When enthusiastic user-developers want their cultural experience with such systems to be maintained.
14
15 Revitalizing legacy applications via open source example
16 Project management and career development F/OSSD projects self-organize as a layered meritocracy via virtual project management Meritocracies embrace incremental mutations over radical innovations VPM requires people to act in leadership roles based on skill, availability, and belief in project community F/OSS developers want to have fun, exercise their technical skill, try out new kinds of systems to develop, and/or interconnect multiple F/OSSD projects (freedom of choice and expression).
17 A layered meritocracy and role hierarchy for F/OSSD (images from A.J. Kim, Community Building on the Web, 2000)
18 Virtual project management example
19 Software technology transfer and licensing F/OSS technology transfer from existing Web sites is a community and team building process Not (yet) an engineering process Enables unanticipated applications and uses Enables F/OSSD to persist without centrally planned and managed corporate software development centers
20
21 Example of F/OSS technology transfer that enabled creation of new kind of application (e.g., online virtual dancing)
22
23 An OSS Ecosystem: a socio-technical community and infrastructure for tech transfer and inter-project coordination
24 Free/OSS licenses Reiterate and institutionalize F/OSS culture (values, norms, and beliefs) GNU Public License (GPL) for free software More than 35 other open source licenses ( Creative Commons Project at Stanford Law School developing public license framework F/OSS culture affects technical choices for tool selection, integration, and interoperability options
25
26 Implications F/OSSD is a community building process not just a technical development process F/OSS peer review creates a community of peers F/OSSD processes often iterate daily versus infrequent singular (milestone) Software Life Cycle Engineering events F/OSSD: frequent, rapid cycle time (easier to improve) vs. SLC: infrequent, slow cycle time (harder to improve)
27 Process Modeling and Simulation Implications F/OSS provides new types and new kinds of processes to model and simulate F/OSS process modeling and simulation requires empirical approaches New challenges in modeling and simulating what affects the productivity, quality, and cost of F/OSS development F/OSS process models and simulation should also be F/OSS
28 Process Modeling and Simulation Implications Understanding and modeling software processes in large F/OSS projects may require automated process discovery techniques spanning software ecosystem F/OSS processes (still) need to be modeled as narrative, hypermedia, and computational models. Modeling large, aggregated F/OSS projects likely to require advances in software process modeling tools and techniques.
29 Conclusions F/OSS processes are different than traditional software engineering processes not better, not worse, but different and new more social, more accessible, more convivial F/OSS systems need, but may not seek, the benefits from classic software engineering.
30 Open source software research Web site at UCI
31 Acknowledgements Project collaborators: Mark Ackerman, UMichigan, Ann Arbor Les Gasser, UIllinois, Urbana-Champaign John Noll, Santa Clara University Margaret Ellliot, Chris Jensen, UCI-ISR Julia Watson, The Ohio State University Funding support: National Science Foundation, ITR# , ITR# , ITR# , and ITR# No endorsement implied.
32 References Elliott, M. and Scacchi, W., Free Software Development: Cooperation and Conflict in A Virtual Organizational Culture, in S. Koch (ed.), Free/Open Source Software Development, Idea Publishing, to appear, A. Hars and S. Ou, Working for free? Motivations for participating in open source projects, International Journal of Electronic Commerce, 6(3), Spring G. Madey, V. Freeh, and R. Tynan, Modeling the F/OSS Community: A Quantitative Investigation, in Free/Open Source Software Development, in Stephan Koch, (ed.) Idea Publishing, forthcoming. D.M. Nichols & M.B. Twidale, The Usability of Open Source Software, First Monday, 8(1), January 2003.
33 References see C. Jensen and W. Scacchi, Discovering, Modeling, and Reenacting Open Source Software Development Processes, Institute for Software Research, March C. Jensen and W. Scacchi, Process Modeling the Web Information Infrastructure, Proc. 5th. Software Process Simulation and Modeling Workshop, Edinburgh, Scotland, May W. Scacchi, Understanding the Requirements for Developing Open Source Software, IEE Proceedings--Software, 149(1), 24-39, W. Scacchi, When is Free/Open Source Software Development Faster, Better, and Cheaper than Software Engineering? Working Paper, Institute for Software Research, UC Irvine, April W. Scacchi, Free/Open Source Software Development Practices in the Computer Game Community, IEEE Software, Special Issue on Open Source Software, 21(1), 59-67, January-February This presentation will be found at:
Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes
Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes Walt Scacchi, Chris Jensen, John Noll, and Margaret Elliott Institute for Software Research University of California,
OpenEC/B: Electronic Commerce and Free/Open Source Software Development
OpenEC/B: Electronic Commerce and Free/Open Source Software Development Walt Scacchi Institute for Software Research Donald Bren School of Information and Computer Sciences University of California, Irvine
F/OSSSD Modeling and Simulation
Opportunities and Challenges for Modeling and Simulating Free/Open Source Software Processes Abstract Walt Scacchi Institute for Software Research Donald Bren School of Information and Computer Sciences
Socio-Technical Interaction Networks in Free/Open Source Software Development Processes
Socio-Technical Interaction Networks in Free/Open Source Software Development Processes Walt Scacchi Institute for Software Research School of Information and Computer Science University of California,
John Noll, Ph.D. Research Associate, ATRIUM Laboratory, Marshall School of Business, University of Southern California,
CURRICULUM VITAE John Noll, Ph.D. Computer Engineering Department, Santa Clara University 500 El Camino Real, Santa Clara, CA 95053-0566 (415) 948-5795 [email protected] www.cse.scu.edu/ jnoll Education
Collaborative Software Development
Collaborative Software Development and what we can learn from F/OSS development Martin Kropp Instute for Mobile and Distributed Systems Swisslog, Grindelwald, 28. Mai 2009 Objectives Some term clarifications
A TOPOLOGICAL ANALYSIS OF THE OPEN SOURCE SOFTWARE DEVELOPMENT COMMUNITY
A TOPOLOGICAL ANALYSIS OF THE OPEN SOURCE SOFTWARE DEVELOPMENT COMMUNITY Jin Xu,Yongqin Gao, Scott Christley & Gregory Madey Department of Computer Science and Engineering University of Notre Dame Notre
Open Source and Closed Source Software Development Methodologies
Open Source and Closed Source Software Development Methodologies Vidyasagar Potdar, Elizabeth Chang School of Information System, Curtin University of Technology, Perth, Australia 6845 [email protected],
Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development
Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development Stefan Dietze Fraunhofer Institute for Software and Systems Engineering (ISST), Mollstr. 1, 10178
Software Configuration Management, Advantages and Limitations
HUT / SOBERIT 2003 T-76.651 DISTRIBUTED DEVELOPMENT SEMINAR 1 Comparison of Open Source Software Configuration Management Tools Tero Kojo 44809J [email protected] Abstract Software Configuration Management
Understanding open software development practices
Software Development Practices in Open Software Development Communities: A Comparative Case Study (Position Paper) Walt Scacchi Institute for Software Research University of California, Irvine Irvine,
Release Management Within Open Source Projects
Management Within Open Source Projects Justin R. Erenkrantz Institute for Software Research University of California, Irvine Irvine, CA 92697-3425 [email protected] Abstract A simple classification
Exploring the Quality of Free/Open Source Software: a Case Study on an ERP/CRM System
640 Exploring the Quality of Free/Open Source Software: a Case Study on an ERP/CRM System Ioannis Samoladas, Stamatia Bibi, Ioannis Stamelos and Georgios L. Bleris Department of Informatics, Aristotle
VOLUNTEERS PARTICIPATIVE BEHAVIORS IN OPEN SOURCE SOFTWARE DEVELOPMENT: THE ROLE OF EXTRINISIC INCENTIVE, INTRINISIC MOTIVATION AND
VOLUNTEERS PARTICIPATIVE BEHAVIORS IN OPEN SOURCE SOFTWARE DEVELOPMENT: THE ROLE OF EXTRINISIC INCENTIVE, INTRINISIC MOTIVATION AND RELATIONAL SOCIAL CAPITAL by BO XU, B.E., M.E. A DISSERTATION IN BUSINESS
Microsoft & Open Source Software
Microsoft & Introduction The seemingly never-ending conflict between open source software (OSS) and fixed source (proprietary) software continues to evolve in nuanced, complex directions, some predicted
On the Influence of Free Software on Code Reuse in Software Development
On the Influence of Free Software on Code Reuse in Software Development Marco Balduzzi Abstract Software reuse has become a topic of much interest in the software community due
Impact CM: Model-Based Software Change and Configuration Management
Title Impact CM: Model-Based Software Change and Configuration Management Eclipse Integrated Development Day Berlin, 30 May 2012 Michael Diers elego Software Solutions GmbH 2012 1 Agenda
Understanding the Differences between Proprietary & Free and Open Source Software
Understanding the Differences between Proprietary & Free and Open Source Software D Prasad 1 and Dr.Ch.Satyananda Reddy 2 1. Department of Computer Science & Engineering, DVR & Dr HS MIC College of Technology,
How To Know If You Can Get Open Source Software To Work For A Corporation
Open Source As a Knowledge Management Instrument Thomas Wieland Department of Electrical Engineering and Computer Science University of Applied Sciences Coburg Friedrich-Streib-Straße 2 96450 Coburg Germany
FOSSBazaar A Governance Initiative to manage Free and Open Source Software life cycle
FOSSBazaar A Governance Initiative to manage Free and Open Source Software life cycle Table of contents Executive summary......2 What is FOSS Governance 3 The importance of open source governance...3 Why
Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University
Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University 1 Example Initially, implementation is in Modula-2 on a Mac. A11 B11 A12
Mining Email Archives and Simulating the Dynamics of Open-Source Project Developer Networks
Mining Email Archives and Simulating the Dynamics of Open-Source Project Developer Networks Liguo Yu 1, Srini Ramaswamy 2, and Chuanlei Zhang 2 1 Computer Science and Informatics, Indaian University South
Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development
Software development Groupware and Collaborative Interaction Collaborative Software Development M2R Interaction - Université Paris-Sud - Année 2013-2014 Cédric Fleury ([email protected]) Several users
CSPA. Common Statistical Production Architecture Descritption of the Business aspects of the architecture: business models for sharing software
CSPA Common Statistical Production Architecture Descritption of the Business aspects of the architecture: business models for sharing software Carlo Vaccari Istat ([email protected]) Index Costs categories
How To Get The Most Out Of Redhat.Com
RED HAT ENTERPRISE VIRTUALIZATION AND CLOUD STRATEGY Aram Kananov EMEA Product Marketing Manager Platform and Cloud Business Units Red Hat 1 RED HAT BRINGS COMMUNITY, VENDORS, USERS TOGETHER 2 RED HAT
Continuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
Scheduling System Project Plan CS 499 Developed by:
Scheduling System Project Plan CS 499 Developed by: Andrew Beussink Adam Estel Ohtsuki Motomu Bert Sanders Abigail Young Project Plan Page 1 of 6 Table of Contents 1 Overview...3 2 Breakdown of Responsibilities...3
Commercial Software Licensing
Commercial Software Licensing CHAPTER 4: Prepared by DoD ESI January 2013 Chapter Overview Publishers generally create one or more of three major types of software products: Applications software for transactions,
Innovation in Open Source Software Development: A Tale of Two Features
Innovation in Open Source Software Development: A Tale of Two Features John Noll Computer Engineering Department, Santa Clara University [email protected] June 12, 2007 what drives open source innovation?
Open Source Software. The Foundation for Tomorrow s Infrastructure. Al Gillen. Program VP, System Software IDC April 2013
Open Source Software The Foundation for Tomorrow s Infrastructure Al Gillen Program VP, System Software IDC April 2013 Agenda 1. Industry Trends 2. Understanding the Open Source Development Model 3. The
Traditional Commercial Software Development. Open Source Development. Traditional Assumptions. Intangible Goods. Dr. James A.
Open Source Development Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Traditional Commercial Software Development Producing consumer-oriented software is often done in
Understanding Requirements for Open Source Software
Understanding Requirements for Open Source Software Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA 92697-3425 USA http://www.ics.uci.edu/~wscacchi [email protected]
Build Clouds Without Limits Gordon Haff
Red Hat CloudForms Infrastructure-as-a-Service: Build Clouds Without Limits Gordon Haff Is your IT ready for IT-as-a-Service? Is it... Portable across hybrid environments? Does it let you... Manage image
Open Source ERP for SMEs
Open Source ERP for SMEs Hyoseob Kim 1, Cornelia Boldyreff 2 1 Dongbu Information Technology Co., Ltd, 154-17 Samseong1-Dong, Kangnam-Ku, Seoul, 135-879, Korea, [email protected] 2 Dept. of Computing
Management Consulting Systems Integration Managed Services WHITE PAPER DATA DISCOVERY VS ENTERPRISE BUSINESS INTELLIGENCE
Management Consulting Systems Integration Managed Services WHITE PAPER DATA DISCOVERY VS ENTERPRISE BUSINESS INTELLIGENCE INTRODUCTION Over the past several years a new category of Business Intelligence
How To Use Open Source Software
Open Source Software: What You Need to Know Presented By: Lisa Abe, Ian Kyer and Marek Nitoslawski September 15, 2005 Open source software ( OSS ): What you need to know Understanding the business and
How To Value Open Source Software
Application of Open Source Software in IT Services Dr. June Sung Park CTO Samsung SDS November 2008 Contents OSS Definition OSS Products OSS Value OSS Demand OSS Supply Samsung SDS Sponsored Anyframe Java
Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace
SYMPOSIUM at Claude Y. Laporte OA - Process Engineering Nicola R. Papiccio OA - Software Engineering AGENDA Introduction Software Engineering Process s Engineering Process Management of of Change Lessons
Processes in Securing Open Architecture Software Systems
Processes in Securing Open Architecture Software Systems Walt Scacchi and Thomas A. Alspaugh Institute for Software Research University of California, Irvine Irvine, CA 92697-3455 USA [email protected],
JBoss Enterprise MIDDLEWARE
JBoss Enterprise MIDDLEWARE WHAT IS IT? JBoss Enterprise Middleware integrates and hardens the latest enterprise-ready features from JBoss community projects into supported, stable, enterprise-class middleware
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Development Testing for Agile Environments
Development Testing for Agile Environments November 2011 The Pressure Is On More than ever before, companies are being asked to do things faster. They need to get products to market faster to remain competitive
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
Open Source Software Development
Open Source Software Development OHJ-1860 Software Systems Seminar, 3 cr Imed Hammouda Institute of Software Systems Tampere University of Technology Course Information Open Source Software Development
When Does Colocation Become Competitive With The Public Cloud? WHITE PAPER SEPTEMBER 2014
When Does Colocation Become Competitive With The Public Cloud? WHITE PAPER SEPTEMBER 2014 Table of Contents Executive Summary... 2 Case Study: Amazon Ec2 Vs In-House Private Cloud... 3 Aim... 3 Participants...
Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.
Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify
Strategic solutions to drive results in matrix organizations
Strategic solutions to drive results in matrix organizations Copyright 2004-2006, e-strategia Consulting Group, Inc. Alpharetta, GA, USA or subsidiaries. All International Copyright Convention and Treaty
When Does Colocation Become Competitive With The Public Cloud?
When Does Colocation Become Competitive With The Public Cloud? PLEXXI WHITE PAPER Affinity Networking for Data Centers and Clouds Table of Contents EXECUTIVE SUMMARY... 2 CASE STUDY: AMAZON EC2 vs IN-HOUSE
What is Open Source? Open source is defined by three key components:
Integrating Open Source into your business To help businesses deal with the complexity of globalization, unanticipated opportunities, unexpected threats, competitive demands and fiscal constraints, a business
Foundations for your. portable cloud
Foundations for your portable cloud Start Today Red Hat s cloud vision is unlike that of any other IT vendor. We recognize that IT infrastructure is and will continue to be composed of pieces from many
open source field service management
open source field service management These guides possess a lot information especially advanced tips for example the optimum settings configuration for open source field service management. OPEN SOURCE
A microeconomic analysis of commercial open source software development
A microeconomic analysis of commercial open source software development Date: November 7 th 2007 Author: Mathieu Baudier ([email protected]) Abstract The particularity of open source software is how it
Metatron Technology Consulting s Strategic Guide to Open Source Software
Metatron Technology Consulting s Strategic Guide to Open Source Software Chris Travers April 30, 2004 Copyright c April 30, 2004 Metatron Technology Consulting. Permission is granted for verbatim redistribution
nanohub.org An Overview of Virtualization Techniques
An Overview of Virtualization Techniques Renato Figueiredo Advanced Computing and Information Systems (ACIS) Electrical and Computer Engineering University of Florida NCN/NMI Team 2/3/2006 1 Outline Resource
Software Configuration Management. http:\\www.francisxavier.ac.in
Software Configuration Management Outline Introduction what is SCM, who are involved, why it is imp? what are the steps? Basic Concepts of SCM Configuration Management Activities Configuration Management
Configuration & Build Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration
Linux at 1&1 Linux Tag Berlin 11.05.2011 Henning Westerholt Head of IT Operations Internet Access & Communications
Linux at 1&1 Linux Tag Berlin 11.05.2011 Henning Westerholt Head of IT Operations Internet Access & Communications 1&1 Internet AG 2010 1 Agenda 1&1 Member of United Internet Locations and Infrastructure
How To Build An Open Cloud
Why the future of the cloud is open Gordon Haff EXECUTIVE SUMMARY Choosing how to build a hybrid cloud is perhaps the most strategic decision IT leaders will make this decade. It s a choice that will determine
The Impact of Commercial Open Source Software on Proprietary Software Producers and Social Welfare
Journal of Industrial Engineering and Management JIEM, 2014 7(5): 1183-1196 Online ISSN: 2013-0953 Print ISSN: 2013-8423 http://dx.doi.org/10.3926/jiem.1260 The Impact of Commercial Open Source Software
Applying CMMI SM In Information Technology Organizations SEPG 2003
Applying CMMI SM In Information Technology Organizations Mark Servello, Vice President Jim Gibson, Senior Consultant ChangeBridge, Incorporated Page 1 Portions Copyright 2002 Carnegie Mellon University
JBoss Enterprise MIDDLEWARE
JBoss Enterprise MIDDLEWARE WHAT IS IT? JBoss Enterprise Middleware integrates and hardens the latest enterprise-ready features from JBoss community projects into supported, stable, enterprise-class middleware
Open Source vs. Proprietary
Open Source vs. Proprietary Software: Decision Criteria: Jim Barrington, SMS for Life Novartis, Switzerland, May 8 th. 2012 Open Source vs. Proprietary Open Source software (OSS) is computer software that
Commercial Software Licensing
Commercial Software Licensing CHAPTER 10: (ITAM) Software Asset Management (SAM) Prepared by DoD ESI January 2013 Chapter Overview (ITAM) and Software Asset Management (SAM) allow for a complete and accurate
IBM Enterprise Content Management Product Strategy
White Paper July 2007 IBM Information Management software IBM Enterprise Content Management Product Strategy 2 IBM Innovation Enterprise Content Management (ECM) IBM Investment in ECM IBM ECM Vision Contents
Software Development Processes For Embedded Development A checklist for efficient development using open-source tools
Software Development Processes For Embedded Development A checklist for efficient development using open-source tools Senior Embedded Software Architect Embedded evolution More processing power available
