Upload
shavonne-marion-short
View
220
Download
0
Tags:
Embed Size (px)
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 decentralized.Integration is controlledcontrolled
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 ?