Oss model, lifecycle & development

20
PRESENTED BY SHAFIUL AZAM CHOWDHURY STUDENT, CSE, BUET OSS Model, Lifecycle & Development

description

Open Source Software Model, Lifecycle & Development

Transcript of Oss model, lifecycle & development

Page 1: Oss model, lifecycle & development

P R E S E N T E D B Y

S H A F I U L A Z A M C H O W D H U R Y

S T U D E N T , C S E , B U E T

OSS Model, Lifecycle & Development

Page 2: Oss model, lifecycle & development

Contents

Open Source defined

Pros & Cons of Open Source Software (OOS)

OOS in developing countries

Open Source Project Lifecycle

A Proposed OOS Development Model

Page 3: Oss model, lifecycle & development

OOS Defined

refers to software whose licenses give users 4 essential freedoms:

to run the program for any purpose,

to study the workings of the program, and modify the program to suit specific needs,

to redistribute copies of the program at no charge or for a fee, and

to improve the program, and release the improved, modified version.

OSS users do not pay royalties as no copyright exists, in contrast to proprietary software.

Page 4: Oss model, lifecycle & development

“Traditional Software Development” – problems?

Prone to time and cost overruns

Largely unmaintainable

Questionable quality and reliability

Lack of user involvement: touted as contributing to project failure

Shortfalls in skilled personnel: Team members with insufficient technical expertise

price of license fees for software and tools required

75% of software projects fail in one or more of these measures.

Page 5: Oss model, lifecycle & development

OOS: Pros

Collaborative, parallel development involving source code sharing and reuse

constant feedback and peer review

Large pool of globally dispersed, highly talented, motivated professionals: quality product

Users are viewed as co-developers

rapid release times

OSS can be tested without cost: no license fee

loosely centralized, cooperative community

Page 6: Oss model, lifecycle & development

User involvement in OOS

Users: valued assets, treated as co-developers

leads to code improvement and effective debugging

users assist developers in finding system faults and improvements:

reducing the need & cost for extra developers.

Page 7: Oss model, lifecycle & development

Motivation towards OOSD?

No payment, then reasons for participation in open source ?

Projects range from

Challenge

improving skills, to altruism and fun

financial reward

Page 8: Oss model, lifecycle & development

OOS: Cons!

Absence of formal management structures: slow progress. “large, semi-organized mob with a fuzzy vision”

Involving users closely can become problematic: tend to create bureaucracies

Meritocratic, ego-driven community: possible feature creep Programmer credibility > “keeping it simple”?

Rapid releases: more iterations than commercial software: management problem new release needs to be implemented informal requirements analysis: problematic. What to include in newer

version?

„code-centric‟, targeted mainly at high-end power users. Less attention on potential “non-technical” audience!

confusion surrounding licensing models

Page 9: Oss model, lifecycle & development

OOS for Developing Countries

Governments everywhere encourage the use of OSS: motivated by savings in cost

Potential development of a local software industry

internationalization of software is a by-product.

Governments and organizations stops worrying about piracy

Results in new business ventures

Poor user-interface: opens business opportunity!

Improvement in skill shortage in developing countries.

Page 10: Oss model, lifecycle & development

Open Source Project LIFECYCLE

Page 11: Oss model, lifecycle & development

Stages & Variables

Typical PLC stages:

Introduction

Growth

Maturity

Decline / Revive

Project Life Cycle Graph

Independent variable: Time

Dependent variable: Sales / Profit / Downloads

Page 12: Oss model, lifecycle & development

Open Source Project Life Cycle

Page 13: Oss model, lifecycle & development

Stages of Open Source PLC

Introduction: initial motivation for a project to develop a software application

produce a working version of the software

sell the vision for the organization

Growth: more users become aware of its existence.

more feedback from the users regarding feature requests, bugs, support requests, etc.

Administration gives more focus on quality and sufficiency.

Page 14: Oss model, lifecycle & development

Stages of Open Source PLC

Maturity: the project approaches critical mass. number of users and developers grows to a maximum size

admins are involved in a significant amount of time enforcing policies, evaluating others‟ code, and other non-development functions

Increases levels of delegation to the community members

code becomes large enough to warrant multiple versions and releases

Decline (or Revival) users find other solutions to their products, developers lose interest

revival of the project community in response to a new release/environmental or market change/motivated developers

new growth or maturity stage

Page 15: Oss model, lifecycle & development

Graphical Example

Page 16: Oss model, lifecycle & development

I N T H E F O L L O W I N G S L I D E A N O O S D M O D E L ( P R O P O S E D B Y R O E T S , M I N N A A R , W R I G H T )

I S R E F L E C T E D

OSS Development Models

Page 17: Oss model, lifecycle & development

Proposed OOSD Model

Page 18: Oss model, lifecycle & development

OOSD Model Phases

Initiation

Developed code/ initial version - used as a prototype for further progress.

Review-contribution cycle

Independent peer review

Prompt feedback

pre-commit testing

Launched once code is considered adequate for release

Ensures new code does not break existing release

Faulty code hampers project reputation

Page 19: Oss model, lifecycle & development

OOSD Model Phases (contd‟)

Debugging-reincorporation cycle

within the community web space

No formal planned debugging: individuals volunteers

The more people that seek, find and remove bugs, the better the quality of the software

Production release

take the form of a prototype that can be used in the initiation phase of the next iteration of that project

Page 20: Oss model, lifecycle & development

References

ORGANIZATIONAL STRUCTURE OF OPEN SOURCE PROJECTS: A LIFE CYCLE APPROACH by Donald E. Wynn, Jr.

OPEN SOURCE: TOWARDS SUCCESSFUL SYSTEMS DEVELOPMENT PROJECTS IN DEVELOPING COUNTRIES by Rinette Roets, MaryLou Minnaar & Kerry Wright

The Internet

Presentation prepared by: Shafiul Azam Chowdhury, Student of Dept. of CSE, BUET