30
Open Source Open Source Software Software Development Development

Open Source Software Development

  • Upload
    hall

  • View
    21

  • Download
    3

Embed Size (px)

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

Page 1: Open Source Software Development

Open Source Software Open Source Software DevelopmentDevelopment

Page 2: Open Source Software Development

OverviewOverview OSSOSS OSSDOSSD OSSD vs PSDOSSD vs PSD FutureFuture

Page 3: Open Source Software Development

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

Page 4: Open Source Software Development

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

Page 5: Open Source Software Development

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/

Page 6: Open Source Software Development

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

Page 7: Open Source Software Development

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

LinuxLinux MySQLMySQL Open OfficeOpen Office PerlPerl SambaSamba SendmailSendmail SnortSnort SquidSquid

Page 8: Open Source Software Development

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

SoftwareSoftware

Page 9: Open Source Software Development

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

Page 10: Open Source Software Development

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

Page 11: Open Source Software Development

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? 

Page 12: Open Source Software Development

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

Page 13: Open Source Software Development

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

Page 14: Open Source Software Development

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”)

Page 15: Open Source Software Development

People involvedPeople involved

Page 16: Open Source Software Development

Some toolsSome tools

Page 17: Open Source Software Development

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

Page 18: Open Source Software Development

Linux todayLinux today

Page 19: Open Source Software Development

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

Page 20: Open Source Software Development

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

Page 21: Open Source Software Development

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

Page 22: Open Source Software Development

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

Page 23: Open Source Software Development

ChangeChange ManagementManagement

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

Page 24: Open Source Software Development

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

Page 25: Open Source Software Development

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

Page 26: Open Source Software Development

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

Page 27: Open Source Software Development

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

Page 28: Open Source Software Development

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

Page 29: Open Source Software Development

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

Page 30: Open Source Software Development

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 ?