Open Source Software Development

Preview:

DESCRIPTION

Open Source Software Development. Overview. OSS OSSD OSSD vs PSD Future. 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”. - PowerPoint PPT Presentation

Citation preview

Open Source Software Open Source Software DevelopmentDevelopment

OverviewOverview OSSOSS OSSDOSSD OSSD vs PSDOSSD vs PSD FutureFuture

Free OSS ?Free OSS ? ““Software that gives users rights to Software that gives users rights to

run, copy, distribute, change and run, copy, distribute, change and improve it as they see it, without improve it as they see it, without them asking permission from or them asking permission from or make payments to any external make payments to any external group or person”.group or person”.

-Mitre FOSS report 2002-Mitre FOSS report 2002

Free as in “Freedom”Free as in “Freedom” Freedom to study the codeFreedom to study the code Freedom to improve the programFreedom to improve the program Freedom to run the program Freedom to run the program

anytime, for any purpose on any anytime, for any purpose on any machine.machine.

Freedom to redistribute.Freedom to redistribute.Free Speech not Free BeerFree Speech not Free Beer

Open Source Software ?Open Source Software ?

Open source software is FreeOSS Open source software is FreeOSS that uses any license approved by that uses any license approved by the Open Source Initiative (OSI) from the Open Source Initiative (OSI) from their list of approved open source their list of approved open source licenseslicenses

www.opensource.org/licenses/www.opensource.org/licenses/

Free OSS LicensesFree OSS Licenses GPLGPL 55%55% ApacheApache 8%8% BSDBSD 7%7% OtherOther 30%30%

Free OS SoftwareFree OS Software ApacheApache BINDBIND EmacsEmacs FreeBSDFreeBSD GhostscriptGhostscript JakartaJakarta JbossJboss LaTexLaTex

LinuxLinux MySQLMySQL Open OfficeOpen Office PerlPerl SambaSamba SendmailSendmail SnortSnort SquidSquid

Don’t get confusedDon’t get confused FreeWareFreeWare ShareWareShareWare Public Domain softwarePublic Domain software PDS + License = Open Source PDS + License = Open Source

SoftwareSoftware

Why OSS ? Why OSS ? CustomizableCustomizable ImprovableImprovable Redistributable.Redistributable. Runs Everywhere, for everyone.Runs Everywhere, for everyone. Transparency.Transparency. Free !!!Free !!!

Next….Next…. OSSOSS OSSDOSSD OSSD vs PSDOSSD vs PSD FutureFuture

Surprising !!Surprising !! How can the technical work of dozens, or How can the technical work of dozens, or

even hundreds, of developers be even hundreds, of developers be coordinated without the usual project coordinated without the usual project management apparatus? management apparatus?

How do useful, well-designed products How do useful, well-designed products emerge from the individual actions of emerge from the individual actions of widely-distributed developers, with widely-distributed developers, with minimal central planning and relatively minimal central planning and relatively impoverished communication?  impoverished communication? 

The OSS Developer WAY !The OSS Developer WAY ! Discuss the “itch” with a fewDiscuss the “itch” with a few Code Development startsCode Development starts Create website and “announce”.Create website and “announce”. Community evolvesCommunity evolves Functionalities addedFunctionalities added Feedback and Communication Feedback and Communication

flowsflows

Basic Open Source Software Development Basic Open Source Software Development ProcessProcess

Assert Requirements-Design

Develop OSS Code

Manage Configuration

Download and Install

End-Use

Read, Analyze and Redesign

OSS Community Development Process

Communicate Experience

Communication is Informal!!Communication is Informal!! Community communicationsCommunity communications

– Threaded discussion forumsThreaded discussion forums– Email (list servers)Email (list servers)– NewsgroupsNewsgroups– IRChat/Instant messagesIRChat/Instant messages– Community digests (“Kernel Cousins”)Community digests (“Kernel Cousins”)

People involvedPeople involved

Some toolsSome tools

OSSD into commercial worldOSSD into commercial world IBM considers it importantIBM considers it important

– Customers ask for itCustomers ask for it– Developing in open community leads to Developing in open community leads to

innovationinnovation– Develops open standardsDevelops open standards

Linux todayLinux today

Why is OSSD successful ? Why is OSSD successful ? Collaboration is Collaboration is

decentralized.Integration is controlleddecentralized.Integration is controlled Too many resources to failToo many resources to fail So many eyeballs looking at the codeSo many eyeballs looking at the code Self-motivated , self-assigned Self-motivated , self-assigned

programmers.programmers. Large scale Peer ReviewLarge scale Peer Review User Driven requirementsUser Driven requirements

Next….Next…. OSSOSS OSSDOSSD OSSD vs PSDOSSD vs PSD FutureFuture

It differs a lot !It differs a lot ! Different ParadigmsDifferent Paradigms Cathedral vs BazaarCathedral vs Bazaar To name a fewTo name a few

– Assignment of workAssignment of work– Change ManagementChange Management– Testing & Bug FixingTesting & Bug Fixing

Assignment of workAssignment of work

You assign (Baby Sitter)You assign (Baby Sitter)– LaggardLaggard– Sit inside the boundarySit inside the boundary

I pick (Parent)I pick (Parent)– More responsibilityMore responsibility– More careMore care– Avenues for explorationAvenues for exploration– Quality productQuality product

ChangeChange ManagementManagement

Is this a feasible methodology ? Can it be imbibed by PSD ?

Testing and Bug FixingTesting and Bug Fixing PS Industry spends 40% of time on PS Industry spends 40% of time on

testing and bug fixing.testing and bug fixing.– White box testing White box testing – Black box testingBlack box testing

In OSSD it is a community processIn OSSD it is a community process– BugzillaBugzilla– IssueTrackerIssueTracker

Strengths and Limitations of OSSDStrengths and Limitations of OSSD StrengthsStrengths

– CheaperCheaper– Runs for Everyone , Everywhere Runs for Everyone , Everywhere

LimitationsLimitations– Product structure and ComprehensionProduct structure and Comprehension– Effective ways of incorporating requirements of Effective ways of incorporating requirements of

non-developer users?non-developer users?– With larger scale, will coordination needs force With larger scale, will coordination needs force

adoption of “commercial” development adoption of “commercial” development techniques?techniques?

– How to collaborate on “big” features?How to collaborate on “big” features?– How to respond to unanticipated eventsHow to respond to unanticipated events

PSD better ?PSD better ? Scaled projectsScaled projects Time FactorTime Factor Equal Priority to every moduleEqual Priority to every module Quality Quality

Next….Next…. OSSOSS OSSDOSSD OSSD vs PSDOSSD vs PSD FutureFuture

Software Industry is changingSoftware Industry is changing CompetitionCompetition Client is no longer passiveClient is no longer passive Have to deal with drastic changesHave to deal with drastic changes Developer takes the centre stageDeveloper takes the centre stage Short iterationsShort iterations Dynamic Dynamic DistributedDistributed

OSSD + PSD is it possibleOSSD + PSD is it possible Can XXSD evolve from OSSD and Can XXSD evolve from OSSD and

PSD which enablesPSD which enables– Managing of distributed projectsManaging of distributed projects– Addressing Dynamism of Software Addressing Dynamism of Software

IndustryIndustry– Architecture where different Architecture where different

organizations can work on a common organizations can work on a common problem for mutual benefits.problem for mutual benefits.

– Providing quality softwareProviding quality software

Questions for youQuestions for you Is OSSD a substitute for PSD ?Is OSSD a substitute for PSD ? Are bugs left unsolved in OSSD?Are bugs left unsolved in OSSD? OSS is where some person or a small OSS is where some person or a small

group contributes a major part and then group contributes a major part and then people come in and start contributions. people come in and start contributions. How long would such a model last ? How long would such a model last ?

What happens if everyone becomes an What happens if everyone becomes an OSS developer ?OSS developer ?

Is OSSD geographically distributed PSD ?Is OSSD geographically distributed PSD ?

Recommended