Oss model, lifecycle & development
-
Upload
shafiul-azam -
Category
Technology
-
view
1.612 -
download
4
description
Transcript of 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
Contents
Open Source defined
Pros & Cons of Open Source Software (OOS)
OOS in developing countries
Open Source Project Lifecycle
A Proposed OOS Development Model
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.
“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.
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
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.
Motivation towards OOSD?
No payment, then reasons for participation in open source ?
Projects range from
Challenge
improving skills, to altruism and fun
financial reward
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
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.
Open Source Project LIFECYCLE
Stages & Variables
Typical PLC stages:
Introduction
Growth
Maturity
Decline / Revive
Project Life Cycle Graph
Independent variable: Time
Dependent variable: Sales / Profit / Downloads
Open Source Project Life Cycle
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.
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
Graphical Example
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
Proposed OOSD Model
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
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
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