Open Source Development

Similar documents
Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Foundations of Software Engineering. Lecture 24: Open Source Claire Le Goues

Open Source Development. Ely Levy Yair Yarom

Free & Open Source Software: The Academic Future

Intro to FOSS. What is FOSS?

Characteristics include Users as co-developers Bazaar Model Projects start with personal problems to solve Users debug systems many eyes make bugs sha

Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed

The Cathedral and the Bazaar

HKG18-TR01: Open Source Philosophy. Daniel Lezcano

Taxonomy for Open Source Software Development

Tools for SW Projects

Chapter 01: Introduction to Linux

The Anatomy of A FOSS Project

Peer Participation and Software

Topic 1- The Basic Knowledge of Open Source and Free Software

INF5750. Open Source. University of Oslo Department of Informatics

Guest Author Michael D. Brunelle

CS108 Software Systems: UNIX. Fall 2011

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

Linux operating system

Red Hat And the Five Forces Model:

An Empirical Study of Vulnerability Rewards Programs

Introduction to Linux Overview and Some History

History of Unix, Linux and the Open Source

Independent implementations of an interface

Software metrics for open source systems. Niklas Kurkisuo, Emil Sommarstöm, 25697

Linux. What is it? What s good about it? What s bad about it?

Analysis of Coordination Between Developers and Users in the Apache Community

Open Source Software: A History

Scripted Components: Problem. Scripted Components. Problems with Components. Single-Language Assumption. Dr. James A. Bednar

Scripted Components Dr. James A. Bednar

OPEN SOURCE RESOURCES FOR TEACHING AND RESEARCH IN MATHEMATICS

Shareware Redistribution of FOSS Software

MONTHLY TEST MAY 2017 QUESTION BANK FOR AVERAGE STUDENTS. Q.2 What is free software? How is it different from Open Source Software?

The Eclipse Foundation The Symbian Foundation

Latest releases: 5.3, The most popular of the *BSDs. Historically aimed for maximum. performance on X86. Now supports most of the popular

Chapter-16 INTERNET AND OPEN SOURCE CONCEPTS

Case Study. CMS for Management of Monetization Training Resources

What do you get when you cross a Fox with a Penguin? Huh? Well? What DO you get?

Class Freeware, Open Source, and Free Software There is a difference, who knew?

The Penguin and the Droid

Ethics. Ethics. Ethics. Ethics. The issue of software ownership. The issue of software ownership. Programmers and the Hacker mentality.

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Tools for SW Projects

Open Source Idea? Structure of Talk. 1: Origins of Open Source Software Three Fables. Power of the Internet. Version 1: Finland, 1991

Developing Web Sites with Free Software

The Effects of Open Source License Choice on Software Reuse

CS 360. Tools and Process. Communication. Development. CS360 Pacific University 1 08/31/16

COPYRIGHTED MATERIAL. What Is Linux? Linux History. Linux as an Operating System. Linux as Free Software. Commercial Applications for Linux

Coping with an Open Bug Repository

Frédéric Crozat SUSE Linux Enterprise Release Manager

EWRG-CES. Bharath Setturu EWRG, CES, IISc

Mohanad Ahmed Mezher. Operating System(fedora) Linux(Fedora or Slackware) Process And Thread Management

Software and Licences. Lecture 3 COMPSCI111/111G S2 2017

Software and Licences

Manage quality processes with Bugzilla

Software and Licences. Lecture 3 COMPSCI111/111G

Linux operating system libre, free: how and why. Dobrica Pavlinušić PBF,

Is there an Open Source Business Model: YES or NO?

Operating System Structure

named Fedora and includes a fully functional and complete operating system produced by the Fedora Project, sponsored by Red Hat.

Welcome to Python! If you re the type of person who wants to know

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

OPEN SOURCE TESTING IN SAUDI ARABIA 1

Cronfa - Swansea University Open Access Repository

OPEN SOURCE SOFTWARE

Versioning Systems. Tolu Oguntusin(too06u) 12th November, University of Nottingham

Programming in the large. Lecture 22: Configuration Management. Agenda for today. Bertrand Meyer. Bernd Schoeller

Introduction to Linux

Stakeholder value, usage, needs and obligations from differnet types of F/LOSS licenses

State of Octave. John W. Eaton. OctConf July John W. Eaton GNU Octave 18 July / 14

Synchronize and Stabilize vs. Open-Source An analysis of 2 team-organization models when developing consumerlevel shrink-wrapped software.

2- Computer Essentials

Chapter 7 Design and Implementation

Foreword. Oslo, August Jon Blaalid

a story of alternatives

Continuous Integration / Continuous Testing

ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix

Software Freedom, Open Software and the Undergraduate Computer Science Curriculum

Linux with Biology in IT

EL2310 Scientific Programming

Release notes December 2005

Realizing the Value of Standardized and Automated Database Management SOLUTION WHITE PAPER

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

CS 390 Chapter 2 Homework Solutions

OSS Product Family Engineering

Push up your code next generation version control with (E)Git

Fedora 12. Fedora Live images. How to use the Fedora Live Image. Nelson Strother Paul W. Frields

Author(s): August E. Evrard, PhD. 2010

What is Linux? Bob Tanner time.com> Real Time Enterprises, Inc Eden Prairie, MN

Research Project. SUBASIC RESEARCH! Jake Pflum! Stephanie Martinez! Richard Escobar! Anh Nguyen! Ajla Subasic

Spring Modern Computer Science in a Unix Like Environment CIS c

INTRODUCTION TO THE COURSE

B. V. Patel Institute of Business Management, Computer Information Technology 2015

Fedora 14. Fedora Live Images. How to use the Fedora live image. Paul W. Frields Nelson Strother Nathan Thomas

CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE

Other useful tools. Eugeniy E. Mikhailov. Lecture 11. The College of William & Mary. Eugeniy Mikhailov (W&M) Practical Computing Lecture 11 1 / 9

Basics of system administration on a Unix system

Operating System Structure

Systems Programming. The Unix/Linux Operating System

Transcription:

Open Source Development Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. Chris Walton cdw@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/cdw SEOC2 Spring 2005: Open Source 1

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 products from e.g. Microsoft fit into this model. SEOC2 Spring 2005: 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 SEOC2 Spring 2005: 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. SEOC2 Spring 2005: 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 SEOC2 Spring 2005: Open Source 5

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. SEOC2 Spring 2005: 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 SEOC2 Spring 2005: 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) SEOC2 Spring 2005: 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) SEOC2 Spring 2005: Open Source 9

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. SEOC2 Spring 2005: 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 (approaching 100,000 hosted OSS projects as of 1/2005) Mozilla/Firefox? GCC, Emacs, GNOME, KDE, AbiWord, Python SEOC2 Spring 2005: Open Source 11

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 No code revision tools are used - patches are submitted and controlled by Linus Two versions of the code-base are maintained at the same time: stable and development branches Developers synchronise entirely by e-mail, mailing lists SEOC2 Spring 2005: Open Source 12

Linux Development Environment Leader Top level Developers Sub developers Other Developers KEY Weakly Connected Strongly Connected SEOC2 Spring 2005: Open Source 13

Apache 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 CVS Bug tracking via GNATS database (not often used) Developers synchronise via e-mail, mailing lists, web and newsgroups SEOC2 Spring 2005: Open Source 14

Apache Development Environment Release Manager Vote Coordinator Core Developers KEY Resource Passing Other Developers Voting SEOC2 Spring 2005: Open Source 15

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 SEOC2 Spring 2005: Open Source 16

Mozilla Development Environment Mozilla Organisation Arbiter Release Manager Module Owners Usurper Peers SEOC2 Spring 2005: Open Source 17

GCC GNU Compiler Collection (C/C++ and related compilers) Started in 1984, released yearly or so since 1987 Part of Richard Stallman s GNU project Experimental branch forked in 1997 as EGCS, later usurping to become official maintainers Guided by GCC Steering Committee Many ports are funded or supplied by hardware industry Large test suite, nightly regression testing Nightly builds, snapshots available to all Code revision by CVS, bug-tracking by Bugzilla SEOC2 Spring 2005: 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 Required reading: http://www.catb.org/ esr/writings/cathedral-bazaar/ Recommended: Mockus et al. 2002 SEOC2 Spring 2005: Open Source 19

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. SEOC2 Spring 2005: Open Source 19