Open Source Software Development

advertisement
Open Source Software
Development
Overview
 OSS
 OSSD
 OSSD
 Future
vs PSD
Free OSS ?
 “Software
that gives users rights to
run, copy, distribute, change and
improve it as they see it, without
them asking permission from or
make payments to any external
group or person”.
-Mitre FOSS report 2002
Free as in “Freedom”
 Freedom
to study the code
 Freedom to improve the program
 Freedom to run the program
anytime, for any purpose on any
machine.
 Freedom to redistribute.
Free Speech not Free Beer
Open Source Software ?
 Open
source software is FreeOSS
that uses any license approved by
the Open Source Initiative (OSI)
from their list of approved open
source licenses
 www.opensource.org/licenses/
Free OSS Licenses
 GPL
55%
 Apache
8%
 BSD
7%
 Other 30%
Free OS Software
Apache
 BIND
 Emacs
 FreeBSD
 Ghostscript
 Jakarta
 Jboss
 LaTex

Linux
 MySQL
 Open Office
 Perl
 Samba
 Sendmail
 Snort
 Squid

Don’t get confused
 FreeWare
 ShareWare
 Public
Domain software
 PDS + License = Open Source
Software
Why OSS ?
 Customizable
 Improvable
 Redistributable.
 Runs
Everywhere, for everyone.
 Transparency.
 Free !!!
Next….
 OSS
 OSSD
 OSSD
 Future
vs PSD
Surprising !!
How can the technical work of dozens, or
even hundreds, of developers be
coordinated without the usual project
management apparatus?
 How do useful, well-designed products
emerge from the individual actions of
widely-distributed developers, with
minimal central planning and relatively
impoverished communication?

The OSS Developer WAY !
 Discuss
the “itch” with a few
 Code Development starts
 Create website and “announce”.
 Community evolves
 Functionalities added
 Feedback and Communication
flows
Basic Open Source Software Development
Process
Manage
Configuration
Develop OSS
Code
Download and
Install
Communicate
Experience
End-Use
Read, Analyze
and Redesign
OSS Community Development Process
Assert
RequirementsDesign
Communication is Informal!!
 Community
communications
– Threaded discussion forums
– Email (list servers)
– Newsgroups
– IRChat/Instant messages
– Community digests (“Kernel Cousins”)
People involved
Some tools
OSSD into commercial world
 IBM
considers it important
– Customers ask for it
– Developing in open community leads to
innovation
– Develops open standards
Linux today
Why is OSSD successful ?
 Collaboration
is
decentralized.Integration is
controlled
 Too many resources to fail
 So many eyeballs looking at the code
 Self-motivated , self-assigned
programmers.
 Large scale Peer Review
 User Driven requirements
Next….
 OSS
 OSSD
 OSSD
 Future
vs PSD
It differs a lot !
 Different
Paradigms
 Cathedral vs Bazaar
 To name a few
– Assignment of work
– Change Management
– Testing & Bug Fixing
Assignment of work
 You
assign (Baby Sitter)
– Laggard
– Sit inside the boundary
I
pick (Parent)
– More responsibility
– More care
– Avenues for exploration
– Quality product
Change Management
Is this a feasible methodology ? Can it be imbibed
by PSD ?
Testing and Bug Fixing
 PS
Industry spends 40% of time on
testing and bug fixing.
– White box testing
– Black box testing
 In
OSSD it is a community process
– Bugzilla
– IssueTracker
Strengths and Limitations of OSSD

Strengths
– Cheaper
– Runs for Everyone , Everywhere

Limitations
– Product structure and Comprehension
– Effective ways of incorporating requirements of
non-developer users?
– With larger scale, will coordination needs force
adoption of “commercial” development
techniques?
– How to collaborate on “big” features?
– How to respond to unanticipated events
PSD better ?
 Scaled
projects
 Time Factor
 Equal Priority to every module
 Quality
Next….
 OSS
 OSSD
 OSSD
 Future
vs PSD
Software Industry is changing
 Competition
 Client
is no longer passive
 Have to deal with drastic changes
 Developer takes the centre stage
 Short iterations
 Dynamic
 Distributed
OSSD + PSD is it possible
 Can
XXSD evolve from OSSD and
PSD which enables
– Managing of distributed projects
– Addressing Dynamism of Software
Industry
– Architecture where different
organizations can work on a common
problem for mutual benefits.
– Providing quality software
Questions for you
Is OSSD a substitute for PSD ?
 Are bugs left unsolved in OSSD?
 OSS is where some person or a small
group contributes a major part and then
people come in and start contributions.
How long would such a model last ?
 What happens if everyone becomes an
OSS developer ?
 Is OSSD geographically distributed PSD ?

Download