350 likes | 792 Vues
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”.
E N D
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”. -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%
Apache BIND Emacs FreeBSD Ghostscript Jakarta Jboss LaTex Linux MySQL Open Office Perl Samba Sendmail Snort Squid Free OS Software
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 vs PSD • Future
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 Assert Requirements-Design End-Use Read, Analyze and Redesign OSS Community Development Process
Communication is Informal!! • Community communications • Threaded discussion forums • Email (list servers) • Newsgroups • IRChat/Instant messages • Community digests (“Kernel Cousins”)
People involved Reviewers Bug Report and Fix Functionalities Core
OSSD into commercial world • IBM considers it important • Customers ask for it • Developing in open community leads to innovation • Develops open standards
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 vs PSD • Future
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
ChangeManagement 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 vs PSD • Future
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 ?