Two Case Studies of Open Source Software Development: Apache and Mozilla By Helen Gower, Drew Spencer, Mila Reid, Nigel Macarthur & Mohamed Hossain.

Slides:



Advertisements
Similar presentations
Overview of Free/Open Source Software for Librarians Eric Goldhagen
Advertisements

Task Group Chairman and Technical Contact Responsibilities ASTM International Officers Training Workshop September 2012 Scott Orthey and Steve Mawn 1.
Technology Analysis LINUX Alper Alansal Brian Blumberg Ramank Bharti Taihoon Lee.
Current methods for negotiating firewalls for the Condor ® system Bruce Beckles (University of Cambridge Computing Service) Se-Chang Son (University of.
Niagara Portal Introduction January 2007 Scott Muench - Technical Sales Manager.
PaperCut MF Reseller Resource Material An Introduction to PaperCut MF.
Configuration management
Software change management
Confidential Phone Internet CustomerHelp Desk Support Model for Sabre Qik Customers V 1.0 Agency eServices.
Irakli Garibashvili Georgian Library Association
PFC-OS The open source project for PowerBuilder Foundation Class Libraries.
Blogging at Memorial University Libraries The what, the why, the how, the who.
CMPT 275 Software Engineering
IT in the Real World A look at IT in a Fortune 500 company Ed Nelson.
Configuration Management
Getting Familiar with Web Pages 1 2 The Internet Worldwide collection of interconnected computer networks that enables businesses, organizations, governments,
The Museum Project The Museum Project Yoav Gvili & Asaf Stein Supervisor : Alexander Arlievsky.
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
Lecture 2b: Software Project Management CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
Software Engineering Process and Tools in the Mozilla Project How open-source CM tools made Firefox the fastest and safest web browser.
When will our bugs be fixed? When will our new features be added? When will the next release come out? Is my server up-to-date? Users Committers Program.
Configuration Management
User Experience Design Goes Agile in Lean Transformation – A Case Study (2012 Agile Conference) Minna Isomursu, Andrey Sirotkin (VTT Technical Research.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
CS4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
PHP and MySQL Week#1  Course Plan.  Introduction to Dynamic Web Content.  Setting Up Development Server Eng. Mohamed Ahmed Black 1.
Linux Operations and Administration
Evolution Patterns of Open-Source Software Systems and Communications Review Report By Haroon Malik.
Moodle Development Why work with Moodle? What skills are required. Strategies for building up the Moodle development community in Thailand.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Open Source: It's Already Here Dave Cross Magnum Solutions Ltd
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
Computers and Society Examine the extent to which Richard Stallman’s GNU manifesto has succeeded in challenging the dominance of conventionally distributed.
Open Source Software An Introduction. The Creation of Software l As you know, programmers create the software that we use l What you may not understand.
Software Engineering CS3003
1 Technical & Business Writing (ENG-315) Muhammad Bilal Bashir UIIT, Rawalpindi.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
BioWeb … an online resource for bioenergy and bioproducts Sun Grant BioWeb … an online resource for bioenergy and bioproducts BBI Biofuels Conference Nashville,
Presentation Outline What is a wiki? How does wiki work? Choosing a Wiki plan The educational benefits of a Wiki Wikis in higHeR eDucation Plans and Pricing.
Statistics Monitor of SPMSII Warrior Team Pu Su Heng Tan Kening Zhang.
1 Two case studies of Open Source Software Development: Apache and Mozilla Audris Mockus Roy Fielding James D Herbsleb.
Chapter 14 The Open Source Community. Agenda Types of Free Software Open Source Project Open Hardware Project Impacts.
How to Publish Your Code on COIN-OR Bob Fourer Industrial Engineering & Management Sciences Northwestern University COIN Strategic Leadership Board.
The new European Toolkit EC-CHM Miruna Bădescu EEA contractor: Eau de Web.
Introduction to HTML. Today’s Discussion What is HTML ? What is HTML ? What is Web Page ? What is Web Page ? Web Server Web Server Web Browser Web Browser.
Process Modeling Across the Web Information Infrastructure Chris Jensen and Walt Scacchi Institute for Software Research School of Information and Computer.
Apache Web Server Architecture Chaitanya Kulkarni MSCS rd April /23/20081Apache Web Server Architecture.
Web-based Front End for Kraken Jing Ai Jingfei Kong Yinghua Hu.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 The FreeBSD Project: a Replication Case Study of Open Source Development.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Welcome to Open Source Technology An Overview of Software By Afroz Hippargi, CIT, YASHADA, Pune.
The Design and Development of an Online Knowledge Base for Librarians Teacher Librarian, Lo-Tung Senior High School, Taiwan Po Han, Chiu IASL-2005.
By: Jamie Morgan  A wiki is a web page or collection of web pages which you and your students can access to contribute or modify content without having.
Open Source Project Development – A case study - CSC8350, 4/07/ Instructor: Xiaolin Hu - Presenters: Fasheng Qiu & Xue Wang.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
Open source development model and methodologies.
Open Source Software Development
Why Open Source Works Jim Herbsleb School of Computer Science
Software Configuration Management
Software Project Configuration Management
Business in a Connected World
Daniel Henry January 30, 2002 CS 4900
PHP / MySQL Introduction
TWO CASE STUDIES OF OPEN SOURCE SOFTWARE DEVELOPMENT: APACHE AND MOZILLA HAKAN TERZIOGLU 2/24/2019 EEL 5881.
Selenium Tutorials Cheyat Training.
Web Application Development Using PHP
Presentation transcript:

Two Case Studies of Open Source Software Development: Apache and Mozilla By Helen Gower, Drew Spencer, Mila Reid, Nigel Macarthur & Mohamed Hossain

Introduction Development Process - Traditional What is Open Source Software Apache and Mozilla Apache Process Hypotheses Mozilla Process Hypotheses revisited Conclusion Research Any questions

Development Process - Traditional Basically the waterfall cycle Predominately used in the commercial industry Advantages: well established, structured procedures Disadvantages: management related constraints, cannot go back a phase

What is Open Source Software (OSS)? A new way to develop software Differences from traditional development – Source code is freely available – Communicate exclusively by /bulletin boards – Geographically distributed development Advantages: developer freedom, tacit knowledge Disadvantages: lacks traditional methods to coordinate development

Open Source Software - Results OSS development has proven to be equivalent/superior to traditional methods – Defects found and fixed quicker – Code written with more care/creativity An example of successful OSS software is the Linux operating system

What is Apache? Apache is a free, open source HTTP web server software system Works well on open source operating systems such as UNIX and Linux Also available for Windows and other operating systems

What is Apache? cont… Supports the PERL and PHP languages Provides services such as server-side scripting Industry leaders such as DEC, UUNet and Yahoo use Apache 70% of the worlds web servers run on Apache (

Why call it Apache? In early 1995, developers of some high visibility web sites decided to pool their patches and enhancements to the NCSA/1.3 server to create… A patchy server The Apache Group (AG) started 1995

What is Mozilla? The Mozilla Project is an open source software project Dedicated to development of the Mozilla web browser and application framework Available for many operating systems – Firefox, a cross-platform browser; and – Camino, a web browser for MacOS X

What is Mozilla? cont… Includes mail and news reader (Mozilla Thunderbird), HTML editor and an IRC client Supports many technologies including development tools – CVS, Bugzilla, Bonsai, Tinderbox It also builds toolkit type applications such as Komodo from ActiveState

What is Mozilla? cont… Mozilla uses a development process with commercial roots Mozilla.org exists as a group within Netscape – Central point of contact responsible for coordinating development

The Development Process Problems posed by OSS-style development – Decentralised Workspaces – Lack of communication & leadership – Inconsistent dedication of time Solutions – Concurrent Version Control Archive (CVS) – Mailing List – Quorum Voting System – Meritocracy

Identifying work to be done Modification Requests (MRs) – mailing list BUGDB USENET groups Showstoppers always addressed Others discussed on mailing list

Assigning & Performing Work Core developers have own areas New developers take on disowned areas or new features Great respect for core developers expertise and experience No specific rights to code – meritocracy gives implicit ownership

The Development Community 400 individual contributors of code – 182 people contributed 695 fixes – 249 people contributed 6,092 new code submissions 3,060 people submitted 3,975 bug reports – 458 people submitted 591 that caused a change in the code

Distribution of Work Top 15 developers contributed: – 83% of MRs for new features – 66% of MRs for defects/bugs The wider development community is significant in defect repair Few outside the core group submit with any regularity Developers contributing > 1 MR BeforeAfterBoth New Features Fixes

Commercial Project Comparison MRKLOCADevMR/top dev/yr LOCA/top dev/yr A3,3005, ,600 B2,5001, ,700 C1, ,100 D ,400 E ,000 A-E Avg ,360 Apache6, ,300

Commercial Project Comparison Top developers handle around twice the number of MRs as commercial projects Rate of development is within 2/3 that of C & D in terms of LOCA B & E are about twice as productive A is 10 times more productive

Reporting Problems Top Problem Reporters only contributed 5% of PRs Of these 15, only 3 are also core developers Problem reporting belongs almost exclusively to the wider development community

Ownership of Code Was thought likely that strong code ownership would evolve due to modular design and decentralisation This was not supported by analysis of files (.c files) – 75% had > 2 developers contributing 10% of lines – 50% had > 4 developers contributing 10% of lines – High level of trust and recognition of expertise

Defect Density Measured in defects/KLOCA Apache has same defect density for pre-release and post release tests Pre-release – less defects than commercial products Post release – more defects than commercial products

Resolving Problems How long does it take to resolve problems? – 50% resolved within 24hrs – 75% resolved within 42 days – 90% resolved within 140 days Slightly lower for documentation, OS related and optional features Over two periods the average resolution interval decreased significantly while the number of users increased

What has been analysed? The structure of the development process The number of participants The distribution of work among different roles Rules of ownership of code Density of defects Time taken to resolve problems

Hypothesis 1 Implicit coordination mechanism – Detailed knowledge of who has expertise in what area – Customs & habits regarding how things are done – What are core members are doing Core of developers who control the code base - No larger than people - Create approx 80% of the new functionality (not fixes or problem reporting) Core of developers who control the code base - No larger than people - Create approx 80% of the new functionality (not fixes or problem reporting)

Hypothesis 2 Satellite projects created Divide & conquer – work split over core developers and satellite groups Strict code ownership policy needs to be adopted

Hypothesis 3 A group around 10x larger than the core (10-15 people) will repair defects - E.g. Apache, 182 people repaired defects A group around 10x larger than the core (10-15 people) will repair defects - E.g. Apache, 182 people repaired defects A group 10x larger or more will report problems - E.g. Apache, 3,060 people reported bug reports A group 10x larger or more will report problems - E.g. Apache, 3,060 people reported bug reports

Hypothesis 4 Lack of resources = overburdened Most people have only ever submitted 1 bug – Apache: 3,060 people reported 3,975 bugs Wider community needed to free up core developers time so they can develop new functionality Projects without a wider community finding and repairing defects will fail

Hypothesis 5 Defect density (per 1,000 lines of code) will be lower than commercial software

Hypothesis 6 Familiar with the features needed Familiar with desirable user behaviour Developers are also experienced users of the software they write

Hypothesis 7 Many eyeballs implies shallow bugs Free-world of OSS – Patches available to all customers nearly as soon as they are made Commercial developments – Patches bundled into new releases and scheduled for release at specific times (long term projects) OSS developments exhibit rapid responses to customer problems

Mozilla – How Things Happen Development was done at the time of writing the paper by 12 staff in mozilla.org Non-development staff concentrate on issues like testing, or community milestone releases The content of future releases is specified in a road map Work within this is allocated according to developer preferences and expertise

How Things Happen cont… Developers can browse Bugzilla to choose areas on which they would like to work Mozilla web pages can be used to note areas where help is needed Mozilla operates on a daily build Each build is smoke tested by one of 6 pre-release test teams This is followed by inspections and managed release

Mozilla – Research Findings The points below summarise the research questions originally considered 486 people contributed code 412 contributed code to fixes 6,873 communicated problems (external community very large, small core) Code ownership is enforced

Mozilla – Findings cont… The authors hypotheses 1 and 2 are supported by the Mozilla data However, these hypotheses were modified as summarised below: The core size (10-15) is limited to if only informal coordination is used – Original hypothesis did not discuss impact of coordination Project cores larger than might require other mechanisms in addition to code ownership to improve coordination

Mozilla – Findings cont… Hypothesis 3 (relative sizes of core/fixers/reporters) is weakly supported Core = 22 to 35 (larger than expected) Fixers = 47 to 129 Reporters = 119 to 623 Mozilla defect density lower than commercial equivalent projects – although: caution – more may be found later

Mozilla - Conclusions Commercial/OSS has many possible hybrids These hybrids will require a large open source community to fix bugs They will also require an even larger community to find bugs

Research A strong paper Good approach to measuring the metrics required to test the required hypotheses Citation frequency in the following years suggests that is regarded as authoritative However, the final conclusion, as mentioned previously, must be considered unproven as yet

References paper.ppt#1 (How to read and critique a technical paper, Colorado State University paper.ppt#1 Greenhalgh, Trisha, How to read a paper London, BMJ, 1997 The above summarised at: – Note: the BMJ references above concern evidence based medicine, but have some useful sections!

Any questions? …preferably easy ones!