Open Source Software Development Overview u OSSD vs

  • Slides: 30
Download presentation
Open Source Software Development

Open Source Software Development

Overview u OSSD vs PSD u Future

Overview u OSSD vs PSD u Future

Free OSS ? u “Software that gives users rights to run, copy, distribute, change

Free OSS ? u “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” u Freedom to study the code u Freedom to improve

Free as in “Freedom” u Freedom to study the code u Freedom to improve the program u Freedom to run the program anytime, for any purpose on any machine. u Freedom to redistribute. Free Speech not Free Beer

Open Source Software ? u Open source software is Free. OSS that uses any

Open Source Software ? u Open source software is Free. OSS that uses any license approved by the Open Source Initiative (OSI) from their list of approved open source licenses u www. opensource. org/licenses/

Free OSS Licenses u GPL 55% u Apache 8% u BSD 7% u Other

Free OSS Licenses u GPL 55% u Apache 8% u BSD 7% u Other 30%

Free OS Software Apache u BIND u Emacs u Free. BSD u Ghostscript u

Free OS Software Apache u BIND u Emacs u Free. BSD u Ghostscript u Jakarta u Jboss u La. Tex u Linux u My. SQL u Open Office u Perl u Samba u Sendmail u Snort u Squid u

Don’t get confused u Free. Ware u Share. Ware u Public Domain software u

Don’t get confused u Free. Ware u Share. Ware u Public Domain software u PDS + License = Open Source Software

Why OSS ? u Customizable u Improvable u Redistributable. u Runs Everywhere, for everyone.

Why OSS ? u Customizable u Improvable u Redistributable. u Runs Everywhere, for everyone. u Transparency. u Free !!!

Next…. u OSSD vs PSD u Future

Next…. u OSSD vs PSD u Future

Surprising !! How can the technical work of dozens, or even hundreds, of developers

Surprising !! How can the technical work of dozens, or even hundreds, of developers be coordinated without the usual project management apparatus? u How do useful, well-designed products emerge from the individual actions of widely-distributed developers, with minimal central planning and relatively impoverished communication? u

The OSS Developer WAY ! u Discuss the “itch” with a few u Code

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

Basic Open Source Software Development Process Manage Configuration Develop OSS Code Download and Install

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 Requirements. Design

Communication is Informal!! u Community communications – Threaded discussion forums – Email (list servers)

Communication is Informal!! u Community communications – Threaded discussion forums – Email (list servers) – Newsgroups – IRChat/Instant messages – Community digests (“Kernel Cousins”)

People involved

People involved

Some tools

Some tools

OSSD into commercial world u IBM considers it important – Customers ask for it

OSSD into commercial world u IBM considers it important – Customers ask for it – Developing in open community leads to innovation – Develops open standards

Linux today

Linux today

Why is OSSD successful ? u Collaboration is decentralized. Integration is controlled u Too

Why is OSSD successful ? u Collaboration is decentralized. Integration is controlled u Too many resources to fail u So many eyeballs looking at the code u Self-motivated , self-assigned programmers. u Large scale Peer Review u User Driven requirements

Next…. u OSSD vs PSD u Future

Next…. u OSSD vs PSD u Future

It differs a lot ! u Different Paradigms u Cathedral vs Bazaar u To

It differs a lot ! u Different Paradigms u Cathedral vs Bazaar u To name a few – Assignment of work – Change Management – Testing & Bug Fixing

Assignment of work u You assign (Baby Sitter) – Laggard – Sit inside the

Assignment of work u You assign (Baby Sitter) – Laggard – Sit inside the boundary u 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

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

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

Testing and Bug Fixing u PS Industry spends 40% of time on testing and bug fixing. – White box testing – Black box testing u In OSSD it is a community process – Bugzilla – Issue. Tracker

Strengths and Limitations of OSSD u Strengths u Limitations – Cheaper – Runs for

Strengths and Limitations of OSSD u Strengths u Limitations – Cheaper – Runs for Everyone , Everywhere – 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 ? u Scaled projects u Time Factor u Equal Priority to every

PSD better ? u Scaled projects u Time Factor u Equal Priority to every module u Quality

Next…. u OSSD vs PSD u Future

Next…. u OSSD vs PSD u Future

Software Industry is changing u Competition u Client is no longer passive u Have

Software Industry is changing u Competition u Client is no longer passive u Have to deal with drastic changes u Developer takes the centre stage u Short iterations u Dynamic u Distributed

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

OSSD + PSD is it possible u 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 ? u Are bugs left

Questions for you Is OSSD a substitute for PSD ? u Are bugs left unsolved in OSSD? u 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 ? u What happens if everyone becomes an OSS developer ? u Is OSSD geographically distributed PSD ? u