Traditional Commercial Software Development. Open Source Development. Traditional Assumptions. Intangible Goods. Dr. James A.



Similar documents
Software Architecture, Process and Management Open Source

OHJ-1860 Software Systems Seminar: Global Software Development. Open-source software development By Antti Rasmus

Foreword. Contents. Edos - Sixth Framework Programme - Priority 2 1

Open Source Software Development

Two case studies of Open Source Software Development: Apache and Mozilla

(2) Question 2: Size of Mozilla community.

Shared Assumption Concerning Technical Determination in Apache Web Server Developer Community

Project Management Tools

On the Influence of Free Software on Code Reuse in Software Development

Benefits of open source development and open tools. Max Horn, August 31, 2011

Unit 10 : An Introduction to Linux OS

Open Source Software. Topics covered

A microeconomic analysis of commercial open source software development

Introduction to Free Software

Open Source Software Maintenance Process Framework

Release Management Within Open Source Projects

Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development

Open source risk vs. Proprietary risk models

Open Source ERP for SMEs

We d like to hear your suggestions for improving our indexes. Send to index@oreilly.com.

Interoperability and Standards. G51IDB Lecture 18 : Organisational Connectivity and Knowledge Management. Development of Open Source Software

Open Source: A Practical Foundation. Presented By : Amgad Madkour

Selection and Management of Open Source Software in Libraries.

An Open Source Work Shop. Luciano Resende Haleh Mahbod Aug. 2008

Free software GNU/Linux TOR project

Metatron Technology Consulting s Strategic Guide to Open Source Software

Quality Assurance Recommendations for Open Source Developers

Project Management in Free Software Projects. Martin Michlmayr Hewlett-Packard

FOSS License Restrictions and Some Important Issues

Introduction to Open Source. Marco Zennaro Carlo Fonda

Dr. Marco Hugentobler, Sourcepole QGIS from a geodata viewer to a GIS platform

TECHNICAL SUPPORT FOR OPEN SOURCE ILS. Vandana Singh, Natasha Hollenbach and Robert Lowe University of Tennessee

SAPM Overview Semester Summary

SAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar

Libre software business models (from an European point of view)

Open Source The Revolution

Open Source Sustainability and RDM. Scott Wilson

Quality Practices and Problems in Free Software Projects

Linux. Prepared for: Professor Maria Damen. Prepared by: Lori Minor. Date: December 6, 2010

Open Source Software in Computer Science and IT Higher Education: A Case Study

Open Source Alternatives. Panther Linux User Group Joseph Rivera

An Introduction to Open Source Software and Licensing

Software configuration management

Open Source and Closed Source Software Development Methodologies

Open Source. Knowledge Base. By: Karan Malik INTRODUCTION

Setting Up Shop: The Business of Open-Source Software

Free Software/Open Source. Proprietary Software

Why use Linux Based Server??

Software Configuration Management, Advantages and Limitations

Easing embedded Linux software development for SBCs

LAMP Server A Brief Overview

Peer Review on Open-Source Software Projects: Parameters, Statistical Models, and Theory

Keynote Speech. Free and Open Software: Features, Development, Experiences, Benefits and Opportunities

Software Development Using Open Source and Free Software Licenses

How to Have a Successful Free Software Project

The Economics of Open Source and Free Software* Gerald P. Dwyer, Jr. Federal Reserve Bank of Atlanta

THE OPEN SOURCE DEVELOPER REPORT

Implication on society, economy and education

Open Source Software: The use of open source GIS software and its impact on organizations

Free Software / Open Source: Information Society Opportunities for Europe?

Learning and Researching with Open Source Software

Towards an Infrastructure for Distributed e-business Projects

A Study of Configuration Management in Open Source Software Projects

Improvement Opportunities for the Open Source Software Development Approach and How to utilize them

Supporting Distributed and Decentralized Projects: Drawing Lessons from the Open Source Community

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public

An Investigation of How Commercial Software Companies Should React to Open Source Software

Managing risks associated with open source software

Userful MultiSeat Toolkit

Exploring the Quality of Free/Open Source Software: a Case Study on an ERP/CRM System

The Desktop Sharing Handbook. Brad Hards

JOURNAL OF OBJECT TECHNOLOGY

Corso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011

GNOME, a case of open source global software development

Introduction to Programming Tools. Anjana & Shankar September,2010

Open Source Software Usage in the Schools conceptual strategy

ANALYSIS OF OPEN SOURCE DEFECT TRACKING TOOLS FOR USE IN DEFECT ESTIMATION

TIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version

APACHE. Presentation by: Lilian Thairu

Patch Review Processes in Open Source Software Development Communities: A Comparative Case Study

Inside this issue. Letter from the editors 3. Featuring. Open source-perceptions and philosophy The IPad world. Mind bogglers

Automating the Measurement of Open Source Projects

Behind Linus s Law: A Preliminary Analysis of Open Source Software Peer Review Practices in Mozilla and Python

Open Source vs. Collaborative Software: FOSS is Not Enough

Writing Open Source Software for BlackBerry

Open Source Software: Recent Developments and Public Policy Implications. World Information Technology and Services Alliance

Open Source Approach in Software Development - Advantages and Disadvantages

How To Teach Your Kids To Use Open Source Software In School

Responsiveness as a measure for assessing the health of OSS ecosystems

CSPA. Common Statistical Production Architecture Descritption of the Business aspects of the architecture: business models for sharing software

Open source development

Moving a Commercial Forecasting Product to Open Source

THE OPEN SOURCE DEVELOPER REPORT

How To Understand And Understand The Basic Principles Of An Ansper System

Prerequisites For Enterprises To Get Involved In Open Source Software Development

Operating Systems. Study this screen display and answer these questions.

A Crowd Method for Internet-based Software with Big Data

GPL, MIT, BSD, OSS (and me)

Open Source Software and the New Zealand Education System: A Response to Roy

Open-Source Software Development

Transcription:

Open Source Development Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Traditional Commercial Software Development Producing consumer-oriented software is often done in much the same way as for tangible mass-produced products, such as furniture or cars. E.g., a company: Designs the product Produces copies of it Provides a copy to any consumer willing to pay for it Most software products with widespread name recognition, e.g. from Microsoft, fit into this model. SAPM Spring 2007: Open Source 1 SAPM Spring 2007: Open Source 2 Traditional Assumptions Implicit assumptions applying to tangible goods like furniture: 1. Making each copy costs money, and so it makes sense for customers to pay for each copy 2. Customers and other companies cannot easily make their own copies, so they have an incentive to purchase from the company 3. Development costs can most efficiently be recouped (and profits made) by charging per-copy fees 4. It s reasonable to expect improvements to the product to come only from the company SAPM Spring 2007: Open Source 3 Intangible Goods Software and other intangible goods like music and text can be duplicated for essentially zero cost, by consumers and companies alike, and so any restrictions on copying must be enforced artificially. Software costs are for development and for support, independent of the number of copies produced, and so are not well-matched to per-copy revenue models. Unlike tangible goods, software can be modified by users to meet their needs better and then redistributed, without needing the original company to produce the result. SAPM Spring 2007: Open Source 4

Open Source/Free Software The Open Source Software (OSS) and Free Software movements are focused on how software can be distributed in a way more suited to intangible goods, with: Free redistribution: both free of cost (free beer) and free of restriction (free speech) Freely available source code: to allow fixes and changes Freedom to redistribute modified versions Open Source vs. Free Software Roughly, the difference between the two movements is: Free Software is based on a firm principle that all software should be free (see gnu.org) Open Source focuses on the practical, business-friendly advantages to having freely distributable and modifiable code (see opensource.org) Projects in either category can be understood as examples of highly distributed large-scale software development methodologies. SAPM Spring 2007: Open Source 5 SAPM Spring 2007: Open Source 6 Advantages of OSS: For Users No restrictions on how software can be used: copying to new machines, sharing with co-workers, porting to new platforms, etc. Can trust the software to do what it says, not to have spyware, etc. because source code is visible Can count on their data created by the program being readable in the long, long term, on future platforms, although they themselves may have to maintain it Because development is driven by users, features are likely to match what users actually want SAPM Spring 2007: Open Source 7 Advantages of OSS: For developers No need to worry about piracy Users act as legions of beta-testers: Linus Law = given enough eyeballs, all bugs are shallow Security holes can be found quickly, tested rigorously Huge number of users working in parallel can help make development faster (but can also be overwhelming) Companies can pool resources on a common good (e.g. Linux, Java, GCC) SAPM Spring 2007: Open Source 8

Disadvantages of OSS Difficult to make money from OSS (but can sell support, customization, services) Less interesting tasks tend to get less work, e.g. documentation, newbie usability Hard for upper management to control (but is that necessarily a problem?) Difficult to coordinate corporate and user efforts Users don t have anyone to hold accountable (but in reality they can never do that anyway) Cathedral vs. Bazaar Major SW development methodologies (Raymond 2001): Cathedral: Master plan controlled by one person, all implementers follow it. Suited to small projects, large projects run by one organization, and/or projects with only one customer. Bazaar: No master plan. Many users contribute ideas, changes, features. Often the principal maintainers role is just to make sense of it all. Successful OSS projects of both types exist, but bazaar is particularly suited to OSS. SAPM Spring 2007: Open Source 9 SAPM Spring 2007: Open Source 10 OSS Success Stories The Internet/WWW (Microsoft did not invent it!) Apache the most popular web server in the world Linux and *BSD Sun Open Office released to encourage purchase of hardware SourceForge (more than 140,000 hosted OSS projects as of 2/2007) Mozilla/Firefox? GCC, Emacs, GNOME, KDE, Python Linux Implementation of a UNIX-like OS kernel Main competition: MS Windows Final code is controlled completely by Linus Torvalds who operates a benevolent dictatorship For many years, no code revision tools were used patches submitted and controlled by Linus Two versions of the code-base are maintained at the same time: stable and development branches Developers synchronise by e-mail, mailing lists SAPM Spring 2007: Open Source 11 SAPM Spring 2007: Open Source 12

Linux Development Environment Apache Leader Top level Developers Sub developers Other Developers KEY Weakly Connected Strongly Connected Extremely successful web server product (1/2004: 67%) Main competition: MS IIS (1/2004: 21% share) Development coordinated by team of core developers No central leader All major decisions voted upon by the core developers: 3+, 0- required Selection of core developers is a form of meritocracy Code revision is controlled by Subversion (formerly CVS) Bug tracking via BugZilla (formerly GNATS) Developers synchronise via e-mail, mailing lists, web, and newsgroups SAPM Spring 2007: Open Source 13 SAPM Spring 2007: Open Source 14 Release Manager Apache Development Environment Vote Coordinator Core Developers Other Developers KEY Resource Passing Voting Mozilla Firefox/Thunderbird OSS version of Netscape Navigator/Messenger Main competition: MS Internet Explorer/Outlook Difficult transition to OSS; years before stable release Didn t seem to help Netscape the company survive Development is co-ordinated by the Mozilla Organization (MO), (see www.mozilla.org/mission.html) MO operates a benevolent dictatorship like Linux Each module has an owner, designated by MO, but owner can be usurped Code revision controlled by CVS, bug-tracking by Bugzilla SAPM Spring 2007: Open Source 15 SAPM Spring 2007: Open Source 16

Mozilla Development Environment Mozilla Organisation GCC GNU Compiler Collection (C/C++ and related compilers) Started in 1984, released yearly or so since 1987 Arbiter Release Manager Part of Richard Stallman s GNU project Experimental branch forked in 1997 as EGCS, later usurping to become official maintainers Module Owners Guided by GCC Steering Committee Usurper Many ports are funded or supplied by hardware industry Large test suite, nightly regression testing, builds, snapshots Peers Code revision by Subversion (formerly CVS) Bug-tracking by Bugzilla SAPM Spring 2007: Open Source 17 SAPM Spring 2007: Open Source 18 Summary Software is not like tangible goods Difficult to devise appropriate revenue models Open Source projects are examples of highly distributed, parallel, user-driven development Both cathedral, bazaar styles can work References Mockus, A., Fielding, R., & Herbsleb, J. D. (2002). Two case studies of open source software development: Apache and Mozilla. ACM Transactions on Software Engineering and Methodology, 11 (3), 309 346. Raymond, E. S. (2001). The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O Reilly. Required reading: http: //www.catb.org/ esr/writings/cathedral-bazaar/ Recommended: Mockus et al. 2002 SAPM Spring 2007: Open Source 19 SAPM Spring 2007: Open Source 19